diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 306ac4d87c7..6983aafa2f8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,80 +9,83 @@ /src/pages/console/ @dbanksdesign @aws-amplify/documentation-team #Analytics -/src/**/**/analytics @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/analytics @hdworld11 @dbanksdesign @aws-amplify/documentation-team #Auth -/src/**/**/auth @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/**/authz @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/**/authentication @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/auth @josefaidt @aws-amplify/documentation-team +/src/**/**/authz @josefaidt @renebrandel @aws-amplify/documentation-team +/src/**/**/authentication @renebrandel @josefaidt @aws-amplify/documentation-team #Client Configuration -/src/**/**/client-configuration @renebrandel @dbanksdesign @hdworld11 @aws-amplify/documentation-team -/src/**/**/configuration @renebrandel @dbanksdesign @hdworld11 @aws-amplify/documentation-team +/src/**/**/client-configuration @renebrandel @josefaidt @hdworld11 @aws-amplify/documentation-team +/src/**/**/configuration @renebrandel @josefaidt @hdworld11 @aws-amplify/documentation-team #Common -/src/fragments/common @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/fragments/lib/common @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/common @renebrandel @hdworld11 @josefaidt @dbanksdesign @aws-amplify/documentation-team +/src/fragments/lib/common @renebrandel @hdworld11 @josefaidt @dbanksdesign @aws-amplify/documentation-team #Data -/src/**/**/datastore @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/**/data @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/datastore @renebrandel @aws-amplify/documentation-team +/src/**/**/data @renebrandel @aws-amplify/documentation-team #Debugging -/src/fragments/**/debugging @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/**/debugging @josefaidt @aws-amplify/documentation-team #Geo -/src/**/**/geo @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/geo @hdworld11 @aws-amplify/documentation-team #Getting Started -/src/**/start @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/start @renebrandel @hdworld11 @josefaidt @dbanksdesign @aws-amplify/documentation-team #GraphQL API -/src/**/**/api-graphql @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/**/graphqlapi @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/cli-legacy/graphql-transformer @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/fragments/sdk/api/**/graphql.mdx @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/api-graphql @renebrandel @aws-amplify/documentation-team +/src/**/**/graphqlapi @renebrandel @aws-amplify/documentation-team +/src/**/cli-legacy/graphql-transformer @renebrandel @aws-amplify/documentation-team +/src/fragments/sdk/api/**/graphql.mdx @renebrandel @aws-amplify/documentation-team #In-App Messaging -/src/**/**/in-app-messaging @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/in-app-messaging @hdworld11 @aws-amplify/documentation-team #Info -/src/fragments/**/info @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/**/info @renebrandel @hdworld11 @josefaidt @dbanksdesign @aws-amplify/documentation-team #Interactions -/src/**/**/interactions @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/interactions @josefaidt @aws-amplify/documentation-team #Logging -/src/fragments/lib/logging @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/lib/logging @hdworld11 @aws-amplify/documentation-team #Predictions -/src/**/**/predictions @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/predictions @hdworld11 @dbanksdesign @aws-amplify/documentation-team #Project Setup -/src/**/**/project-setup @renebrandel @dbanksdesign @hdworld11 @aws-amplify/documentation-team +/src/**/**/project-setup @renebrandel @josefaidt @dbanksdesign @hdworld11 @aws-amplify/documentation-team #PubSub -/src/**/**/pubsub @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/pubsub @renebrandel @aws-amplify/documentation-team #Push Notifications -/src/**/**/push-notifications @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/push-notifications @hdworld11 @dbanksdesign @aws-amplify/documentation-team #Rest API -/src/**/**/api-rest @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/**/**/restapi @renebrandel @dbanksdesign @aws-amplify/documentation-team -/src/fragments/sdk/api/**/rest.mdx @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/api-rest @josefaidt @aws-amplify/documentation-team +/src/**/**/restapi @josefaidt @aws-amplify/documentation-team +/src/fragments/sdk/api/**/rest.mdx @josefaidt @aws-amplify/documentation-team #SSR -/src/fragments/lib/ssr @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/lib/ssr @renebrandel @josefaidt @dbanksdesign @aws-amplify/documentation-team #Storage /src/**/**/storage @hdworld11 @aws-amplify/documentation-team #Troubleshooting -/src/fragments/lib/troubleshooting @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/fragments/lib/troubleshooting @josefaidt @aws-amplify/documentation-team #Utilities -/src/**/**/utilities @renebrandel @dbanksdesign @aws-amplify/documentation-team +/src/**/**/utilities @josefaidt @aws-amplify/documentation-team + +#Gen2 +/src/pages/gen2 @ykethan @jay2113 @chrisbonifacio @aspittel @renebrandel @swaminator @dbanksdesign @josefaidt @ErikCH @arundna @hdworld11 #Docs Engineering /src/components @aws-amplify/documentation-team diff --git a/next.config.mjs b/next.config.mjs index 29c78652869..e52dcd20331 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -22,8 +22,14 @@ const nextJSConfig = () => { let nextConfig = withMDX({ output: 'export', distDir: 'client/www/next-build', + generateBuildId: async () => { + return 'amplify-docs'; + }, env: { BUILD_ENV: process.env.BUILD_ENV, + ALGOLIA_APP_ID: process.env.ALGOLIA_APP_ID, + ALGOLIA_API_KEY: process.env.ALGOLIA_API_KEY, + ALGOLIA_INDEX_NAME: process.env.ALGOLIA_INDEX_NAME, nextImageExportOptimizer_imageFolderPath: 'public', nextImageExportOptimizer_exportFolderPath: 'out', nextImageExportOptimizer_quality: '75', diff --git a/package.json b/package.json index 23e85d5a6e0..73b052d2cd7 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "lint-staged": "^14.0.0", "next-bundle-analyzer": "^0.6.7", "prettier": "^3.0.3", - "puppeteer": "^20.8.2", + "puppeteer": "^22.2.0", "rehype": "^11.0.0", "rehype-img-size": "^1.0.1", "rehype-mdx-code-props": "^2.0.0", @@ -88,14 +88,14 @@ "aws-cdk-lib": "2.80.0", "prismjs": "^1.27.0", "@adobe/css-tools": "4.3.2", - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "ip": "2.0.1", "sharp": "0.32.6" - }, + }, "scripts": { "clean": "rm -rf node_modules yarn.lock", "refresh": "yarn clean && yarn", - "test": "jest", + "test": "jest --coverage", "dev": "yarn prebuild && next dev", "spellcheck": "cspell \"src/**/*.mdx\" --no-progress", "spellcheck-diff": "git diff --name-only --cached | awk \"/src.*\\.mdx/{print}\" | npx cspell --no-must-find-files --file-list stdin", diff --git a/public/images/gen2/getting-started/console4.png b/public/images/gen2/getting-started/console4.png deleted file mode 100644 index 8949b326825..00000000000 Binary files a/public/images/gen2/getting-started/console4.png and /dev/null differ diff --git a/redirects.json b/redirects.json index 200b0c0098e..a4677090854 100644 --- a/redirects.json +++ b/redirects.json @@ -1,8054 +1,12304 @@ [ { - "source":"/lib/ssr/ssr/q/platform/js/", - "target":"/javascript/prev/build-a-backend/server-side-rendering/", - "status":"301", - "condition":null + "source": "/lib/ssr/ssr/q/platform/js/", + "target": "/javascript/prev/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/cli/function/function/", - "target":"/javascript/build-a-backend/functions/set-up-function/", - "status":"301", - "condition":null + "source": "/cli/function/function/", + "target": "/javascript/build-a-backend/functions/set-up-function/", + "status": "301", + "condition": null }, { - "source":"/lib/ssr/ssr/", - "target":"/javascript/prev/build-a-backend/server-side-rendering/", - "status":"301", - "condition":null + "source": "/lib/ssr/ssr/", + "target": "/javascript/prev/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/cli/plugins/", - "target":"/javascript/tools/cli/plugins/", - "status":"301", - "condition":null + "source": "/cli/plugins/", + "target": "/javascript/tools/cli/plugins/", + "status": "301", + "condition": null }, { - "source":"/<*>", - "target":"/404/index.html", - "status":"404-200", - "condition":null + "source": "/<*>", + "target": "/404/index.html", + "status": "404-200", + "condition": null }, { - "source":"/cli/usage/tags/", - "target":"/javascript/tools/cli/project/tags/", - "status":"301", - "condition":null + "source": "/cli/usage/tags/", + "target": "/javascript/tools/cli/project/tags/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/permissions-boundary/", - "target":"/javascript/tools/cli/project/permissions-boundary/", - "status":"301", - "condition":null + "source": "/cli/usage/permissions-boundary/", + "target": "/javascript/tools/cli/project/permissions-boundary/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/command-hooks/", - "target":"/javascript/tools/cli/project/command-hooks/", - "status":"301", - "condition":null + "source": "/cli/usage/command-hooks/", + "target": "/javascript/tools/cli/project/command-hooks/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/monorepo/", - "target":"/javascript/tools/cli/project/monorepo/", - "status":"301", - "condition":null + "source": "/cli/usage/monorepo/", + "target": "/javascript/tools/cli/project/monorepo/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/iam/", - "target":"/javascript/tools/cli/reference/iam/", - "status":"301", - "condition":null + "source": "/cli/usage/iam/", + "target": "/javascript/tools/cli/reference/iam/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/iam-roles-mfa/", - "target":"/javascript/tools/cli/reference/iam-roles-mfa/", - "status":"301", - "condition":null + "source": "/cli/usage/iam-roles-mfa/", + "target": "/javascript/tools/cli/reference/iam-roles-mfa/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/customcf/", - "target":"/javascript/tools/cli/custom/cloudformation/", - "status":"301", - "condition":null + "source": "/cli/usage/customcf/", + "target": "/javascript/tools/cli/custom/cloudformation/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/upgrade/", - "target":"/javascript/tools/cli/start/key-workflows/#upgrade-amplify-cli", - "status":"301", - "condition":null + "source": "/cli/usage/upgrade/", + "target": "/javascript/tools/cli/start/key-workflows/#upgrade-amplify-cli", + "status": "301", + "condition": null }, { - "source":"/cli/usage/uninnstall/", - "target":"/javascript/tools/cli/start/key-workflows/#upgrade-amplify-cli", - "status":"301", - "condition":null + "source": "/cli/usage/uninnstall/", + "target": "/javascript/tools/cli/start/key-workflows/#upgrade-amplify-cli", + "status": "301", + "condition": null }, { - "source":"/cli/graphql-transformer/<*>", - "target":"/javascript/tools/cli-legacy/auth-directive/", - "status":"301", - "condition":null + "source": "/cli/graphql-transformer/<*>", + "target": "/javascript/tools/cli-legacy/auth-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/", - "target":"/javascript/tools/cli/", - "status":"301", - "condition":null + "source": "/cli-legacy/", + "target": "/javascript/tools/cli/", + "status": "301", + "condition": null }, { - "source":"/console/adminui/intro/", - "target":"/javascript/tools/console/", - "status":"301", - "condition":null + "source": "/console/adminui/intro/", + "target": "/javascript/tools/console/", + "status": "301", + "condition": null }, { - "source":"/ui-legacy/interactions/chatbot/<*>", - "target":"https://ui.docs.amplify.aws/angular/getting-started/migration#update-and-usage-1", - "status":"301", - "condition":null + "source": "/ui-legacy/interactions/chatbot/<*>", + "target": "https://ui.docs.amplify.aws/angular/getting-started/migration#update-and-usage-1", + "status": "301", + "condition": null }, { - "source":"/ui/customization/theming/q/framework/react/", - "target":"https://ui.docs.amplify.aws/theming", - "status":"301", - "condition":null + "source": "/ui/customization/theming/q/framework/react/", + "target": "https://ui.docs.amplify.aws/theming", + "status": "301", + "condition": null }, { - "source":"/cli/hosting/", - "target":"/javascript/tools/cli/hosting/", - "status":"302", - "condition":null + "source": "/cli/hosting/", + "target": "/javascript/tools/cli/hosting/", + "status": "302", + "condition": null }, { - "source":"/ui/storage/s3-image-picker/q/framework//", - "target":"https://ui.docs.amplify.aws/react/connected-components/storage/storagemanager", - "status":"302", - "condition":null + "source": "/ui/storage/s3-image-picker/q/framework//", + "target": "https://ui.docs.amplify.aws/react/connected-components/storage/storagemanager", + "status": "302", + "condition": null }, { - "source":"/cli/usage/uninstall/", - "target":"/javascript/tools/cli/start/key-workflows/#uninstall-amplify-cli", - "status":"302", - "condition":null + "source": "/cli/usage/uninstall/", + "target": "/javascript/tools/cli/start/key-workflows/#uninstall-amplify-cli", + "status": "302", + "condition": null }, { - "source":"/guides/location-service/setting-up-your-app/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/guides/location-service/setting-up-your-app/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null }, { - "source":"/guides/location-service/setting-up-your-app/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/guides/location-service/setting-up-your-app/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null }, { - "source":"/guides/location-service/setting-up-your-app/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/guides/location-service/setting-up-your-app/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null }, { - "source":"/guides/location-service/tracking-device-location/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/guides/location-service/tracking-device-location/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null }, { - "source":"/guides/location-service/tracking-device-location/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/guides/location-service/tracking-device-location/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social_signin_web_ui/q/platform/ios/", - "target":"/swift/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/auth/social_signin_web_ui/q/platform/ios/", + "target": "/swift/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social_signin_web_ui/q/platform/android/", - "target":"/android/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/auth/social_signin_web_ui/q/platform/android/", + "target": "/android/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social_signin_web_ui/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/auth/social_signin_web_ui/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/ionic/", - "target":"/javascript/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/start/q/integration/ionic/", + "target": "/javascript/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/ionic/", - "target":"/javascript/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/ionic/", + "target": "/javascript/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/prerequisites/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", - "status":"301", - "condition":null + "source": "/lib/in-app-messaging/prerequisites/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "status": "301", + "condition": null }, { - "source":"/lib/devpreview/getting-started/q/platform/android/", - "target":"/android/start/project-setup/upgrade-guide", - "status":"301", - "condition":null + "source": "/lib/devpreview/getting-started/q/platform/android/", + "target": "/android/start/project-setup/upgrade-guide", + "status": "301", + "condition": null }, { - "source":"/lib/devpreview/getting-started/q/platform/ios/", - "target":"/swift/start/project-setup/upgrade-guide", - "status":"301", - "condition":null + "source": "/lib/devpreview/getting-started/q/platform/ios/", + "target": "/swift/start/project-setup/upgrade-guide", + "status": "301", + "condition": null }, { - "source":"/cli/migration/lambda-node-version-update/", - "target":"/javascript/build-a-backend/functions/configure-options/#updating-the-runtime", - "status":"301", - "condition":null + "source": "/cli/migration/lambda-node-version-update/", + "target": "/javascript/build-a-backend/functions/configure-options/#updating-the-runtime", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/customize/q/platform/js/", - "target":"https://ui.docs.amplify.aws/react/connected-components/in-app-messaging", - "status":"301", - "condition":null + "source": "/lib/in-app-messaging/customize/q/platform/js/", + "target": "https://ui.docs.amplify.aws/react/connected-components/in-app-messaging", + "status": "301", + "condition": null }, { - "source":"/guides/storage/transfer-acceleration/q/platform/js/", - "target":"/javascript/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/guides/storage/transfer-acceleration/q/platform/js/", + "target": "/javascript/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/customui/q/platform/js/", - "target":"https://ui.docs.amplify.aws/react/connected-components/authenticator", - "status":"301", - "condition":null + "source": "/lib/auth/customui/q/platform/js/", + "target": "https://ui.docs.amplify.aws/react/connected-components/authenticator", + "status": "301", + "condition": null }, { - "source":"/lib/auth/customui/q/platform/react-native/", - "target":"https://ui.docs.amplify.aws/react-native/connected-components/authenticator", - "status":"301", - "condition":null + "source": "/lib/auth/customui/q/platform/react-native/", + "target": "https://ui.docs.amplify.aws/react-native/connected-components/authenticator", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/create-or-re-use-existing-backend/q/platform/js", - "target":"/javascript/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/create-or-re-use-existing-backend/q/platform/js", + "target": "/javascript/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/console/uibuilder/textfieldtoarea/", - "target":"/javascript/build-ui/uibuilder/#figma-file-changelog", - "status":"301", - "condition":null + "source": "/console/uibuilder/textfieldtoarea/", + "target": "/javascript/build-ui/uibuilder/#figma-file-changelog", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/offline-data-access-and-conflict-resolution/", - "target":"/javascript/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/cli/graphql/offline-data-access-and-conflict-resolution/", + "target": "/javascript/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null }, { - "source":"/console/storage/develop", - "target":"/javascript/tools/console/storage/file-browser/", - "status":"301", - "condition":null + "source": "/console/storage/develop", + "target": "/javascript/tools/console/storage/file-browser/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/add-custom-resources", - "target":"/javascript/tools/cli/custom/cdk/", - "status":"301", - "condition":null + "source": "/cli/usage/add-custom-resources", + "target": "/javascript/tools/cli/custom/cdk/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/overview/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"302", - "condition":null + "source": "/lib/push-notifications/overview/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "302", + "condition": null }, { - "source":"/lib/push-notifications/working-with-api/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"302", - "condition":null + "source": "/lib/push-notifications/working-with-api/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "302", + "condition": null }, { - "source":"/ui/<*>", - "target":"https://ui.docs.amplify.aws/", - "status":"301", - "condition":null + "source": "/ui/<*>", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/ui-legacy/<*>", - "target":"https://ui.docs.amplify.aws/", - "status":"301", - "condition":null + "source": "/ui-legacy/<*>", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/create-or-re-use-existing-backend/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/create-or-re-use-existing-backend/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/overview/q/platform/js/", - "target":"/react-native/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"301", - "condition":null + "source": "/lib/push-notifications/overview/q/platform/js/", + "target": "/react-native/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null }, { - "source":"/cli/geo/geofencing/", - "target":"/javascript/build-a-backend/more-features/geo/configure-geofencing/", - "status":"301", - "condition":null + "source": "/cli/geo/geofencing/", + "target": "/javascript/build-a-backend/more-features/geo/configure-geofencing/", + "status": "301", + "condition": null }, { - "source":"/cli/geo/maps/", - "target":"/javascript/build-a-backend/more-features/geo/configure-maps/", - "status":"301", - "condition":null + "source": "/cli/geo/maps/", + "target": "/javascript/build-a-backend/more-features/geo/configure-maps/", + "status": "301", + "condition": null }, { - "source":"/cli/geo/search/", - "target":"/javascript/build-a-backend/more-features/geo/configure-location-search/", - "status":"301", - "condition":null + "source": "/cli/geo/search/", + "target": "/javascript/build-a-backend/more-features/geo/configure-location-search/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/info/app-uninstall/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/app-uninstall/", - "status":"301", - "condition":null + "source": "/lib-v1/info/app-uninstall/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/app-uninstall/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/directives-reference/", - "target":"/javascript/tools/cli/graphqlapi/directives-reference/", - "status":"301", - "condition":null + "source": "/cli/graphql/directives-reference/", + "target": "/javascript/tools/cli/graphqlapi/directives-reference/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/configureaccess/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/configureaccess/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/configureaccess/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/configureaccess/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/download/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/download/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/download/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/download/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/download/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/download/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/existing-resources/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/existing-resources/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/existing-resources/q/platform/js/", - "target":"/javascript/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/existing-resources/q/platform/js/", + "target": "/javascript/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/list/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/list/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/list/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/list/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/overview/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/overview/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/overview/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/overview/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/remove/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/remove/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/remove/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/remove/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/triggers/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/triggers/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/triggers/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/triggers/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/upload/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/upload/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/upload/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/upload/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/manageusers/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/manage-user-profile/", - "status":"301", - "condition":null + "source": "/lib/auth/manageusers/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/manage-user-profile/", + "status": "301", + "condition": null }, { - "source":"/guides/functions/graphql-from-lambda/q/platform/android/", - "target":"/android/build-a-backend/functions/", - "status":"301", - "condition":null + "source": "/guides/functions/graphql-from-lambda/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null }, { - "source":"/guides/functions/graphql-server-in-lambda/q/platform/android/", - "target":"/android/build-a-backend/functions/", - "status":"301", - "condition":null + "source": "/guides/functions/graphql-server-in-lambda/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/advanced-workflows/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/advanced-workflows/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/advanced-workflows/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/advanced-workflows/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null }, { - "source":"/lib/q/platform/android/", - "target":"/android/tools/libraries/", - "status":"301", - "condition":null + "source": "/lib/q/platform/android/", + "target": "/android/tools/libraries/", + "status": "301", + "condition": null }, { - "source":"/lib/q/platform/ios/", - "target":"/swift/tools/libraries/", - "status":"301", - "condition":null + "source": "/lib/q/platform/ios/", + "target": "/swift/tools/libraries/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/configureaccess/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib/storage/configureaccess/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/configureaccess/q/platform/js/", - "target":"/javascript/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib/storage/configureaccess/q/platform/js/", + "target": "/javascript/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/copy/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/copy/", - "status":"301", - "condition":null + "source": "/lib/storage/copy/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/copy/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/copy/q/platform/js/", - "target":"/javascript/build-a-backend/storage/copy/", - "status":"301", - "condition":null + "source": "/lib/storage/copy/q/platform/js/", + "target": "/javascript/build-a-backend/storage/copy/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/download/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib/storage/download/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/download/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/download/q/platform/js/", - "target":"/javascript/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib/storage/download/q/platform/js/", + "target": "/javascript/build-a-backend/storage/download/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib/storage/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/existing-resources/q/platform/js/", - "target":"/javascript/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib/storage/existing-resources/q/platform/js/", + "target": "/javascript/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/get-properties/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/get-properties/", - "status":"301", - "condition":null + "source": "/lib/storage/get-properties/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/get-properties/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/get-properties/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/get-properties/", - "status":"301", - "condition":null + "source": "/lib/storage/get-properties/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/get-properties/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/list/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib/storage/list/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/list/q/platform/js/", - "target":"/javascript/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib/storage/list/q/platform/js/", + "target": "/javascript/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/overview/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/overview/q/platform/js/", - "target":"/javascript/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/js/", + "target": "/javascript/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/remove/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib/storage/remove/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/remove/q/platform/js/", - "target":"/javascript/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib/storage/remove/q/platform/js/", + "target": "/javascript/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/transfer-acceleration/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/lib/storage/transfer-acceleration/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/transfer-acceleration/q/platform/js/", - "target":"/javascript/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/lib/storage/transfer-acceleration/q/platform/js/", + "target": "/javascript/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/triggers/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/triggers/q/platform/js/", - "target":"/javascript/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/q/platform/js/", + "target": "/javascript/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/upload/q/platform/flutter/", - "target":"/flutter/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib/storage/upload/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/upload/q/platform/js/", - "target":"/javascript/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib/storage/upload/q/platform/js/", + "target": "/javascript/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/auth/", - "target":"/javascript/tools/cli-legacy/auth-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/auth/", + "target": "/javascript/tools/cli-legacy/auth-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/codegen/", - "target":"/javascript/tools/cli-legacy/client-codegen/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/codegen/", + "target": "/javascript/tools/cli-legacy/client-codegen/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/config-params/", - "target":"/javascript/tools/cli-legacy/config-params/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/config-params/", + "target": "/javascript/tools/cli-legacy/config-params/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/connection/", - "target":"/javascript/tools/cli-legacy/connection-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/connection/", + "target": "/javascript/tools/cli-legacy/connection-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/dataaccess/", - "target":"/javascript/tools/cli-legacy/data-access-patterns/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/dataaccess/", + "target": "/javascript/tools/cli-legacy/data-access-patterns/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/directives/", - "target":"/javascript/tools/cli-legacy/directives/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/directives/", + "target": "/javascript/tools/cli-legacy/directives/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/examples/", - "target":"/javascript/tools/cli-legacy/examples/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/examples/", + "target": "/javascript/tools/cli-legacy/examples/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/function/", - "target":"/javascript/tools/cli-legacy/function-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/function/", + "target": "/javascript/tools/cli-legacy/function-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/http/", - "target":"/javascript/tools/cli-legacy/http-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/http/", + "target": "/javascript/tools/cli-legacy/http-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/key/", - "target":"/javascript/tools/cli-legacy/key-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/key/", + "target": "/javascript/tools/cli-legacy/key-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/model/", - "target":"/javascript/tools/cli-legacy/model-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/model/", + "target": "/javascript/tools/cli-legacy/model-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/overview/", - "target":"/javascript/tools/cli-legacy/overview/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/overview/", + "target": "/javascript/tools/cli-legacy/overview/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/predictions/", - "target":"/javascript/tools/cli-legacy/predictions-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/predictions/", + "target": "/javascript/tools/cli-legacy/predictions-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/relational/", - "target":"/javascript/tools/cli-legacy/relational-databases/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/relational/", + "target": "/javascript/tools/cli-legacy/relational-databases/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/resolvers/", - "target":"/javascript/tools/cli-legacy/overwrite-customize-resolvers/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/resolvers/", + "target": "/javascript/tools/cli-legacy/overwrite-customize-resolvers/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/searchable/", - "target":"/javascript/tools/cli-legacy/searchable-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/searchable/", + "target": "/javascript/tools/cli-legacy/searchable-directive/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/storage/", - "target":"/javascript/tools/cli-legacy/storage/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/storage/", + "target": "/javascript/tools/cli-legacy/storage/", + "status": "301", + "condition": null }, { - "source":"/cli-legacy/graphql-transformer/versioned/", - "target":"/javascript/tools/cli-legacy/versioned-directive/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-transformer/versioned/", + "target": "/javascript/tools/cli-legacy/versioned-directive/", + "status": "301", + "condition": null }, { - "source":"/cli/", - "target":"/javascript/tools/cli/", - "status":"301", - "condition":null + "source": "/cli/", + "target": "/javascript/tools/cli/", + "status": "301", + "condition": null }, { - "source":"/cli/auth/admin/", - "target":"/javascript/build-a-backend/auth/admin-actions/", - "status":"301", - "condition":null + "source": "/cli/auth/admin/", + "target": "/javascript/build-a-backend/auth/admin-actions/", + "status": "301", + "condition": null }, { - "source":"/cli/auth/groups/", - "target":"/javascript/build-a-backend/auth/user-group-management/", - "status":"301", - "condition":null + "source": "/cli/auth/groups/", + "target": "/javascript/build-a-backend/auth/user-group-management/", + "status": "301", + "condition": null }, { - "source":"/cli/auth/import/", - "target":"/javascript/build-a-backend/auth/import-existing-resources/", - "status":"301", - "condition":null + "source": "/cli/auth/import/", + "target": "/javascript/build-a-backend/auth/import-existing-resources/", + "status": "301", + "condition": null }, { - "source":"/cli/auth/override/", - "target":"/javascript/build-a-backend/auth/override-cognito/", - "status":"301", - "condition":null + "source": "/cli/auth/override/", + "target": "/javascript/build-a-backend/auth/override-cognito/", + "status": "301", + "condition": null }, { - "source":"/cli/auth/overview/", - "target":"/javascript/build-a-backend/auth/set-up-auth/", - "status":"301", - "condition":null + "source": "/cli/auth/overview/", + "target": "/javascript/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null }, { - "source":"/cli/commands/add/", - "target":"/javascript/tools/cli/commands/#add", - "status":"301", - "condition":null + "source": "/cli/commands/add/", + "target": "/javascript/tools/cli/commands/#add", + "status": "301", + "condition": null }, { - "source":"/cli/commands/analytics/", - "target":"/javascript/tools/cli/commands/#analytics", - "status":"301", - "condition":null + "source": "/cli/commands/analytics/", + "target": "/javascript/tools/cli/commands/#analytics", + "status": "301", + "condition": null }, { - "source":"/cli/commands/api/", - "target":"/javascript/tools/cli/commands/#api", - "status":"301", - "condition":null + "source": "/cli/commands/api/", + "target": "/javascript/tools/cli/commands/#api", + "status": "301", + "condition": null }, { - "source":"/cli/commands/auth/", - "target":"/javascript/tools/cli/commands/#auth", - "status":"301", - "condition":null + "source": "/cli/commands/auth/", + "target": "/javascript/tools/cli/commands/#auth", + "status": "301", + "condition": null }, { - "source":"/cli/commands/build/", - "target":"/javascript/tools/cli/commands/#build", - "status":"301", - "condition":null + "source": "/cli/commands/build/", + "target": "/javascript/tools/cli/commands/#build", + "status": "301", + "condition": null }, { - "source":"/cli/commands/codegen/", - "target":"/javascript/tools/cli/commands/#codegen", - "status":"301", - "condition":null + "source": "/cli/commands/codegen/", + "target": "/javascript/tools/cli/commands/#codegen", + "status": "301", + "condition": null }, { - "source":"/cli/commands/configure/", - "target":"/javascript/tools/cli/commands/#configure", - "status":"301", - "condition":null + "source": "/cli/commands/configure/", + "target": "/javascript/tools/cli/commands/#configure", + "status": "301", + "condition": null }, { - "source":"/cli/commands/console/", - "target":"/javascript/tools/cli/commands/#console", - "status":"301", - "condition":null + "source": "/cli/commands/console/", + "target": "/javascript/tools/cli/commands/#console", + "status": "301", + "condition": null }, { - "source":"/cli/commands/delete/", - "target":"/javascript/tools/cli/commands/#delete", - "status":"301", - "condition":null + "source": "/cli/commands/delete/", + "target": "/javascript/tools/cli/commands/#delete", + "status": "301", + "condition": null }, { - "source":"/cli/commands/diagnose/", - "target":"/javascript/tools/cli/commands/#diagnose", - "status":"301", - "condition":null + "source": "/cli/commands/diagnose/", + "target": "/javascript/tools/cli/commands/#diagnose", + "status": "301", + "condition": null }, { - "source":"/cli/commands/env/", - "target":"/javascript/tools/cli/commands/#env", - "status":"301", - "condition":null + "source": "/cli/commands/env/", + "target": "/javascript/tools/cli/commands/#env", + "status": "301", + "condition": null }, { - "source":"/cli/commands/export/", - "target":"/javascript/tools/cli/commands/#export", - "status":"301", - "condition":null + "source": "/cli/commands/export/", + "target": "/javascript/tools/cli/commands/#export", + "status": "301", + "condition": null }, { - "source":"/cli/commands/function/", - "target":"/javascript/tools/cli/commands/#function", - "status":"301", - "condition":null + "source": "/cli/commands/function/", + "target": "/javascript/tools/cli/commands/#function", + "status": "301", + "condition": null }, { - "source":"/cli/commands/geo/", - "target":"/javascript/tools/cli/commands/#geo", - "status":"301", - "condition":null + "source": "/cli/commands/geo/", + "target": "/javascript/tools/cli/commands/#geo", + "status": "301", + "condition": null }, { - "source":"/cli/commands/hosting/", - "target":"/javascript/tools/cli/commands/#hosting", - "status":"301", - "condition":null + "source": "/cli/commands/hosting/", + "target": "/javascript/tools/cli/commands/#hosting", + "status": "301", + "condition": null }, { - "source":"/cli/commands/import/", - "target":"/javascript/tools/cli/commands/#import", - "status":"301", - "condition":null + "source": "/cli/commands/import/", + "target": "/javascript/tools/cli/commands/#import", + "status": "301", + "condition": null }, { - "source":"/cli/commands/init/", - "target":"/javascript/tools/cli/commands/#init", - "status":"301", - "condition":null + "source": "/cli/commands/init/", + "target": "/javascript/tools/cli/commands/#init", + "status": "301", + "condition": null }, { - "source":"/cli/commands/interactions/", - "target":"/javascript/tools/cli/commands/#interactions", - "status":"301", - "condition":null + "source": "/cli/commands/interactions/", + "target": "/javascript/tools/cli/commands/#interactions", + "status": "301", + "condition": null }, { - "source":"/cli/commands/logout/", - "target":"/javascript/tools/cli/commands/#logout", - "status":"301", - "condition":null + "source": "/cli/commands/logout/", + "target": "/javascript/tools/cli/commands/#logout", + "status": "301", + "condition": null }, { - "source":"/cli/commands/mock/", - "target":"/javascript/tools/cli/commands/#mock", - "status":"301", - "condition":null + "source": "/cli/commands/mock/", + "target": "/javascript/tools/cli/commands/#mock", + "status": "301", + "condition": null }, { - "source":"/cli/commands/notifications/", - "target":"/javascript/tools/cli/commands/#notifications", - "status":"301", - "condition":null + "source": "/cli/commands/notifications/", + "target": "/javascript/tools/cli/commands/#notifications", + "status": "301", + "condition": null }, { - "source":"/cli/commands/override/", - "target":"/javascript/tools/cli/commands/#override", - "status":"301", - "condition":null + "source": "/cli/commands/override/", + "target": "/javascript/tools/cli/commands/#override", + "status": "301", + "condition": null }, { - "source":"/cli/commands/plugin/", - "target":"/javascript/tools/cli/commands/#plugin", - "status":"301", - "condition":null + "source": "/cli/commands/plugin/", + "target": "/javascript/tools/cli/commands/#plugin", + "status": "301", + "condition": null }, { - "source":"/cli/commands/predictions/", - "target":"/javascript/tools/cli/commands/#predictions", - "status":"301", - "condition":null + "source": "/cli/commands/predictions/", + "target": "/javascript/tools/cli/commands/#predictions", + "status": "301", + "condition": null }, { - "source":"/cli/commands/publish/", - "target":"/javascript/tools/cli/commands/#publish", - "status":"301", - "condition":null + "source": "/cli/commands/publish/", + "target": "/javascript/tools/cli/commands/#publish", + "status": "301", + "condition": null }, { - "source":"/cli/commands/pull/", - "target":"/javascript/tools/cli/commands/#pull", - "status":"301", - "condition":null + "source": "/cli/commands/pull/", + "target": "/javascript/tools/cli/commands/#pull", + "status": "301", + "condition": null }, { - "source":"/cli/commands/push/", - "target":"/javascript/tools/cli/commands/#push", - "status":"301", - "condition":null + "source": "/cli/commands/push/", + "target": "/javascript/tools/cli/commands/#push", + "status": "301", + "condition": null }, { - "source":"/cli/commands/remove/", - "target":"/javascript/tools/cli/commands/#remove", - "status":"301", - "condition":null + "source": "/cli/commands/remove/", + "target": "/javascript/tools/cli/commands/#remove", + "status": "301", + "condition": null }, { - "source":"/cli/commands/serve/", - "target":"/javascript/tools/cli/commands/#serve", - "status":"301", - "condition":null + "source": "/cli/commands/serve/", + "target": "/javascript/tools/cli/commands/#serve", + "status": "301", + "condition": null }, { - "source":"/cli/commands/status/", - "target":"/javascript/tools/cli/commands/#status", - "status":"301", - "condition":null + "source": "/cli/commands/status/", + "target": "/javascript/tools/cli/commands/#status", + "status": "301", + "condition": null }, { - "source":"/cli/commands/storage/", - "target":"/javascript/tools/cli/commands/#storage", - "status":"301", - "condition":null + "source": "/cli/commands/storage/", + "target": "/javascript/tools/cli/commands/#storage", + "status": "301", + "condition": null }, { - "source":"/cli/commands/uninstall/", - "target":"/javascript/tools/cli/commands/#uninstall", - "status":"301", - "condition":null + "source": "/cli/commands/uninstall/", + "target": "/javascript/tools/cli/commands/#uninstall", + "status": "301", + "condition": null }, { - "source":"/cli/commands/update/", - "target":"/javascript/tools/cli/commands/#update", - "status":"301", - "condition":null + "source": "/cli/commands/update/", + "target": "/javascript/tools/cli/commands/#update", + "status": "301", + "condition": null }, { - "source":"/cli/commands/upgrade/", - "target":"/javascript/tools/cli/commands/#upgrade", - "status":"301", - "condition":null + "source": "/cli/commands/upgrade/", + "target": "/javascript/tools/cli/commands/#upgrade", + "status": "301", + "condition": null }, { - "source":"/cli/custom/cdk/", - "target":"/javascript/tools/cli/custom/cdk/", - "status":"301", - "condition":null + "source": "/cli/custom/cdk/", + "target": "/javascript/tools/cli/custom/cdk/", + "status": "301", + "condition": null }, { - "source":"/cli/custom/cloudformation/", - "target":"/javascript/tools/cli/custom/cloudformation/", - "status":"301", - "condition":null + "source": "/cli/custom/cloudformation/", + "target": "/javascript/tools/cli/custom/cloudformation/", + "status": "301", + "condition": null }, { - "source":"/cli/function/", - "target":"/javascript/build-a-backend/functions/set-up-function/", - "status":"301", - "condition":null + "source": "/cli/function/", + "target": "/javascript/build-a-backend/functions/set-up-function/", + "status": "301", + "condition": null }, { - "source":"/cli/function/build-options/", - "target":"/javascript/build-a-backend/functions/build-options/", - "status":"301", - "condition":null + "source": "/cli/function/build-options/", + "target": "/javascript/build-a-backend/functions/build-options/", + "status": "301", + "condition": null }, { - "source":"/cli/function/configure-options/", - "target":"/javascript/build-a-backend/functions/configure-options/", - "status":"301", - "condition":null + "source": "/cli/function/configure-options/", + "target": "/javascript/build-a-backend/functions/configure-options/", + "status": "301", + "condition": null }, { - "source":"/cli/function/env-vars/", - "target":"/javascript/build-a-backend/functions/environment-variables/", - "status":"301", - "condition":null + "source": "/cli/function/env-vars/", + "target": "/javascript/build-a-backend/functions/environment-variables/", + "status": "301", + "condition": null }, { - "source":"/cli/function/layers/", - "target":"/javascript/build-a-backend/functions/layers/", - "status":"301", - "condition":null + "source": "/cli/function/layers/", + "target": "/javascript/build-a-backend/functions/layers/", + "status": "301", + "condition": null }, { - "source":"/cli/function/secrets/", - "target":"/javascript/build-a-backend/functions/secrets/", - "status":"301", - "condition":null + "source": "/cli/function/secrets/", + "target": "/javascript/build-a-backend/functions/secrets/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/authorization-rules/", - "target":"/javascript/build-a-backend/graphqlapi/customize-authorization-rules/", - "status":"301", - "condition":null + "source": "/cli/graphql/authorization-rules/", + "target": "/javascript/build-a-backend/graphqlapi/customize-authorization-rules/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/client-code-generation/", - "target":"/javascript/build-a-backend/graphqlapi/client-code-generation/", - "status":"301", - "condition":null + "source": "/cli/graphql/client-code-generation/", + "target": "/javascript/build-a-backend/graphqlapi/client-code-generation/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/connect-to-machine-learning-services/", - "target":"/javascript/build-a-backend/graphqlapi/connect-machine-learning-services/", - "status":"301", - "condition":null + "source": "/cli/graphql/connect-to-machine-learning-services/", + "target": "/javascript/build-a-backend/graphqlapi/connect-machine-learning-services/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/custom-business-logic/", - "target":"/javascript/build-a-backend/graphqlapi/custom-business-logic/", - "status":"301", - "condition":null + "source": "/cli/graphql/custom-business-logic/", + "target": "/javascript/build-a-backend/graphqlapi/custom-business-logic/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/data-modeling/", - "target":"/javascript/build-a-backend/graphqlapi/data-modeling/", - "status":"301", - "condition":null + "source": "/cli/graphql/data-modeling/", + "target": "/javascript/build-a-backend/graphqlapi/data-modeling/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/examples-and-solutions/", - "target":"/javascript/build-a-backend/graphqlapi/best-practice/", - "status":"301", - "condition":null + "source": "/cli/graphql/examples-and-solutions/", + "target": "/javascript/build-a-backend/graphqlapi/best-practice/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/override/", - "target":"/javascript/build-a-backend/graphqlapi/modify-amplify-generated-resources/", - "status":"301", - "condition":null + "source": "/cli/graphql/override/", + "target": "/javascript/build-a-backend/graphqlapi/modify-amplify-generated-resources/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/overview/", - "target":"/javascript/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/cli/graphql/overview/", + "target": "/javascript/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/schema-evolution/", - "target":"/javascript/build-a-backend/graphqlapi/schema-evolution/", - "status":"301", - "condition":null + "source": "/cli/graphql/schema-evolution/", + "target": "/javascript/build-a-backend/graphqlapi/schema-evolution/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/search-and-result-aggregations/", - "target":"/javascript/build-a-backend/graphqlapi/search-and-result-aggregations/", - "status":"301", - "condition":null + "source": "/cli/graphql/search-and-result-aggregations/", + "target": "/javascript/build-a-backend/graphqlapi/search-and-result-aggregations/", + "status": "301", + "condition": null }, { - "source":"/cli/graphql/troubleshooting/", - "target":"/javascript/build-a-backend/graphqlapi/troubleshooting/", - "status":"301", - "condition":null + "source": "/cli/graphql/troubleshooting/", + "target": "/javascript/build-a-backend/graphqlapi/troubleshooting/", + "status": "301", + "condition": null }, { - "source":"/cli/hosting/hosting/", - "target":"/javascript/tools/cli/hosting/", - "status":"301", - "condition":null + "source": "/cli/hosting/hosting/", + "target": "/javascript/tools/cli/hosting/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/aws-cdk-migration/", - "target":"/javascript/tools/cli/migration/aws-cdk-migration/", - "status":"301", - "condition":null + "source": "/cli/migration/aws-cdk-migration/", + "target": "/javascript/tools/cli/migration/aws-cdk-migration/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/cli-auth-signup-changes/", - "target":"/javascript/tools/cli/migration/cli-auth-signup-changes/", - "status":"301", - "condition":null + "source": "/cli/migration/cli-auth-signup-changes/", + "target": "/javascript/tools/cli/migration/cli-auth-signup-changes/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/cli-migrate-aws-account/", - "target":"/javascript/tools/cli/migration/cli-migrate-aws-account/", - "status":"301", - "condition":null + "source": "/cli/migration/cli-migrate-aws-account/", + "target": "/javascript/tools/cli/migration/cli-migrate-aws-account/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/identity-claim-changes/", - "target":"/javascript/tools/cli/migration/identity-claim-changes/", - "status":"301", - "condition":null + "source": "/cli/migration/identity-claim-changes/", + "target": "/javascript/tools/cli/migration/identity-claim-changes/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/lambda-layers-update/", - "target":"/javascript/tools/cli/migration/lambda-layers-update/", - "status":"301", - "condition":null + "source": "/cli/migration/lambda-layers-update/", + "target": "/javascript/tools/cli/migration/lambda-layers-update/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/lazy-load-custom-selection-set/", - "target":"/javascript/tools/cli/migration/lazy-load-custom-selection-set/", - "status":"301", - "condition":null + "source": "/cli/migration/lazy-load-custom-selection-set/", + "target": "/javascript/tools/cli/migration/lazy-load-custom-selection-set/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/list-nullability/", - "target":"/javascript/tools/cli/migration/list-nullability/", - "status":"301", - "condition":null + "source": "/cli/migration/list-nullability/", + "target": "/javascript/tools/cli/migration/list-nullability/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/override/", - "target":"/javascript/tools/cli/migration/override/", - "status":"301", - "condition":null + "source": "/cli/migration/override/", + "target": "/javascript/tools/cli/migration/override/", + "status": "301", + "condition": null }, { - "source":"/cli/migration/transformer-migration/", - "target":"/javascript/tools/cli/migration/transformer-migration/", - "status":"301", - "condition":null + "source": "/cli/migration/transformer-migration/", + "target": "/javascript/tools/cli/migration/transformer-migration/", + "status": "301", + "condition": null }, { - "source":"/cli/plugins/architecture/", - "target":"/javascript/tools/cli/plugins/architecture/", - "status":"301", - "condition":null + "source": "/cli/plugins/architecture/", + "target": "/javascript/tools/cli/plugins/architecture/", + "status": "301", + "condition": null }, { - "source":"/cli/plugins/authoring/", - "target":"/javascript/tools/cli/plugins/authoring/", - "status":"301", - "condition":null + "source": "/cli/plugins/authoring/", + "target": "/javascript/tools/cli/plugins/authoring/", + "status": "301", + "condition": null }, { - "source":"/cli/plugins/plugins/", - "target":"/javascript/tools/cli/plugins/", - "status":"301", - "condition":null + "source": "/cli/plugins/plugins/", + "target": "/javascript/tools/cli/plugins/", + "status": "301", + "condition": null }, { - "source":"/cli/project/command-hooks/", - "target":"/javascript/tools/cli/project/command-hooks/", - "status":"301", - "condition":null + "source": "/cli/project/command-hooks/", + "target": "/javascript/tools/cli/project/command-hooks/", + "status": "301", + "condition": null }, { - "source":"/cli/project/monorepo/", - "target":"/javascript/tools/cli/project/monorepo/", - "status":"301", - "condition":null + "source": "/cli/project/monorepo/", + "target": "/javascript/tools/cli/project/monorepo/", + "status": "301", + "condition": null }, { - "source":"/cli/project/override/", - "target":"/javascript/tools/cli/project/override-iam/", - "status":"301", - "condition":null + "source": "/cli/project/override/", + "target": "/javascript/tools/cli/project/override-iam/", + "status": "301", + "condition": null }, { - "source":"/cli/project/permissions-boundary/", - "target":"/javascript/tools/cli/project/permissions-boundary/", - "status":"301", - "condition":null + "source": "/cli/project/permissions-boundary/", + "target": "/javascript/tools/cli/project/permissions-boundary/", + "status": "301", + "condition": null }, { - "source":"/cli/project/tags/", - "target":"/javascript/tools/cli/project/tags/", - "status":"301", - "condition":null + "source": "/cli/project/tags/", + "target": "/javascript/tools/cli/project/tags/", + "status": "301", + "condition": null }, { - "source":"/cli/project/troubleshooting/", - "target":"/javascript/tools/cli/project/troubleshooting/", - "status":"301", - "condition":null + "source": "/cli/project/troubleshooting/", + "target": "/javascript/tools/cli/project/troubleshooting/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/diagnose/", - "target":"/javascript/tools/cli/reference/diagnose/", - "status":"301", - "condition":null + "source": "/cli/reference/diagnose/", + "target": "/javascript/tools/cli/reference/diagnose/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/feature-flags/", - "target":"/javascript/tools/cli/reference/feature-flags/", - "status":"301", - "condition":null + "source": "/cli/reference/feature-flags/", + "target": "/javascript/tools/cli/reference/feature-flags/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/files/", - "target":"/javascript/tools/cli/reference/files/", - "status":"301", - "condition":null + "source": "/cli/reference/files/", + "target": "/javascript/tools/cli/reference/files/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/iam-roles-mfa/", - "target":"/javascript/tools/cli/reference/iam-roles-mfa/", - "status":"301", - "condition":null + "source": "/cli/reference/iam-roles-mfa/", + "target": "/javascript/tools/cli/reference/iam-roles-mfa/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/iam/", - "target":"/javascript/tools/cli/reference/iam/", - "status":"301", - "condition":null + "source": "/cli/reference/iam/", + "target": "/javascript/tools/cli/reference/iam/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/ssm-parameter-store/", - "target":"/javascript/tools/cli/reference/ssm-parameter-store/", - "status":"301", - "condition":null + "source": "/cli/reference/ssm-parameter-store/", + "target": "/javascript/tools/cli/reference/ssm-parameter-store/", + "status": "301", + "condition": null }, { - "source":"/cli/reference/usage-data/", - "target":"/javascript/tools/cli/reference/usage-data/", - "status":"301", - "condition":null + "source": "/cli/reference/usage-data/", + "target": "/javascript/tools/cli/reference/usage-data/", + "status": "301", + "condition": null }, { - "source":"/cli/restapi/override/", - "target":"/javascript/build-a-backend/restapi/override-api-gateway/", - "status":"301", - "condition":null + "source": "/cli/restapi/override/", + "target": "/javascript/build-a-backend/restapi/override-api-gateway/", + "status": "301", + "condition": null }, { - "source":"/cli/restapi/restapi/", - "target":"/javascript/build-a-backend/restapi/configure-rest-api/", - "status":"301", - "condition":null + "source": "/cli/restapi/restapi/", + "target": "/javascript/build-a-backend/restapi/configure-rest-api/", + "status": "301", + "condition": null }, { - "source":"/cli/restapi/testing/", - "target":"/javascript/build-a-backend/restapi/test-api/", - "status":"301", - "condition":null + "source": "/cli/restapi/testing/", + "target": "/javascript/build-a-backend/restapi/test-api/", + "status": "301", + "condition": null }, { - "source":"/cli/start/install/", - "target":"/javascript/tools/cli/start/set-up-cli/", - "status":"301", - "condition":null + "source": "/cli/start/install/", + "target": "/javascript/tools/cli/start/set-up-cli/", + "status": "301", + "condition": null }, { - "source":"/cli/start/workflows/", - "target":"/javascript/tools/cli/start/key-workflows/ ", - "status":"301", - "condition":null + "source": "/cli/start/workflows/", + "target": "/javascript/tools/cli/start/key-workflows/", + "status": "301", + "condition": null }, { - "source":"/cli/storage/import/", - "target":"/javascript/build-a-backend/storage/import/", - "status":"301", - "condition":null + "source": "/cli/storage/import/", + "target": "/javascript/build-a-backend/storage/import/", + "status": "301", + "condition": null }, { - "source":"/cli/storage/override/", - "target":"/javascript/build-a-backend/storage/modify-amplify-generated-resources/", - "status":"301", - "condition":null + "source": "/cli/storage/override/", + "target": "/javascript/build-a-backend/storage/modify-amplify-generated-resources/", + "status": "301", + "condition": null }, { - "source":"/cli/storage/overview/", - "target":"/javascript/build-a-backend/storage/configure-storage/", - "status":"301", - "condition":null + "source": "/cli/storage/overview/", + "target": "/javascript/build-a-backend/storage/configure-storage/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/cicd/", - "target":"/javascript/tools/cli/teams/cicd/", - "status":"301", - "condition":null + "source": "/cli/teams/cicd/", + "target": "/javascript/tools/cli/teams/cicd/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/commands/", - "target":"/javascript/tools/cli/teams/commands/", - "status":"301", - "condition":null + "source": "/cli/teams/commands/", + "target": "/javascript/tools/cli/teams/commands/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/multi-frontend/", - "target":"/javascript/tools/cli/teams/multi-frontend/", - "status":"301", - "condition":null + "source": "/cli/teams/multi-frontend/", + "target": "/javascript/tools/cli/teams/multi-frontend/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/overview/", - "target":"/javascript/tools/cli/teams/", - "status":"301", - "condition":null + "source": "/cli/teams/overview/", + "target": "/javascript/tools/cli/teams/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/sandbox/", - "target":"/javascript/tools/cli/teams/sandbox/", - "status":"301", - "condition":null + "source": "/cli/teams/sandbox/", + "target": "/javascript/tools/cli/teams/sandbox/", + "status": "301", + "condition": null }, { - "source":"/cli/teams/shared/", - "target":"/javascript/tools/cli/teams/shared/", - "status":"301", - "condition":null + "source": "/cli/teams/shared/", + "target": "/javascript/tools/cli/teams/shared/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/containers/", - "target":"/javascript/tools/cli/usage/containers/", - "status":"301", - "condition":null + "source": "/cli/usage/containers/", + "target": "/javascript/tools/cli/usage/containers/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/export-to-cdk/", - "target":"/javascript/tools/cli/usage/export-to-cdk/", - "status":"301", - "condition":null + "source": "/cli/usage/export-to-cdk/", + "target": "/javascript/tools/cli/usage/export-to-cdk/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/headless/", - "target":"/javascript/tools/cli/usage/headless/", - "status":"301", - "condition":null + "source": "/cli/usage/headless/", + "target": "/javascript/tools/cli/usage/headless/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/lambda-triggers/", - "target":"/javascript/tools/cli/usage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/cli/usage/lambda-triggers/", + "target": "/javascript/tools/cli/usage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/cli/usage/mock/", - "target":"/javascript/tools/cli/usage/mock/", - "status":"301", - "condition":null + "source": "/cli/usage/mock/", + "target": "/javascript/tools/cli/usage/mock/", + "status": "301", + "condition": null }, { - "source":"/console/", - "target":"/javascript/tools/console/", - "status":"301", - "condition":null + "source": "/console/", + "target": "/javascript/tools/console/", + "status": "301", + "condition": null }, { - "source":"/console/adminui/access-management/", - "target":"/javascript/tools/console/adminui/access-management/", - "status":"301", - "condition":null + "source": "/console/adminui/access-management/", + "target": "/javascript/tools/console/adminui/access-management/", + "status": "301", + "condition": null }, { - "source":"/console/adminui/custom-domain/", - "target":"/javascript/tools/console/adminui/custom-domain/", - "status":"301", - "condition":null + "source": "/console/adminui/custom-domain/", + "target": "/javascript/tools/console/adminui/custom-domain/", + "status": "301", + "condition": null }, { - "source":"/console/adminui/extend-cli/", - "target":"/javascript/tools/console/adminui/extend-cli/", - "status":"301", - "condition":null + "source": "/console/adminui/extend-cli/", + "target": "/javascript/tools/console/adminui/extend-cli/", + "status": "301", + "condition": null }, { - "source":"/console/adminui/start/", - "target":"/javascript/tools/console/adminui/start/", - "status":"301", - "condition":null + "source": "/console/adminui/start/", + "target": "/javascript/tools/console/adminui/start/", + "status": "301", + "condition": null }, { - "source":"/console/auth/authentication/", - "target":"/javascript/tools/console/auth/", - "status":"301", - "condition":null + "source": "/console/auth/authentication/", + "target": "/javascript/tools/console/auth/", + "status": "301", + "condition": null }, { - "source":"/console/auth/import/", - "target":"/javascript/tools/console/auth/import/", - "status":"301", - "condition":null + "source": "/console/auth/import/", + "target": "/javascript/tools/console/auth/import/", + "status": "301", + "condition": null }, { - "source":"/console/auth/user-management/", - "target":"/javascript/tools/console/auth/user-management/", - "status":"301", - "condition":null + "source": "/console/auth/user-management/", + "target": "/javascript/tools/console/auth/user-management/", + "status": "301", + "condition": null }, { - "source":"/console/authz/authorization/", - "target":"/javascript/tools/console/authz/", - "status":"301", - "condition":null + "source": "/console/authz/authorization/", + "target": "/javascript/tools/console/authz/", + "status": "301", + "condition": null }, { - "source":"/console/authz/permissions/", - "target":"/javascript/tools/console/authz/permissions/", - "status":"301", - "condition":null + "source": "/console/authz/permissions/", + "target": "/javascript/tools/console/authz/permissions/", + "status": "301", + "condition": null }, { - "source":"/console/data/content-management/", - "target":"/javascript/tools/console/data/content-management/", - "status":"301", - "condition":null + "source": "/console/data/content-management/", + "target": "/javascript/tools/console/data/content-management/", + "status": "301", + "condition": null }, { - "source":"/console/data/data-model/", - "target":"/javascript/tools/console/data/data-model/", - "status":"301", - "condition":null + "source": "/console/data/data-model/", + "target": "/javascript/tools/console/data/data-model/", + "status": "301", + "condition": null }, { - "source":"/console/data/relationships/", - "target":"/javascript/tools/console/data/relationships/", - "status":"301", - "condition":null + "source": "/console/data/relationships/", + "target": "/javascript/tools/console/data/relationships/", + "status": "301", + "condition": null }, { - "source":"/console/storage/file-browser/", - "target":"/javascript/tools/console/storage/file-browser/", - "status":"301", - "condition":null + "source": "/console/storage/file-browser/", + "target": "/javascript/tools/console/storage/file-browser/", + "status": "301", + "condition": null }, { - "source":"/console/storage/file-storage/", - "target":"/javascript/tools/console/storage/file-storage/", - "status":"301", - "condition":null + "source": "/console/storage/file-storage/", + "target": "/javascript/tools/console/storage/file-storage/", + "status": "301", + "condition": null }, { - "source":"/console/tutorial/bindui/", - "target":"/javascript/tools/console/tutorial/bindui/", - "status":"301", - "condition":null + "source": "/console/tutorial/bindui/", + "target": "/javascript/tools/console/tutorial/bindui/", + "status": "301", + "condition": null }, { - "source":"/console/tutorial/buildui/", - "target":"/javascript/tools/console/tutorial/buildui/", - "status":"301", - "condition":null + "source": "/console/tutorial/buildui/", + "target": "/javascript/tools/console/tutorial/buildui/", + "status": "301", + "condition": null }, { - "source":"/console/tutorial/code/", - "target":"/javascript/tools/console/tutorial/code/", - "status":"301", - "condition":null + "source": "/console/tutorial/code/", + "target": "/javascript/tools/console/tutorial/code/", + "status": "301", + "condition": null }, { - "source":"/console/tutorial/collections/", - "target":"/javascript/tools/console/tutorial/collections/", - "status":"301", - "condition":null + "source": "/console/tutorial/collections/", + "target": "/javascript/tools/console/tutorial/collections/", + "status": "301", + "condition": null }, { - "source":"/console/tutorial/data/", - "target":"/javascript/tools/console/tutorial/data/", - "status":"301", - "condition":null + "source": "/console/tutorial/data/", + "target": "/javascript/tools/console/tutorial/data/", + "status": "301", + "condition": null }, { - "source":"/flutter-references/", - "target":"/flutter/reference/flutter-api/", - "status":"301", - "condition":null + "source": "/flutter-references/", + "target": "/flutter/reference/flutter-api/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/building-a-form-api/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/building-a-form-api/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/building-a-form-api/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/building-a-form-api/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/building-a-form-api/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/building-a-form-api/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/graphql-pagination/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/graphql-pagination/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/graphql-pagination/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/graphql-pagination/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/graphql-pagination/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/graphql-pagination/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/image-and-file-uploads/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/working-with-files/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/image-and-file-uploads/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/working-with-files/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/lambda-resolvers/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/connect-from-server-runtime/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/lambda-resolvers/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/lambda-resolvers/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/connect-from-server-runtime/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/lambda-resolvers/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/lambda-resolvers/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/query-with-sorting/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/best-practice/query-with-sorting/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/query-with-sorting/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/best-practice/query-with-sorting/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/query-with-sorting/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/best-practice/query-with-sorting/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/subscriptions-by-id/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/subscriptions-by-id/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-graphql/subscriptions-by-id/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/express-server/q/platform/android/", + "target": "/android/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/express-server/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/express-server/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/gen-ai/q/platform/android/", + "target": "/android/build-a-backend/restapi/gen-ai/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/gen-ai/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/gen-ai/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/gen-ai/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/gen-ai/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/gen-ai/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/gen-ai/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/gen-ai/q/platform/swift/", + "target": "/swift/build-a-backend/restapi/gen-ai/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/go-api/q/platform/android/", + "target": "/android/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/go-api/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/go-api/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/node-api/q/platform/android/", + "target": "/android/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/node-api/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/node-api/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/python-api/q/platform/android/", + "target": "/android/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/python-api/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/api-rest/python-api/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/", + "status": "301", + "condition": null + }, + { + "source": "/guides/authentication/custom-auth-flow/q/platform/js/", + "target": "/javascript/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/guides/authentication/email-only-authentication/q/platform/js/", + "target": "/javascript/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/guides/api-graphql/lambda-resolvers/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/connect-from-server-runtime/", + "source":"/javascript/build-a-backend/auth/email-only-sign-up/", + "target":"/javascript/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/query-with-sorting/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/best-practice/query-with-sorting/", +<<<<<<< HEAD + "source":"/angular/build-a-backend/auth/email-only-sign-up/", + "target":"/angular/build-a-backend/auth/enable-sign-up/", +======= + "source":"/javascript/build-a-backend/auth/email-only-sign-up/", + "target":"/javascript/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/query-with-sorting/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/best-practice/query-with-sorting/", + "source":"/angular/build-a-backend/auth/email-only-sign-up/", + "target":"/angular/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/query-with-sorting/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/best-practice/query-with-sorting/", + "source":"/nextjs/build-a-backend/auth/email-only-sign-up/", + "target":"/nextjs/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/subscriptions-by-id/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/subscribe-data/", + "source":"/react/build-a-backend/auth/email-only-sign-up/", + "target":"/react/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/subscriptions-by-id/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/subscribe-data/", + "source":"/vue/build-a-backend/auth/email-only-sign-up/", + "target":"/vue/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-graphql/subscriptions-by-id/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/subscribe-data/", + "source":"/guides/authentication/listening-for-auth-events/q/platform/js/", + "target":"/javascript/build-a-backend/auth/auth-events/", +>>>>>>> main "status":"301", "condition":null }, { - "source":"/guides/api-rest/express-server/q/platform/android/", - "target":"/android/build-a-backend/restapi/", + "source":"/nextjs/build-a-backend/auth/email-only-sign-up/", + "target":"/nextjs/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/express-server/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/", + "source":"/react/build-a-backend/auth/email-only-sign-up/", + "target":"/react/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/express-server/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/", + "source":"/vue/build-a-backend/auth/email-only-sign-up/", + "target":"/vue/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/gen-ai/q/platform/android/", - "target":"/android/build-a-backend/restapi/gen-ai/", + "source": "/guides/authentication/listening-for-auth-events/q/platform/js/", + "target": "/javascript/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/guides/authentication/managing-user-attributes/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-user-profile/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/auth/manage-user-attributes/", + "target":"/javascript/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/gen-ai/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/gen-ai/", +<<<<<<< HEAD + "source":"/angular/build-a-backend/auth/manage-user-attributes/", + "target":"/angular/build-a-backend/auth/manage-user-profile/", +======= + "source":"/javascript/build-a-backend/auth/manage-user-attributes/", + "target":"/javascript/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/gen-ai/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/gen-ai/", + "source":"/angular/build-a-backend/auth/manage-user-attributes/", + "target":"/angular/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/gen-ai/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/gen-ai/", + "source":"/nextjs/build-a-backend/auth/manage-user-attributes/", + "target":"/nextjs/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/gen-ai/q/platform/swift/", - "target":"/swift/build-a-backend/restapi/gen-ai/", + "source":"/react/build-a-backend/auth/manage-user-attributes/", + "target":"/react/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/go-api/q/platform/android/", - "target":"/android/build-a-backend/restapi/", + "source":"/vue/build-a-backend/auth/manage-user-attributes/", + "target":"/vue/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/go-api/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/", + "source":"/guides/datastore/parallel-processing/q/platform/ios/", + "target":"/swift/prev/build-a-backend/more-features/datastore/", +>>>>>>> main "status":"301", "condition":null }, { - "source":"/guides/api-rest/go-api/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/", + "source":"/nextjs/build-a-backend/auth/manage-user-attributes/", + "target":"/nextjs/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/node-api/q/platform/android/", - "target":"/android/build-a-backend/restapi/", + "source":"/react/build-a-backend/auth/manage-user-attributes/", + "target":"/react/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/node-api/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/", + "source":"/vue/build-a-backend/auth/manage-user-attributes/", + "target":"/vue/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/node-api/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/", + "source": "/guides/datastore/parallel-processing/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/appsync-operations-to-lambda-layer/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/client-code-generation/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/appsync-operations-to-lambda-layer/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/client-code-generation/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/appsync-operations-to-lambda-layer/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/client-code-generation/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/javascript/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/python-api/q/platform/android/", - "target":"/android/build-a-backend/restapi/", + "source":"/swift/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/swift/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/python-api/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/", + "source":"/android/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/android/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/api-rest/python-api/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/", +<<<<<<< HEAD +======= + "source":"/javascript/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/javascript/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/authentication/custom-auth-flow/q/platform/js/", - "target":"/javascript/build-a-backend/auth/switch-auth/", + "source":"/swift/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/swift/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/authentication/email-only-authentication/q/platform/js/", - "target":"/javascript/build-a-backend/auth/enable-sign-up/", + "source":"/android/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/android/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/authentication/listening-for-auth-events/q/platform/js/", - "target":"/javascript/build-a-backend/auth/auth-events/", +>>>>>>> main + "source":"/angular/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/angular/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/authentication/managing-user-attributes/q/platform/js/", - "target":"/javascript/build-a-backend/auth/manage-user-profile/", + "source":"/nextjs/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/nextjs/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/datastore/parallel-processing/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/", + "source":"/react/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/react/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/functions/appsync-operations-to-lambda-layer/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/client-code-generation/", + "source":"/vue/build-a-backend/functions/appsync-operations-to-lambda-layer/", + "target":"/vue/build-a-backend/graphqlapi/client-code-generation/", "status":"301", "condition":null }, { - "source":"/guides/functions/appsync-operations-to-lambda-layer/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/client-code-generation/", +<<<<<<< HEAD + "source": "/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/appsync-operations-to-lambda-layer/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/client-code-generation/", + "source":"/swift/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { + "source":"/android/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", +======= "source":"/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/android/", +>>>>>>> main "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", + "source":"/angular/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/cognito-trigger-lambda-dynamodb/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/nextjs/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/connecting-a-rest-api/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", + "source":"/react/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/connecting-a-rest-api/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/vue/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-js-lambda/q/platform/android/", - "target":"/android/build-a-backend/functions/", + "source": "/guides/functions/connecting-a-rest-api/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/connecting-a-rest-api/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/connect-rest-api/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-js-lambda/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", +<<<<<<< HEAD + "source":"/swift/build-a-backend/functions/connect-rest-api/", +======= + "source":"/javascript/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-js-lambda/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/swift/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-python-lambda/q/platform/android/", + "source":"/android/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-python-lambda/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", + "source":"/angular/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/dynamodb-from-python-lambda/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/nextjs/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/graphql-from-lambda/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", + "source":"/react/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/graphql-from-lambda/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/vue/build-a-backend/functions/cognito-trigger-lambda-dynamodb/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/graphql-server-in-lambda/q/platform/ios/", + "source":"/guides/functions/connecting-a-rest-api/q/platform/ios/", +>>>>>>> main "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/functions/graphql-server-in-lambda/q/platform/js/", +<<<<<<< HEAD + "source":"/android/build-a-backend/functions/connect-rest-api/", +======= + "source":"/guides/functions/connecting-a-rest-api/q/platform/js/", "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/custom-domains/q/platform/js/", - "target":"/javascript/deploy-and-host/custom-configuration/configure-custom-domain/", + "source":"/javascript/build-a-backend/functions/connect-rest-api/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/gatsby/q/platform/js/", - "target":"/javascript/deploy-and-host/frameworks/deploy-gatsby-site/", + "source":"/swift/build-a-backend/functions/connect-rest-api/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/git-based-deployments/q/platform/js/", - "target":"/javascript/deploy-and-host/deployment/deploy-static-site-github/", + "source":"/android/build-a-backend/functions/connect-rest-api/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/gridsome/q/platform/js/", - "target":"/javascript/deploy-and-host/frameworks/deploy-gridsome-site/", + "source":"/angular/build-a-backend/functions/connect-rest-api/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/local-deployments/q/platform/js/", - "target":"/javascript/deploy-and-host/deployment/deploy-static-site-locally/", + "source":"/nextjs/build-a-backend/functions/connect-rest-api/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/nextjs/q/platform/js/", - "target":"/javascript/deploy-and-host/frameworks/deploy-nextjs-app/", + "source":"/react/build-a-backend/functions/connect-rest-api/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/nuxt/q/platform/js/", - "target":"/javascript/deploy-and-host/frameworks/deploy-nuxt-site/", + "source":"/vue/build-a-backend/functions/connect-rest-api/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/password-protected-deployments/q/platform/js/", - "target":"/javascript/deploy-and-host/deployment/password-protected-deployments/", + "source":"/guides/functions/dynamodb-from-js-lambda/q/platform/android/", +>>>>>>> main + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/pull-request-previews/q/platform/js/", - "target":"/javascript/deploy-and-host/deployment/pull-request-previews/", + "source":"/angular/build-a-backend/functions/connect-rest-api/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/guides/hosting/vite/q/platform/js/", - "target":"/javascript/deploy-and-host/frameworks/deploy-vite-site/", + "source":"/nextjs/build-a-backend/functions/connect-rest-api/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/autotrack/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "source":"/react/build-a-backend/functions/connect-rest-api/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/autotrack/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/auto-track-sessions/", + "source":"/vue/build-a-backend/functions/connect-rest-api/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/autotrack/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "source": "/guides/functions/dynamodb-from-js-lambda/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/dynamodb-from-js-lambda/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/dynamodb-from-js-lambda/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/enable-disable/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/enable-disable/", +<<<<<<< HEAD +======= + "source":"/javascript/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/enable-disable/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/enable-disable/", +>>>>>>> main + "source":"/swift/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/enable-disable/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/enable-disable/", + "source":"/android/build-a-backend/functions/dynamodb-from-lambda-nodejs/", +<<<<<<< HEAD +======= + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/existing-resources/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/existing-resources/", + "source":"/angular/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/existing-resources/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/existing-resources/", + "source":"/nextjs/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/existing-resources/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/existing-resources/", + "source":"/react/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/vue/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/guides/functions/dynamodb-from-python-lambda/q/platform/android/", +>>>>>>> main + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/identifyuser/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/identify-user/", + "source":"/angular/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/personalize/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/personalize-recommendations/", + "source":"/nextjs/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/record/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/analytics/record-events/", + "source":"/react/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/record/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/record-events/", + "source":"/vue/build-a-backend/functions/dynamodb-from-lambda-nodejs/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/storing/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/storing-data/", + "source": "/guides/functions/dynamodb-from-python-lambda/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/dynamodb-from-python-lambda/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/dynamodb-from-python-lambda/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/streaming/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/streaming-data/", + "source":"/swift/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/streaming/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/streaming-data/", + "source":"/android/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/update-endpoint/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", + "source":"/angular/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/update-endpoint/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", + "source":"/nextjs/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/advanced/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/advanced-workflows/", + "source":"/react/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/auth-events/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/auth-events/", + "source":"/vue/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/emailpassword/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/enable-sign-up/", +<<<<<<< HEAD + "source":"/guides/functions/graphql-from-lambda/q/platform/ios/", + "target":"/swift/build-a-backend/functions/graphql-from-lambda/", +======= + "source":"/javascript/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/set-up-auth/", + "source":"/swift/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/swift/build-a-backend/functions/", +>>>>>>> main "status":"301", "condition":null }, { - "source":"/lib-v1/auth/manageusers/q/platform/react-native/#managing-user-attributes", - "target":"/react-native/prev/build-a-backend/auth/manage-user-profile/", +<<<<<<< HEAD + "source": "/guides/functions/graphql-from-lambda/q/platform/js/", + "target": "/javascript/build-a-backend/functions/graphql-from-lambda/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/graphql-server-in-lambda/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/graphql-server-in-lambda/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/graphql-server-lambda/", + "target":"/javascript/build-a-backend/functions/", +======= + "source":"/android/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/mfa/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/manage-mfa/", + "source":"/angular/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/overview/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/under-the-hood/", + "source":"/nextjs/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/overview/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/under-the-hood/", + "source":"/react/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/password_management/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/manage-passwords/", + "source":"/vue/build-a-backend/functions/dynamodb-from-lambda-python/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/social/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/add-social-provider/", + "source":"/guides/functions/graphql-from-lambda/q/platform/ios/", + "target":"/swift/build-a-backend/functions/graphql-from-lambda/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/switch-auth/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/auth/switch-auth/", + "source":"/guides/functions/graphql-from-lambda/q/platform/js/", + "target":"/javascript/build-a-backend/functions/graphql-from-lambda/", +>>>>>>> main "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/advanced-workflows/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/customize-primary-keys/", + "source":"/swift/build-a-backend/functions/graphql-server-lambda/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/advanced-workflows/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/customize-primary-keys/", +<<<<<<< HEAD + "source":"/android/build-a-backend/functions/graphql-server-lambda/", +======= + "source":"/guides/functions/graphql-server-in-lambda/q/platform/js/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/conflict/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "source":"/javascript/build-a-backend/functions/graphql-server-lambda/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/conflict/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "source":"/swift/build-a-backend/functions/graphql-server-lambda/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/data-access/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/manipulate-data/", + "source":"/android/build-a-backend/functions/graphql-server-lambda/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/data-access/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/manipulate-data/", + "source":"/angular/build-a-backend/functions/graphql-server-lambda/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/datastore-events/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/datastore-events/", + "source":"/nextjs/build-a-backend/functions/graphql-server-lambda/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/datastore-events/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/datastore-events/", + "source":"/react/build-a-backend/functions/graphql-server-lambda/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/getting-started/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "source":"/vue/build-a-backend/functions/graphql-server-lambda/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "source":"/guides/hosting/custom-domains/q/platform/js/", + "target":"/javascript/deploy-and-host/custom-configuration/configure-custom-domain/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/how-it-works/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/how-it-works/", + "source":"/guides/hosting/gatsby/q/platform/js/", + "target":"/javascript/deploy-and-host/frameworks/deploy-gatsby-site/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/how-it-works/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/how-it-works/", + "source":"/guides/hosting/git-based-deployments/q/platform/js/", + "target":"/javascript/deploy-and-host/deployment/deploy-static-site-github/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/other-methods/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/additional-methods/", + "source":"/guides/hosting/gridsome/q/platform/js/", + "target":"/javascript/deploy-and-host/frameworks/deploy-gridsome-site/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/other-methods/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/additional-methods/", + "source":"/guides/hosting/local-deployments/q/platform/js/", + "target":"/javascript/deploy-and-host/deployment/deploy-static-site-locally/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/real-time/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/real-time/", + "source":"/guides/hosting/nextjs/q/platform/js/", + "target":"/javascript/deploy-and-host/frameworks/deploy-nextjs-app/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/real-time/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/real-time/", + "source":"/guides/hosting/nuxt/q/platform/js/", + "target":"/javascript/deploy-and-host/frameworks/deploy-nuxt-site/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/relational/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/relational-models/", + "source":"/guides/hosting/password-protected-deployments/q/platform/js/", + "target":"/javascript/deploy-and-host/deployment/password-protected-deployments/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/relational/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/relational-models/", + "source":"/guides/hosting/pull-request-previews/q/platform/js/", + "target":"/javascript/deploy-and-host/deployment/pull-request-previews/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/schema-updates/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/schema-updates/", + "source":"/guides/hosting/vite/q/platform/js/", + "target":"/javascript/deploy-and-host/frameworks/deploy-vite-site/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/schema-updates/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/schema-updates/", + "source":"/lib-v1/analytics/autotrack/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/auto-track-sessions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/setup-auth-rules/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "source":"/lib-v1/analytics/autotrack/q/platform/js/", + "target":"/javascript/build-a-backend/more-features/analytics/auto-track-sessions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/setup-auth-rules/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "source":"/lib-v1/analytics/autotrack/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/auto-track-sessions/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/sync/q/platform/javascript/", - "target":"/javascript/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "source":"/lib-v1/analytics/enable-disable/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/enable-disable/", "status":"301", "condition":null }, { - "source":"/lib-v1/datastore/sync/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "source":"/lib-v1/analytics/enable-disable/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/enable-disable/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/escapehatch/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/amazon-location-sdk/", + "source":"/lib-v1/analytics/enable-disable/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/enable-disable/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/existing-resources/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/existing-resources/", + "source":"/lib-v1/analytics/existing-resources/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/geofences/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/geofences/", + "source":"/lib-v1/analytics/existing-resources/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/set-up-geo/", + "source":"/lib-v1/analytics/existing-resources/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/google-migration/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/google-migration/", + "source":"/lib-v1/analytics/getting-started/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/set-up-analytics/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/maps/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/maps/", + "source":"/lib-v1/analytics/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/set-up-analytics/", "status":"301", "condition":null }, { - "source":"/lib-v1/geo/search/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/geo/location-search/", + "source":"/lib-v1/analytics/identifyuser/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/identify-user/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/authz/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "source":"/lib-v1/analytics/personalize/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/personalize-recommendations/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/authz/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "source":"/lib-v1/analytics/record/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/more-features/analytics/record-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/existing-resources/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/existing-resources/", + "source":"/lib-v1/analytics/record/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/record-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/existing-resources/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/existing-resources/", + "source":"/lib-v1/analytics/storing/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/storing-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "source":"/lib-v1/analytics/streaming/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/streaming-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "source":"/lib-v1/analytics/streaming/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/streaming-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/mutate-data/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/mutate-data/", + "source":"/lib-v1/analytics/update-endpoint/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/mutate-data/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/mutate-data/", + "source":"/lib-v1/analytics/update-endpoint/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/offline/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/offline/", + "source":"/lib-v1/auth/advanced/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/advanced-workflows/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/query-data/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/query-data/", + "source":"/lib-v1/auth/auth-events/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/auth-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/query-data/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/query-data/", + "source":"/lib-v1/auth/emailpassword/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/subscribe-data/", + "source":"/lib-v1/auth/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/set-up-auth/", "status":"301", "condition":null }, { - "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/subscribe-data/", + "source":"/lib-v1/auth/manageusers/q/platform/react-native/#managing-user-attributes", + "target":"/react-native/prev/build-a-backend/auth/manage-user-profile/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/clear-messages/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", + "source":"/lib-v1/auth/mfa/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/manage-mfa/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/clear-messages/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", + "source":"/lib-v1/auth/overview/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/auth/under-the-hood/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/create-campaign/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", + "source":"/lib-v1/auth/overview/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/under-the-hood/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/create-campaign/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", + "source":"/lib-v1/auth/password_management/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/manage-passwords/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/display-message/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/display-messages/", + "source":"/lib-v1/auth/social/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/add-social-provider/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/display-message/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/display-messages/", + "source":"/lib-v1/auth/switch-auth/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/auth/switch-auth/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "source":"/lib-v1/datastore/advanced-workflows/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/customize-primary-keys/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "source":"/lib-v1/datastore/advanced-workflows/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/customize-primary-keys/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/identify-user/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/identify-user/", + "source":"/lib-v1/datastore/conflict/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/conflict-resolution/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/identify-user/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/identify-user/", + "source":"/lib-v1/datastore/conflict/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/conflict-resolution/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/integrate-your-application/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", + "source":"/lib-v1/datastore/data-access/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/manipulate-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/integrate-your-application/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", + "source":"/lib-v1/datastore/data-access/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/manipulate-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/overview/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/", + "source":"/lib-v1/datastore/datastore-events/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/datastore-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/overview/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/", + "source":"/lib-v1/datastore/datastore-events/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/datastore-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/resolve-conflicts/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "source":"/lib-v1/datastore/getting-started/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/set-up-datastore/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/resolve-conflicts/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "source":"/lib-v1/datastore/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/set-up-datastore/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/respond-interaction-events/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "source":"/lib-v1/datastore/how-it-works/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/how-it-works/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/respond-interaction-events/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "source":"/lib-v1/datastore/how-it-works/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/how-it-works/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/sync-messages/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", + "source":"/lib-v1/datastore/other-methods/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/additional-methods/", "status":"301", "condition":null }, { - "source":"/lib-v1/in-app-messaging/sync-messages/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", + "source":"/lib-v1/datastore/other-methods/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/additional-methods/", "status":"301", "condition":null }, { - "source":"/lib-v1/interactions/chatbot/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/interactions/chatbot/", + "source":"/lib-v1/datastore/real-time/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/real-time/", "status":"301", "condition":null }, { - "source":"/lib-v1/interactions/chatbot/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/interactions/chatbot/", + "source":"/lib-v1/datastore/real-time/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/real-time/", "status":"301", "condition":null }, { - "source":"/lib-v1/interactions/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/interactions/set-up-interactions/", + "source":"/lib-v1/datastore/relational/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/relational-models/", "status":"301", "condition":null }, { - "source":"/lib-v1/interactions/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/interactions/set-up-interactions/", + "source":"/lib-v1/datastore/relational/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/relational-models/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "source":"/lib-v1/datastore/schema-updates/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/schema-updates/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "source":"/lib-v1/datastore/schema-updates/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/schema-updates/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/identify-entity/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/identify-entity/", + "source":"/lib-v1/datastore/setup-auth-rules/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/authz-rules-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/identify-entity/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/identify-entity/", + "source":"/lib-v1/datastore/setup-auth-rules/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/authz-rules-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/identify-text/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/identify-text/", + "source":"/lib-v1/datastore/sync/q/platform/javascript/", + "target":"/javascript/prev/build-a-backend/more-features/datastore/sync-to-cloud/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/identify-text/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/identify-text/", + "source":"/lib-v1/datastore/sync/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/datastore/sync-to-cloud/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/interpret/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "source":"/lib-v1/geo/escapehatch/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/amazon-location-sdk/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/interpret/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "source":"/lib-v1/geo/existing-resources/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/intro/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/", + "source":"/lib-v1/geo/geofences/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/geofences/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/intro/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/", + "source":"/lib-v1/geo/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/set-up-geo/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/label-image/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/label-image/", + "source":"/lib-v1/geo/google-migration/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/google-migration/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/label-image/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/label-image/", + "source":"/lib-v1/geo/maps/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/maps/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/sample/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/example-app/", + "source":"/lib-v1/geo/search/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/geo/location-search/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/sample/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/example-app/", + "source":"/lib-v1/graphqlapi/authz/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/customize-authz-modes/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/text-speech/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/text-to-speech/", + "source":"/lib-v1/graphqlapi/authz/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/customize-authz-modes/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/text-speech/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/text-to-speech/", + "source":"/lib-v1/graphqlapi/existing-resources/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/transcribe/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/transcribe-audio/", + "source":"/lib-v1/graphqlapi/existing-resources/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/transcribe/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/transcribe-audio/", + "source":"/lib-v1/graphqlapi/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/set-up-graphql-api/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/translate/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/predictions/translate/", + "source":"/lib-v1/graphqlapi/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/set-up-graphql-api/", "status":"301", "condition":null }, { - "source":"/lib-v1/predictions/translate/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/predictions/translate/", + "source":"/lib-v1/graphqlapi/mutate-data/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/mutate-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/async/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/mutate-data/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/mutate-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/combine/q/platform/ios/", - "target":"/swift/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/offline/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/offline/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/coroutines/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/query-data/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/query-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/create-application/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/query-data/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/query-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/create-application/q/platform/flutter/", - "target":"/flutter/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/js/", + "target":"/javascript/prev/build-a-backend/graphqlapi/subscribe-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/create-application/q/platform/ios/", - "target":"/swift/prev/start/project-setup/", + "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/graphqlapi/subscribe-data/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/create-application/q/platform/js/", - "target":"/javascript/start/project-setup/", + "source":"/lib-v1/in-app-messaging/clear-messages/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/escape-hatch/q/platform/flutter/", - "target":"/flutter/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/clear-messages/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/platform-setup/q/platform/flutter/", - "target":"/flutter/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/create-campaign/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/prereq/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/create-campaign/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/prereq/q/platform/flutter/", - "target":"/flutter/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/display-message/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/display-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/prereq/q/platform/ios/", - "target":"/swift/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/display-message/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/display-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/prereq/q/platform/js/", - "target":"/javascript/start/project-setup/", + "source":"/lib-v1/in-app-messaging/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/rxjava/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/use-existing-resources/q/platform/android/", - "target":"/android/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/identify-user/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/identify-user/", "status":"301", "condition":null }, { - "source":"/lib-v1/project-setup/use-existing-resources/q/platform/ios/", - "target":"/swift/prev/start/project-setup/", + "source":"/lib-v1/in-app-messaging/identify-user/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/identify-user/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", + "source":"/lib-v1/in-app-messaging/integrate-your-application/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", + "source":"/lib-v1/in-app-messaging/integrate-your-application/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/publish/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/pubsub/publish/", + "source":"/lib-v1/in-app-messaging/overview/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/publish/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/pubsub/publish/", + "source":"/lib-v1/in-app-messaging/overview/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/subunsub/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/pubsub/subscribe/", + "source":"/lib-v1/in-app-messaging/resolve-conflicts/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", "status":"301", "condition":null }, { - "source":"/lib-v1/pubsub/subunsub/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/pubsub/subscribe/", + "source":"/lib-v1/in-app-messaging/resolve-conflicts/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/app-badge-count/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/app-badge-count/", + "source":"/lib-v1/in-app-messaging/respond-interaction-events/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/enable-rich-notifications/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/enable-rich-notifications/", + "source":"/lib-v1/in-app-messaging/respond-interaction-events/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/set-up-push-notifications/", + "source":"/lib-v1/in-app-messaging/sync-messages/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/identify-user/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/identify-user/", + "source":"/lib-v1/in-app-messaging/sync-messages/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/interact-with-notifications/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/interact-with-notifications/", + "source":"/lib-v1/interactions/chatbot/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/interactions/chatbot/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/receive-device-token/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/receive-device-token/", + "source":"/lib-v1/interactions/chatbot/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/interactions/chatbot/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/request-permissions/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/request-permissions/", + "source":"/lib-v1/interactions/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/interactions/set-up-interactions/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/setup-push-service/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/set-up-push-service/", + "source":"/lib-v1/interactions/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/interactions/set-up-interactions/", "status":"301", "condition":null }, { - "source":"/lib-v1/push-notifications/testing/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/test-notifications/", + "source":"/lib-v1/predictions/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/set-up-predictions/", "status":"301", "condition":null }, { - "source":"/lib-v1/q/platform/android/", - "target":"/android/prev/build-a-backend/", + "source":"/lib-v1/predictions/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/set-up-predictions/", "status":"301", "condition":null }, { - "source":"/lib-v1/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/", + "source":"/lib-v1/predictions/identify-entity/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/identify-entity/", "status":"301", "condition":null }, { - "source":"/lib-v1/q/platform/ios/", - "target":"/swift/prev/build-a-backend/", + "source":"/lib-v1/predictions/identify-entity/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/identify-entity/", "status":"301", "condition":null }, { - "source":"/lib-v1/q/platform/js/", - "target":"/javascript/tools/libraries/", + "source":"/lib-v1/predictions/identify-text/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/identify-text/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/authz/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/customize-authz/", + "source":"/lib-v1/predictions/identify-text/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/identify-text/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/authz/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/customize-authz/", + "source":"/lib-v1/predictions/interpret/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/interpret-sentiment/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/cancel/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/cancel-api-requests/", + "source":"/lib-v1/predictions/interpret/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/interpret-sentiment/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/cancel/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/cancel-api-requests/", + "source":"/lib-v1/predictions/intro/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/delete/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/delete-data/", + "source":"/lib-v1/predictions/intro/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/delete/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/delete-data/", + "source":"/lib-v1/predictions/label-image/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/label-image/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/existing-resources/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/existing-resources/", + "source":"/lib-v1/predictions/label-image/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/label-image/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/existing-resources/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/existing-resources/", + "source":"/lib-v1/predictions/sample/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/example-app/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/fetch/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/fetch-data/", + "source":"/lib-v1/predictions/sample/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/example-app/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/fetch/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/fetch-data/", + "source":"/lib-v1/predictions/text-speech/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/text-to-speech/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/set-up-rest-api/", + "source":"/lib-v1/predictions/text-speech/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/text-to-speech/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/set-up-rest-api/", + "source":"/lib-v1/predictions/transcribe/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/transcribe-audio/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/update/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/update-data/", + "source":"/lib-v1/predictions/transcribe/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/transcribe-audio/", "status":"301", "condition":null }, { - "source":"/lib-v1/restapi/update/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/update-data/", + "source":"/lib-v1/predictions/translate/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/predictions/translate/", "status":"301", "condition":null }, { - "source":"/lib-v1/ssr/nextjs/q/platform/js/", - "target":"/javascript/prev/build-a-backend/server-side-rendering/", + "source":"/lib-v1/predictions/translate/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/predictions/translate/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/cancel-requests/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/cancel-requests/", + "source":"/lib-v1/project-setup/async/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/cancel-requests/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/cancel-requests/", + "source":"/lib-v1/project-setup/combine/q/platform/ios/", + "target":"/swift/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/configureaccess/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/configure-access/", + "source":"/lib-v1/project-setup/coroutines/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/copy/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/copy/", + "source":"/lib-v1/project-setup/create-application/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/custom-plugin/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/copy/", + "source":"/lib-v1/project-setup/create-application/q/platform/flutter/", + "target":"/flutter/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/custom-plugin/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/copy/", + "source":"/lib-v1/project-setup/create-application/q/platform/ios/", + "target":"/swift/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/download/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/download/", + "source":"/lib-v1/project-setup/create-application/q/platform/js/", + "target":"/javascript/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/existing-resources/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/existing-resources/", + "source":"/lib-v1/project-setup/escape-hatch/q/platform/flutter/", + "target":"/flutter/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/getting-started/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/set-up-storage/", + "source":"/lib-v1/project-setup/platform-setup/q/platform/flutter/", + "target":"/flutter/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/list/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/list/", + "source":"/lib-v1/project-setup/prereq/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/overview/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/", + "source":"/lib-v1/project-setup/prereq/q/platform/flutter/", + "target":"/flutter/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/remove/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/remove/", + "source":"/lib-v1/project-setup/prereq/q/platform/ios/", + "target":"/swift/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/transfer-acceleration/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/transfer-acceleration/", + "source":"/lib-v1/project-setup/prereq/q/platform/js/", + "target":"/javascript/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/triggers/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/lambda-triggers/", + "source":"/lib-v1/project-setup/rxjava/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/storage/upload/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/upload/", + "source":"/lib-v1/project-setup/use-existing-resources/q/platform/android/", + "target":"/android/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/troubleshooting/strict-mode/q/platform/js/", - "target":"/javascript/prev/build-a-backend/troubleshooting/strict-mode/", + "source":"/lib-v1/project-setup/use-existing-resources/q/platform/ios/", + "target":"/swift/prev/start/project-setup/", "status":"301", "condition":null }, { - "source":"/lib-v1/troubleshooting/strict-mode/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/troubleshooting/strict-mode/", + "source":"/lib-v1/pubsub/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", "status":"301", "condition":null }, { - "source":"/lib-v1/troubleshooting/upgrading/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/troubleshooting/upgrade-amplify-packages/", + "source":"/lib-v1/pubsub/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/cache/q/platform/js/", - "target":"/javascript/prev/build-a-backend/utilities/cache/", + "source":"/lib-v1/pubsub/publish/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/pubsub/publish/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/cache/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/utilities/cache/", + "source":"/lib-v1/pubsub/publish/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/pubsub/publish/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/hub/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/utilities/hub/", + "source":"/lib-v1/pubsub/subunsub/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/pubsub/subscribe/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/i18n/q/platform/js/", - "target":"/javascript/prev/build-a-backend/utilities/i18n/", + "source":"/lib-v1/pubsub/subunsub/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/pubsub/subscribe/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/i18n/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/utilities/i18n/", + "source":"/lib-v1/push-notifications/app-badge-count/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/app-badge-count/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/logger/q/platform/js/", - "target":"/javascript/prev/build-a-backend/utilities/console-logger/", + "source":"/lib-v1/push-notifications/enable-rich-notifications/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/enable-rich-notifications/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/logger/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/utilities/console-logger/", + "source":"/lib-v1/push-notifications/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/set-up-push-notifications/", "status":"301", "condition":null }, { - "source":"/lib-v1/utilities/serviceworker/q/platform/js/", - "target":"/javascript/prev/build-a-backend/utilities/service-worker/", + "source":"/lib-v1/push-notifications/identify-user/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/identify-user/", "status":"301", "condition":null }, { - "source":"/lib/analytics/autotrack/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/auto-track-sessions/", + "source":"/lib-v1/push-notifications/interact-with-notifications/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/interact-with-notifications/", "status":"301", "condition":null }, { - "source":"/lib/analytics/enable-disable/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/enable-disable/", + "source":"/lib-v1/push-notifications/receive-device-token/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/receive-device-token/", "status":"301", "condition":null }, { - "source":"/lib/analytics/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/existing-resources/", + "source":"/lib-v1/push-notifications/request-permissions/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/request-permissions/", "status":"301", "condition":null }, { - "source":"/lib/analytics/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/lib-v1/push-notifications/setup-push-service/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/set-up-push-service/", "status":"301", "condition":null }, { - "source":"/lib/analytics/identifyuser/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/identify-user/", + "source":"/lib-v1/push-notifications/testing/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/push-notifications/test-notifications/", "status":"301", "condition":null }, { - "source":"/lib/analytics/record/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/analytics/record-events/", + "source":"/lib-v1/q/platform/android/", + "target":"/android/prev/build-a-backend/", "status":"301", "condition":null }, { - "source":"/lib/analytics/update-endpoint/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", + "source":"/lib-v1/q/platform/flutter/", + "target":"/flutter/prev/build-a-backend/", "status":"301", "condition":null }, { - "source":"/lib/analytics/update-endpoint/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", + "source":"/lib-v1/q/platform/ios/", + "target":"/swift/prev/build-a-backend/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/call-to-action/", - "target":"/javascript/build-ui/formbuilder/call-to-action/", + "source":"/lib-v1/q/platform/js/", + "target":"/javascript/tools/libraries/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/customize/", - "target":"/javascript/build-ui/formbuilder/customize/", + "source":"/lib-v1/restapi/authz/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/customize-authz/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/data-binding/", - "target":"/javascript/build-ui/formbuilder/data-binding/", + "source":"/lib-v1/restapi/authz/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/customize-authz/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/lifecycle/", - "target":"/javascript/build-ui/formbuilder/lifecycle/", + "source":"/lib-v1/restapi/cancel/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/cancel-api-requests/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/overrides/", - "target":"/javascript/build-ui/formbuilder/overrides/", + "source":"/lib-v1/restapi/cancel/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/cancel-api-requests/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/overview/", - "target":"/javascript/build-ui/formbuilder/", + "source":"/lib-v1/restapi/delete/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/delete-data/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/special-inputs/", - "target":"/javascript/build-ui/formbuilder/special-inputs/", + "source":"/lib-v1/restapi/delete/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/delete-data/", "status":"301", "condition":null }, { - "source":"/console/formbuilder/validations/", - "target":"/javascript/build-ui/formbuilder/validations/", + "source":"/lib-v1/restapi/existing-resources/q/platform/js/", + "target":"/javascript/build-a-backend/restapi/existing-resources/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/bestpractices/", - "target":"/javascript/build-ui/uibuilder/bestpractices/", + "source":"/lib-v1/restapi/existing-resources/q/platform/react-native/", + "target":"/react-native/build-a-backend/restapi/existing-resources/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/collections/", - "target":"/javascript/build-ui/uibuilder/collections/", + "source":"/lib-v1/restapi/fetch/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/fetch-data/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/databinding/", - "target":"/javascript/build-ui/uibuilder/databinding/", + "source":"/lib-v1/restapi/fetch/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/fetch-data/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/eventhandling/", - "target":"/javascript/build-ui/uibuilder/eventhandling/", + "source":"/lib-v1/restapi/getting-started/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/set-up-rest-api/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/figmatocode/", - "target":"/javascript/build-ui/uibuilder/", + "source":"/lib-v1/restapi/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/set-up-rest-api/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/override/", - "target":"/javascript/build-ui/uibuilder/override/", + "source":"/lib-v1/restapi/update/q/platform/js/", + "target":"/javascript/prev/build-a-backend/restapi/update-data/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/responsive/", - "target":"/javascript/build-ui/uibuilder/responsive/", + "source":"/lib-v1/restapi/update/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/restapi/update-data/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/slots/", - "target":"/javascript/build-ui/uibuilder/slots/", + "source":"/lib-v1/ssr/nextjs/q/platform/js/", + "target":"/javascript/prev/build-a-backend/server-side-rendering/", "status":"301", "condition":null }, { - "source":"/console/uibuilder/theming/", - "target":"/javascript/build-ui/uibuilder/theming/", + "source":"/lib-v1/storage/cancel-requests/q/platform/js/", + "target":"/javascript/prev/build-a-backend/storage/cancel-requests/", "status":"301", "condition":null }, { - "source":"/guides/functions/connecting-a-rest-api/q/platform/android/", - "target":"/android/build-a-backend/functions/", + "source":"/lib-v1/storage/cancel-requests/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/cancel-requests/", "status":"301", "condition":null }, { - "source":"/guides/functions/integrating-dynamodb-with-lambda/q/platform/android/", - "target":"/android/build-a-backend/functions/", + "source":"/lib-v1/storage/configureaccess/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/configure-access/", "status":"301", "condition":null }, { - "source":"/guides/functions/integrating-dynamodb-with-lambda/q/platform/ios/", - "target":"/swift/build-a-backend/functions/", + "source":"/lib-v1/storage/copy/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/copy/", "status":"301", "condition":null }, { - "source":"/guides/functions/integrating-dynamodb-with-lambda/q/platform/js/", - "target":"/javascript/build-a-backend/functions/", + "source":"/lib-v1/storage/custom-plugin/q/platform/js/", + "target":"/javascript/prev/build-a-backend/storage/copy/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/autotrack/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "source":"/lib-v1/storage/custom-plugin/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/copy/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/autotrack/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "source":"/lib-v1/storage/download/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/download/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/enable-disable/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/enable-disable/", + "source":"/lib-v1/storage/existing-resources/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/enable-disable/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/enable-disable/", + "source":"/lib-v1/storage/getting-started/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/set-up-storage/", "status":"301", "condition":null }, { - "source":"/lib/client-configuration/configuring-amplify-categories/q/platform/js/", - "target":"/javascript/tools/libraries/configure-categories/", + "source":"/lib-v1/storage/list/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/list/", "status":"301", "condition":null }, { - "source":"/lib/client-configuration/configuring-amplify-categories/q/platform/react-native/", - "target":"react-native/tools/libraries/configure-categories/", + "source":"/lib-v1/storage/overview/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/escapehatch/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/sdk/", + "source":"/lib-v1/storage/remove/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/remove/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/escapehatch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/sdk/", + "source":"/lib-v1/storage/transfer-acceleration/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/transfer-acceleration/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/existing-resources/", + "source":"/lib-v1/storage/triggers/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/lambda-triggers/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/existing-resources/", - "status":"301", + "source":"/lib-v1/storage/upload/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/storage/upload/", + "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/lib-v1/troubleshooting/strict-mode/q/platform/js/", + "target":"/javascript/prev/build-a-backend/troubleshooting/strict-mode/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/lib-v1/troubleshooting/strict-mode/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/troubleshooting/strict-mode/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "source":"/lib-v1/troubleshooting/upgrading/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/troubleshooting/upgrade-amplify-packages/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/identifyuser/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/identify-user/", + "source":"/lib-v1/utilities/cache/q/platform/js/", + "target":"/javascript/prev/build-a-backend/utilities/cache/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/identifyuser/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/identify-user/", + "source":"/lib-v1/utilities/cache/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/utilities/cache/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/identifyuser/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/identify-user/", + "source":"/lib-v1/utilities/hub/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/utilities/hub/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/record/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/analytics/record-events/", + "source":"/lib-v1/utilities/i18n/q/platform/js/", + "target":"/javascript/prev/build-a-backend/utilities/i18n/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/record/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/analytics/record-events/", + "source":"/lib-v1/utilities/i18n/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/utilities/i18n/", "status":"301", "condition":null }, { - "source":"/lib-v1/analytics/record/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/record-events/", + "source":"/lib-v1/utilities/logger/q/platform/js/", + "target":"/javascript/prev/build-a-backend/utilities/console-logger/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/access_credentials/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/accessing-credentials/", + "source":"/lib-v1/utilities/logger/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/utilities/console-logger/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/access_credentials/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/accessing-credentials/", + "source":"/lib-v1/utilities/serviceworker/q/platform/js/", + "target":"/javascript/prev/build-a-backend/utilities/service-worker/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/access_credentials/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/accessing-credentials/", + "source":"/lib/analytics/autotrack/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/auto-track-sessions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/advanced/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/advanced-workflows/", + "source":"/lib/analytics/enable-disable/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/enable-disable/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/auth-events/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/auth-events/", + "source":"/lib/analytics/existing-resources/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/existing-resources/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/auth-events/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/auth-events/", + "source":"/lib/analytics/getting-started/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/set-up-analytics/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/auth-events/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/auth-events/", + "source":"/lib/analytics/identifyuser/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/identify-user/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/auth-events/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/auth-events/", + "source":"/lib/analytics/record/q/platform/flutter/", + "target":"/flutter/build-a-backend/more-features/analytics/record-events/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/delete_user/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/delete-user-account/", + "source":"/lib/analytics/update-endpoint/q/platform/js/", + "target":"/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/delete_user/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/delete-user-account/", + "source":"/lib/analytics/update-endpoint/q/platform/react-native/", + "target":"/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/delete_user/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/delete-user-account/", + "source":"/console/formbuilder/call-to-action/", + "target":"/javascript/build-ui/formbuilder/call-to-action/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/device_features/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/remember-device/", + "source":"/console/formbuilder/customize/", + "target":"/javascript/build-ui/formbuilder/customize/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/device_features/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/remember-device/", + "source":"/console/formbuilder/data-binding/", + "target":"/javascript/build-ui/formbuilder/data-binding/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/device_features/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/remember-device/", + "source":"/console/formbuilder/lifecycle/", + "target":"/javascript/build-ui/formbuilder/lifecycle/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/emailpassword/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/enable-sign-up/", + "source":"/console/formbuilder/overrides/", + "target":"/javascript/build-ui/formbuilder/overrides/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/escapehatch/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/sdk/", + "source":"/console/formbuilder/overview/", + "target":"/javascript/build-ui/formbuilder/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/escapehatch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/sdk/", + "source":"/console/formbuilder/special-inputs/", + "target":"/javascript/build-ui/formbuilder/special-inputs/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/existing-resources/", + "source":"/console/formbuilder/validations/", + "target":"/javascript/build-ui/formbuilder/validations/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/existing-resources/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/existing-resources/", + "source":"/console/uibuilder/bestpractices/", + "target":"/javascript/build-ui/uibuilder/bestpractices/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/existing-resources/", + "source":"/console/uibuilder/collections/", + "target":"/javascript/build-ui/uibuilder/collections/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/set-up-auth/", + "source":"/console/uibuilder/databinding/", + "target":"/javascript/build-ui/uibuilder/databinding/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/set-up-auth/", + "source":"/console/uibuilder/eventhandling/", + "target":"/javascript/build-ui/uibuilder/eventhandling/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/set-up-auth/", + "source":"/console/uibuilder/figmatocode/", + "target":"/javascript/build-ui/uibuilder/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/getting-started/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/set-up-auth/", + "source":"/console/uibuilder/override/", + "target":"/javascript/build-ui/uibuilder/override/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/guest_access/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/enable-guest-access/", + "source":"/console/uibuilder/responsive/", + "target":"/javascript/build-ui/uibuilder/responsive/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/guest_access/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/enable-guest-access/", + "source":"/console/uibuilder/slots/", + "target":"/javascript/build-ui/uibuilder/slots/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/guest_access/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/enable-guest-access/", + "source":"/console/uibuilder/theming/", + "target":"/javascript/build-ui/uibuilder/theming/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/manageusers/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/manage-passwords/", + "source":"/guides/functions/connecting-a-rest-api/q/platform/android/", +>>>>>>> main + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/manageusers/q/platform/js/#managing-user-attributes", - "target":"/javascript/prev/build-a-backend/auth/manage-user-profile/", + "source":"/angular/build-a-backend/functions/graphql-server-lambda/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/managing_credentials/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/managing-credentials/", + "source":"/nextjs/build-a-backend/functions/graphql-server-lambda/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/mfa/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/manage-mfa/", + "source":"/react/build-a-backend/functions/graphql-server-lambda/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/overview/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/under-the-hood/", + "source":"/vue/build-a-backend/functions/graphql-server-lambda/", + "target":"/vue/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib-v1/auth/overview/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/", - "status":"301", - "condition":null + "source": "/guides/hosting/custom-domains/q/platform/js/", + "target": "/javascript/deploy-and-host/custom-configuration/configure-custom-domain/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/overview/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/under-the-hood/", - "status":"301", - "condition":null + "source": "/guides/hosting/gatsby/q/platform/js/", + "target": "/javascript/deploy-and-host/frameworks/deploy-gatsby-site/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/password_management/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/guides/hosting/git-based-deployments/q/platform/js/", + "target": "/javascript/deploy-and-host/deployment/deploy-static-site-github/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/password_management/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/guides/hosting/gridsome/q/platform/js/", + "target": "/javascript/deploy-and-host/frameworks/deploy-gridsome-site/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/password_management/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/guides/hosting/local-deployments/q/platform/js/", + "target": "/javascript/deploy-and-host/deployment/deploy-static-site-locally/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_next_steps/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/multi-step-sign-in/", - "status":"301", - "condition":null + "source": "/guides/hosting/nextjs/q/platform/js/", + "target": "/javascript/deploy-and-host/frameworks/deploy-nextjs-app/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_next_steps/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/multi-step-sign-in/", - "status":"301", - "condition":null + "source": "/guides/hosting/nuxt/q/platform/js/", + "target": "/javascript/deploy-and-host/frameworks/deploy-nuxt-site/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_web_ui/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/guides/hosting/password-protected-deployments/q/platform/js/", + "target": "/javascript/deploy-and-host/deployment/password-protected-deployments/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_web_ui/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/guides/hosting/pull-request-previews/q/platform/js/", + "target": "/javascript/deploy-and-host/deployment/pull-request-previews/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_web_ui/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/guides/hosting/vite/q/platform/js/", + "target": "/javascript/deploy-and-host/frameworks/deploy-vite-site/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_with_custom_flow/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/sign-in-custom-flow/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/autotrack/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin_with_custom_flow/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/sign-in-custom-flow/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/autotrack/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/autotrack/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/enable-disable/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signin/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/enable-disable/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signOut/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/enable-disable/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signOut/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/existing-resources/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/signOut/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/existing-resources/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/sms_flows/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/add-sms-flows/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/existing-resources/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/social/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/social/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/social/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/identifyuser/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/social/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/personalize/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/personalize-recommendations/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/switch-auth/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/switch-auth/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/record/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/user-attributes/q/platform/android/", - "target":"/android/prev/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/record/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/user-attributes/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/storing/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/storing-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/auth/user-attributes/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/streaming/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/streaming-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/advanced-workflows/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/streaming/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/streaming-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/conflict/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/update-endpoint/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/conflict/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/update-endpoint/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/conflict/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/advanced/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/data-access/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/auth-events/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/data-access/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/emailpassword/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/data-access/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/datastore-events/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/manageusers/q/platform/react-native/#managing-user-attributes", + "target": "/react-native/prev/build-a-backend/auth/manage-user-profile/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/datastore-events/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/mfa/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/datastore-events/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/overview/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/overview/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/password_management/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/social/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/how-it-works/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/switch-auth/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/how-it-works/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/how-it-works/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/advanced-workflows/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/how-it-works/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/advanced-workflows/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/other-methods/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/conflict/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/other-methods/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/conflict/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/other-methods/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/data-access/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/real-time/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/data-access/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/real-time/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/datastore-events/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/real-time/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/datastore-events/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/relational/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/getting-started/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/relational/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/relational/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/how-it-works/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/schema-updates/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/how-it-works/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/schema-updates/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/other-methods/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/schema-updates/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/other-methods/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/setup-auth-rules/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/real-time/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/setup-auth-rules/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/real-time/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/setup-auth-rules/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/relational/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/sync/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/relational/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/sync/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/schema-updates/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/datastore/sync/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/schema-updates/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/debugging/dev-menu/q/platform/android/", - "target":"/android/prev/build-a-backend/debugging/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/debugging/dev-menu/q/platform/ios/", - "target":"/swift/prev/build-a-backend/debugging/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/escapehatch/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/sync/q/platform/javascript/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/escapehatch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/sync/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/escapehatch/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/existing-resources/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/geofences/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/geofences/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/maps/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/maps/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/google-migration/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/google-migration/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/maps/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/maps/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/maps/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/search/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/location-search/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/search/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/geo/search/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/location-search/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/authz/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/advanced-workflows/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/authz/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/advanced-workflows/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/existing-resources/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/advanced-workflows/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/existing-resources/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/authz/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/customize-authz-modes/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/authz/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/customize-authz-modes/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/authz/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/customize-authz-modes/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/mutate-data/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/concepts/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/mutate-data/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/concepts/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/offline/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/concepts/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/query-data/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/query-data/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/existing-resources/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/subscribe-data/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/subscribe-data/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/clear-messages/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/clear-messages/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/clear-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/create-campaign/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/mutate-data/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/create-campaign/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/create-campaign/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/mutate-data/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/display-message/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/display-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/mutate-data/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/display-message/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/display-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/offline/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/offline/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/offline/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/identify-user/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/identify-user/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/query-data/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/identify-user/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/identify-user/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/query-data/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/integrate-your-application/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/query-data/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/integrate-your-application/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/integrate-application/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/android/", - "target":"/android/prev/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/overview/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/overview/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/graphqlapi/subscribe-data/q/platform/ios/", - "target":"/swift/prev/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/resolve-conflicts/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/info/overview/q/platform/ios/", - "target":"/swift/prev/build-a-backend/auth/data-usage-policy/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/resolve-conflicts/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "status": "301", + "condition": null }, { - "source":"/swift/prev/build-a-backend/more-features/datastore/data-usage-policy/", - "target":"/swift/prev/build-a-backend/auth/data-usage-policy/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/respond-interaction-events/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/escapehatch/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/respond-interaction-events/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/escapehatch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/sync-messages/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/lib-v1/in-app-messaging/sync-messages/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/in-app-messaging/sync-messages/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/lib-v1/interactions/chatbot/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/interactions/chatbot/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/identify-entity/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/lib-v1/interactions/chatbot/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/interactions/chatbot/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/identify-entity/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/lib-v1/interactions/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/interactions/set-up-interactions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/identify-text/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/lib-v1/interactions/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/interactions/set-up-interactions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/identify-text/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/interpret/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/interpret/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/identify-entity/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/label-image/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/identify-entity/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/label-image/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/identify-text/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/text-speech/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/identify-text/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/text-speech/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/interpret/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/transcribe/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/transcribe-audio/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/interpret/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/translate/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/intro/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/predictions/translate/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/intro/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/authz/q/platform/android/", - "target":"/android/prev/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/label-image/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/authz/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/label-image/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/authz/q/platform/ios/", - "target":"/swift/prev/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/sample/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/example-app/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/delete/q/platform/android/", - "target":"/android/prev/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/sample/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/example-app/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/delete/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/text-speech/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/delete/q/platform/ios/", - "target":"/swift/prev/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/text-speech/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/transcribe/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/transcribe/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/translate/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/fetch/q/platform/android/", - "target":"/android/prev/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/translate/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/fetch/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/async/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/fetch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/combine/q/platform/ios/", + "target": "/swift/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/coroutines/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/getting-started/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/create-application/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/create-application/q/platform/flutter/", + "target": "/flutter/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/update/q/platform/android/", - "target":"/android/prev/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/create-application/q/platform/ios/", + "target": "/swift/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/update/q/platform/flutter/", - "target":"/flutter/prev/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/create-application/q/platform/js/", + "target": "/javascript/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/restapi/update/q/platform/ios/", - "target":"/swift/prev/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/escape-hatch/q/platform/flutter/", + "target": "/flutter/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/configureaccess/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/platform-setup/q/platform/flutter/", + "target": "/flutter/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/configureaccess/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/prereq/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/copy/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/copy/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/prereq/q/platform/flutter/", + "target": "/flutter/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/download/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/prereq/q/platform/ios/", + "target": "/swift/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/download/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/prereq/q/platform/js/", + "target": "/javascript/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/escapehatch/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/rxjava/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/escapehatch/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/use-existing-resources/q/platform/android/", + "target": "/android/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/use-existing-resources/q/platform/ios/", + "target": "/swift/prev/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/get-properties/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/get-properties/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/pubsub/set-up-pubsub/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/existing-resources/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/publish/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/pubsub/publish/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/existing-resources/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/publish/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/pubsub/publish/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/subunsub/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/pubsub/subscribe/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/pubsub/subunsub/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/pubsub/subscribe/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/list/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/app-badge-count/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/app-badge-count/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/list/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/enable-rich-notifications/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/enable-rich-notifications/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/overview/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/overview/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/identify-user/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/identify-user/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/remove/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/interact-with-notifications/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/interact-with-notifications/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/remove/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/receive-device-token/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/receive-device-token/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/transfer-acceleration/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/request-permissions/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/request-permissions/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/triggers/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/setup-push-service/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/set-up-push-service/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/triggers/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/push-notifications/testing/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/test-notifications/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/upload/q/platform/android/", - "target":"/android/prev/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/q/platform/android/", + "target": "/android/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/storage/upload/q/platform/ios/", - "target":"/swift/prev/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/troubleshooting/upgrading/q/platform/js/", - "target":"/javascript/prev/build-a-backend/troubleshooting/upgrade-amplify-packages/", - "status":"301", - "condition":null + "source": "/lib-v1/q/platform/ios/", + "target": "/swift/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/utilities/hub/q/platform/android/", - "target":"/android/prev/build-a-backend/utilities/", - "status":"301", - "condition":null + "source": "/lib-v1/q/platform/js/", + "target": "/javascript/tools/libraries/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/utilities/hub/q/platform/ios/", - "target":"/swift/prev/build-a-backend/utilities/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/authz/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null }, { - "source":"/lib-v1/utilities/hub/q/platform/js/", - "target":"/javascript/prev/build-a-backend/utilities/hub/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/authz/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/autotrack/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/auto-track-sessions/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/cancel/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/cancel-api-requests/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/autotrack/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/auto-track-sessions/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/cancel/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/cancel-api-requests/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/autotrack/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/auto-track-sessions/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/delete/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/autotrack/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/auto-track-sessions/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/delete/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/create-custom-plugin/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/create-custom-plugin/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/existing-resources/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/create-custom-plugin/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/more-features/analytics/create-custom-plugin/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/existing-resources/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/enable-disable/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/enable-disable/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/fetch/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/enable-disable/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/enable-disable/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/fetch/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/enable-disable/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/enable-disable/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/offline/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/enable-disable/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/enable-disable/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/update/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/restapi/update/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/ssr/nextjs/q/platform/js/", + "target": "/javascript/prev/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/cancel-requests/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/cancel-requests/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/cancel-requests/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/cancel-requests/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/existing-resources/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/configureaccess/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/existing-resources/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/copy/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/copy/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/getting-started/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/set-up-analytics/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/custom-plugin/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/copy/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/set-up-analytics/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/custom-plugin/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/copy/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/set-up-analytics/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/download/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/download/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/set-up-analytics/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/existing-resources/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/identifyuser/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/identify-user/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/identifyuser/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/identify-user/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/list/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/personalize/q/platform/js/", - "target":"/javascript/prev/build-a-backend/more-features/analytics/personalize-recommendations/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/overview/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/record/q/platform/android/", - "target":"/android/build-a-backend/more-features/analytics/record-events/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/remove/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/record/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/analytics/record-events/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/transfer-acceleration/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/record/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/record-events/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/triggers/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/record/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/record-events/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/upload/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/storing/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/storing-data/", - "status":"301", - "condition":null + "source": "/lib-v1/troubleshooting/strict-mode/q/platform/js/", + "target": "/javascript/prev/build-a-backend/troubleshooting/strict-mode/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/streaming/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/analytics/streaming-data/", - "status":"301", - "condition":null + "source": "/lib-v1/troubleshooting/strict-mode/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/troubleshooting/strict-mode/", + "status": "301", + "condition": null }, { - "source":"/lib/analytics/streaming/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/analytics/streaming-data/", - "status":"301", - "condition":null + "source": "/lib-v1/troubleshooting/upgrading/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/troubleshooting/upgrade-amplify-packages/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/access_credentials/q/platform/android/", - "target":"/android/build-a-backend/auth/accessing-credentials/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/cache/q/platform/js/", + "target": "/javascript/prev/build-a-backend/utilities/cache/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/access_credentials/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/accessing-credentials/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/cache/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/utilities/cache/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/access_credentials/q/platform/ios/", - "target":"/swift/build-a-backend/auth/accessing-credentials/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/hub/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/utilities/hub/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/advanced/q/platform/android/", - "target":"/android/build-a-backend/auth/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/i18n/q/platform/js/", + "target": "/javascript/prev/build-a-backend/utilities/i18n/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/advanced/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/i18n/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/utilities/i18n/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/advanced/q/platform/ios/", - "target":"/swift/build-a-backend/auth/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/logger/q/platform/js/", + "target": "/javascript/prev/build-a-backend/utilities/console-logger/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/advanced/q/platform/js/", - "target":"/javascript/build-a-backend/auth/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/logger/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/utilities/console-logger/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/advanced/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/advanced-workflows/", - "status":"301", - "condition":null + "source": "/lib-v1/utilities/serviceworker/q/platform/js/", + "target": "/javascript/prev/build-a-backend/utilities/service-worker/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/auth-events/q/platform/android/", - "target":"/android/build-a-backend/auth/auth-events/", - "status":"301", - "condition":null + "source": "/lib/analytics/autotrack/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/auth-events/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/auth-events/", - "status":"301", - "condition":null + "source": "/lib/analytics/enable-disable/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/auth-events/q/platform/ios/", - "target":"/swift/build-a-backend/auth/auth-events/", - "status":"301", - "condition":null + "source": "/lib/analytics/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/auth-events/q/platform/js/", - "target":"/javascript/build-a-backend/auth/auth-events/", - "status":"301", - "condition":null + "source": "/lib/analytics/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/auth-events/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/auth-events/", - "status":"301", - "condition":null + "source": "/lib/analytics/identifyuser/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/delete_user/q/platform/android/", - "target":"/android/build-a-backend/auth/delete-user-account/", - "status":"301", - "condition":null + "source": "/lib/analytics/record/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/delete_user/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/delete-user-account/", - "status":"301", - "condition":null + "source": "/lib/analytics/update-endpoint/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/update-endpoint/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/delete_user/q/platform/ios/", - "target":"/swift/build-a-backend/auth/delete-user-account/", - "status":"301", - "condition":null + "source": "/lib/analytics/update-endpoint/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/update-endpoint/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/delete_user/q/platform/js/", - "target":"/javascript/build-a-backend/auth/delete-user-account/", - "status":"301", - "condition":null + "source": "/console/formbuilder/call-to-action/", + "target": "/javascript/build-ui/formbuilder/call-to-action/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/delete_user/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/delete-user-account/", - "status":"301", - "condition":null + "source": "/console/formbuilder/customize/", + "target": "/javascript/build-ui/formbuilder/customize/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/device_features/q/platform/android/", - "target":"/android/build-a-backend/auth/remember-device/", - "status":"301", - "condition":null + "source": "/console/formbuilder/data-binding/", + "target": "/javascript/build-ui/formbuilder/data-binding/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/device_features/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/remember-device/", - "status":"301", - "condition":null + "source": "/console/formbuilder/lifecycle/", + "target": "/javascript/build-ui/formbuilder/lifecycle/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/device_features/q/platform/ios/", - "target":"/swift/build-a-backend/auth/remember-device/", - "status":"301", - "condition":null + "source": "/console/formbuilder/overrides/", + "target": "/javascript/build-ui/formbuilder/overrides/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/device_features/q/platform/js/", - "target":"/javascript/build-a-backend/auth/manage-mfa/", - "status":"301", - "condition":null + "source": "/console/formbuilder/overview/", + "target": "/javascript/build-ui/formbuilder/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/device_features/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/manage-mfa/", - "status":"301", - "condition":null + "source": "/console/formbuilder/special-inputs/", + "target": "/javascript/build-ui/formbuilder/special-inputs/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/emailpassword/q/platform/js/", - "target":"/javascript/build-a-backend/auth/enable-sign-up/", - "status":"301", - "condition":null + "source": "/console/formbuilder/validations/", + "target": "/javascript/build-ui/formbuilder/validations/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/emailpassword/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/enable-sign-up/", - "status":"301", - "condition":null + "source": "/console/uibuilder/bestpractices/", + "target": "/javascript/build-ui/uibuilder/bestpractices/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/auth/sdk/", - "status":"301", - "condition":null + "source": "/console/uibuilder/collections/", + "target": "/javascript/build-ui/uibuilder/collections/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/auth/sdk/", - "status":"301", - "condition":null + "source": "/console/uibuilder/databinding/", + "target": "/javascript/build-ui/uibuilder/databinding/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/auth/existing-resources/", - "status":"301", - "condition":null + "source": "/console/uibuilder/eventhandling/", + "target": "/javascript/build-ui/uibuilder/eventhandling/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/existing-resources/", - "status":"301", - "condition":null + "source": "/console/uibuilder/figmatocode/", + "target": "/javascript/build-ui/uibuilder/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/auth/existing-resources/", - "status":"301", - "condition":null + "source": "/console/uibuilder/override/", + "target": "/javascript/build-ui/uibuilder/override/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/getting-started/q/platform/android/", - "target":"/android/build-a-backend/auth/set-up-auth/", - "status":"301", - "condition":null + "source": "/console/uibuilder/responsive/", + "target": "/javascript/build-ui/uibuilder/responsive/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/set-up-auth/", - "status":"301", - "condition":null + "source": "/console/uibuilder/slots/", + "target": "/javascript/build-ui/uibuilder/slots/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/auth/set-up-auth/", - "status":"301", - "condition":null + "source": "/console/uibuilder/theming/", + "target": "/javascript/build-ui/uibuilder/theming/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/auth/set-up-auth/", + "source": "/guides/functions/connecting-a-rest-api/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/integrating-dynamodb-with-lambda/q/platform/android/", + "target": "/android/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/integrating-dynamodb-with-lambda/q/platform/ios/", + "target": "/swift/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source": "/guides/functions/integrating-dynamodb-with-lambda/q/platform/js/", + "target": "/javascript/build-a-backend/functions/", + "status": "301", + "condition": null + }, + { + "source":"/javascript/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/set-up-auth", +<<<<<<< HEAD + "source":"/swift/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/swift/build-a-backend/functions/", +======= + "source":"/javascript/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/javascript/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/guest_access/q/platform/android/", - "target":"/android/build-a-backend/auth/enable-guest-access/", + "source":"/swift/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/swift/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/guest_access/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/enable-guest-access/", + "source":"/android/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/guest_access/q/platform/ios/", - "target":"/swift/build-a-backend/auth/enable-guest-access/", + "source":"/angular/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/manageusers/q/platform/js/", - "target":"/javascript/prev/build-a-backend/auth/manage-passwords/", + "source":"/nextjs/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/manageusers/q/platform/js/#managing-user-attributes", - "target":"/javascript/build-a-backend/auth/manage-user-profile/", + "source":"/react/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/managing_credentials/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/managing-credentials/", + "source":"/vue/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/vue/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/lib/auth/mfa/q/platform/android/", - "target":"/android/build-a-backend/auth/manage-mfa/", + "source":"/lib-v1/analytics/autotrack/q/platform/android/", + "target":"/android/prev/build-a-backend/more-features/analytics/auto-track-sessions/", +>>>>>>> main "status":"301", "condition":null }, { - "source":"/lib/auth/mfa/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/manage-mfa/", + "source":"/android/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/android/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/mfa/q/platform/ios/", - "target":"/swift/build-a-backend/auth/manage-mfa/", + "source":"/angular/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/angular/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/mfa/q/platform/js/", - "target":"/javascript/build-a-backend/auth/manage-mfa/", + "source":"/nextjs/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/nextjs/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/mfa/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/manage-mfa/", + "source":"/react/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/react/build-a-backend/functions/", "status":"301", "condition":null }, { - "source":"/lib/auth/overview/q/platform/android/", - "target":"/android/build-a-backend/auth/under-the-hood/", + "source":"/vue/build-a-backend/functions/integrate-dynamodb-with-lambda/", + "target":"/vue/build-a-backend/auth/enable-sign-up/", "status":"301", "condition":null }, { - "source":"/lib/auth/overview/q/platform/ios/", - "target":"/swift/build-a-backend/auth/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/autotrack/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/autotrack/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/enable-disable/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/enable-disable/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/client-configuration/configuring-amplify-categories/q/platform/js/", + "target": "/javascript/tools/libraries/configure-categories/", + "status": "301", + "condition": null + }, + { + "source": "/lib/client-configuration/configuring-amplify-categories/q/platform/react-native/", + "target": "react-native/tools/libraries/configure-categories/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/escapehatch/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/escapehatch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/identifyuser/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/identifyuser/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/identifyuser/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/record/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/record/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/analytics/record/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/access_credentials/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/access_credentials/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/access_credentials/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/advanced/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/auth-events/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/auth-events/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/auth-events/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/auth-events/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/delete_user/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/delete_user/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/delete_user/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/device_features/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/device_features/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/device_features/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/emailpassword/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/escapehatch/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/escapehatch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/existing-resources/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/guest_access/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/guest_access/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/guest_access/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/manageusers/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/manageusers/q/platform/js/#managing-user-attributes", + "target": "/javascript/prev/build-a-backend/auth/manage-user-profile/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/managing_credentials/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/managing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/mfa/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/overview/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/overview/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/overview/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/password_management/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/password_management/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/password_management/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_next_steps/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/multi-step-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_next_steps/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/multi-step-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_web_ui/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_web_ui/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_web_ui/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_with_custom_flow/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/sign-in-custom-flow/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin_with_custom_flow/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/sign-in-custom-flow/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signin/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signOut/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signOut/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/signOut/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/sms_flows/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/add-sms-flows/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/social/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/social/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/social/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/social/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/switch-auth/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/user-attributes/q/platform/android/", + "target": "/android/prev/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/user-attributes/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/auth/user-attributes/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/advanced-workflows/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/conflict/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/conflict/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/conflict/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/data-access/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/data-access/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/data-access/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/datastore-events/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/datastore-events/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/datastore-events/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/how-it-works/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/how-it-works/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/how-it-works/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/other-methods/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/other-methods/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/other-methods/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/real-time/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/real-time/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/real-time/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/relational/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/relational/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/relational/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/schema-updates/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/schema-updates/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/schema-updates/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/sync/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/sync/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/datastore/sync/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/debugging/dev-menu/q/platform/android/", + "target": "/android/prev/build-a-backend/debugging/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/debugging/dev-menu/q/platform/ios/", + "target": "/swift/prev/build-a-backend/debugging/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/escapehatch/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/escapehatch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/maps/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/maps/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/search/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/geo/search/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/advanced-workflows/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/advanced-workflows/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/advanced-workflows/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/authz/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/authz/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/authz/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/concepts/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/concepts/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/concepts/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/existing-resources/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/mutate-data/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/mutate-data/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/mutate-data/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/offline/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/offline/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/offline/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/query-data/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/query-data/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/query-data/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/subscribe-data/q/platform/android/", + "target": "/android/prev/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/subscribe-data/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/graphqlapi/subscribe-data/q/platform/ios/", + "target": "/swift/prev/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/info/overview/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/data-usage-policy/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/escapehatch/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/escapehatch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/identify-entity/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/identify-entity/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/identify-text/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/identify-text/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/interpret/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/interpret/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/label-image/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/label-image/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/text-speech/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/text-speech/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/transcribe/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/translate/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/predictions/translate/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/authz/q/platform/android/", + "target": "/android/prev/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/authz/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/authz/q/platform/ios/", + "target": "/swift/prev/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/delete/q/platform/android/", + "target": "/android/prev/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/delete/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/delete/q/platform/ios/", + "target": "/swift/prev/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/fetch/q/platform/android/", + "target": "/android/prev/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/fetch/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/fetch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/update/q/platform/android/", + "target": "/android/prev/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/update/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/restapi/update/q/platform/ios/", + "target": "/swift/prev/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/configureaccess/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/configureaccess/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/copy/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/copy/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/download/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/download/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/download/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/download/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/escapehatch/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/escapehatch/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/get-properties/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/get-properties/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/existing-resources/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/existing-resources/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/list/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/list/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/list/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/list/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/overview/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/overview/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/remove/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/remove/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/remove/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/remove/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/transfer-acceleration/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/triggers/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/triggers/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/upload/q/platform/android/", + "target": "/android/prev/build-a-backend/storage/upload/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/storage/upload/q/platform/ios/", + "target": "/swift/prev/build-a-backend/storage/upload/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/troubleshooting/upgrading/q/platform/js/", + "target": "/javascript/prev/build-a-backend/troubleshooting/upgrade-amplify-packages/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/utilities/hub/q/platform/android/", + "target": "/android/prev/build-a-backend/utilities/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/utilities/hub/q/platform/ios/", + "target": "/swift/prev/build-a-backend/utilities/", + "status": "301", + "condition": null + }, + { + "source": "/lib-v1/utilities/hub/q/platform/js/", + "target": "/javascript/prev/build-a-backend/utilities/hub/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/autotrack/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/autotrack/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/autotrack/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/autotrack/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/auto-track-sessions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/create-custom-plugin/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/create-custom-plugin/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/create-custom-plugin/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/create-custom-plugin/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/enable-disable/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/enable-disable/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/enable-disable/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/offline/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/enable-disable/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/existing-resources/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/existing-resources/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/getting-started/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/set-up-analytics/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/identifyuser/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/identifyuser/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/personalize/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/analytics/personalize-recommendations/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/record/q/platform/android/", + "target": "/android/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/record/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/record/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/record/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/storing/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/storing-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/streaming/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/streaming-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/analytics/streaming/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/streaming-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/access_credentials/q/platform/android/", + "target": "/android/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/access_credentials/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/access_credentials/q/platform/ios/", + "target": "/swift/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/advanced/q/platform/android/", + "target": "/android/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/advanced/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/advanced/q/platform/ios/", + "target": "/swift/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/advanced/q/platform/js/", + "target": "/javascript/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/advanced/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/auth-events/q/platform/android/", + "target": "/android/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/auth-events/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/auth-events/q/platform/ios/", + "target": "/swift/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/auth-events/q/platform/js/", + "target": "/javascript/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/auth-events/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/delete_user/q/platform/android/", + "target": "/android/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/delete_user/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/delete_user/q/platform/ios/", + "target": "/swift/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/delete_user/q/platform/js/", + "target": "/javascript/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/delete_user/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/device_features/q/platform/android/", + "target": "/android/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/device_features/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/device_features/q/platform/ios/", + "target": "/swift/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/device_features/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/device_features/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/emailpassword/q/platform/js/", + "target": "/javascript/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/emailpassword/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/auth/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/auth/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/auth/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/getting-started/q/platform/android/", + "target": "/android/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/set-up-auth", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/guest_access/q/platform/android/", + "target": "/android/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/guest_access/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/guest_access/q/platform/ios/", + "target": "/swift/build-a-backend/auth/enable-guest-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/manageusers/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/manageusers/q/platform/js/#managing-user-attributes", + "target": "/javascript/build-a-backend/auth/manage-user-profile/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/managing_credentials/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/managing-credentials/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/mfa/q/platform/android/", + "target": "/android/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/mfa/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/mfa/q/platform/ios/", + "target": "/swift/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/mfa/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/mfa/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/overview/q/platform/android/", + "target": "/android/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/overview/q/platform/ios/", + "target": "/swift/build-a-backend/auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/overview/q/platform/js/", + "target": "/javascript/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/overview/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/password_management/q/platform/android/", + "target": "/android/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib/info/app-uninstall/q/platform/android/", + "target": "/android/build-a-backend/auth/app-uninstall/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/password_management/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/password_management/q/platform/ios/", + "target": "/swift/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_next_steps/q/platform/android/", + "target": "/android/build-a-backend/auth/multi-step-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_next_steps/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/multi-step-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_next_steps/q/platform/ios/", + "target": "/swift/build-a-backend/auth/multi-step-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_web_ui/q/platform/android/", + "target": "/android/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_web_ui/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_web_ui/q/platform/ios/", + "target": "/swift/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_with_custom_flow/q/platform/android/", + "target": "/android/build-a-backend/auth/sign-in-custom-flow/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_with_custom_flow/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/sign-in-custom-flow/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin_with_custom_flow/q/platform/ios/", + "target": "/swift/build-a-backend/auth/sign-in-custom-flow/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin/q/platform/android/", + "target": "/android/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signin/q/platform/ios/", + "target": "/swift/build-a-backend/auth/enable-sign-in/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signOut/q/platform/android/", + "target": "/android/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signOut/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/signOut/q/platform/ios/", + "target": "/swift/build-a-backend/auth/sign-out/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/sms_flows/q/platform/android/", + "target": "/android/build-a-backend/auth/add-sms-flows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/sms_flows/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/add-sms-flows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/sms_flows/q/platform/ios/", + "target": "/swift/build-a-backend/auth/add-sms-flows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/social/q/platform/android/", + "target": "/android/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/social/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/social/q/platform/ios/", + "target": "/swift/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/social/q/platform/js/", + "target": "/javascript/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/social/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/switch-auth/q/platform/android/", + "target": "/android/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/switch-auth/q/platform/ios/", + "target": "/swift/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/switch-auth/q/platform/js/", + "target": "/javascript/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/switch-auth/q/platform/react-native/", + "target": "/react-native/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/user-attributes/q/platform/android/", + "target": "/android/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/user-attributes/q/platform/flutter/", + "target": "/flutter/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib/auth/user-attributes/q/platform/ios/", + "target": "/swift/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/advanced-workflows/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/advanced-workflows/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/advanced-workflows/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/advanced-workflows/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/advanced-workflows/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/customize-primary-keys/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/conflict/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/conflict/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/conflict/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/conflict/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/conflict/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/data-access/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/data-access/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/data-access/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/data-access/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/data-access/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/datastore-events/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/datastore-events/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/datastore-events/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/datastore-events/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/datastore-events/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/examples/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/example-application/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/examples/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/example-application/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/getting-started/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/set-up-datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/how-it-works/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/how-it-works/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/how-it-works/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/how-it-works/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/how-it-works/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/other-methods/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/other-methods/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/other-methods/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/other-methods/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/other-methods/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/real-time/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/real-time/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/real-time/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/real-time/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/real-time/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/real-time/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/relational/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/relational/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/relational/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/relational/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/relational/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/schema-updates/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/schema-updates/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/schema-updates/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/schema-updates/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/schema-updates/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/setup-auth-rules/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/setup-auth-rules/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/setup-auth-rules/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/setup-auth-rules/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/setup-auth-rules/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/sync/q/platform/android/", + "target": "/android/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/sync/q/platform/flutter/", + "target": "/flutter/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/sync/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/sync/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib/datastore/sync/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null + }, + { + "source": "/lib/debugging/dev-menu/q/platform/android/", + "target": "/android/build-a-backend/debugging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/debugging/dev-menu/q/platform/ios/", + "target": "/swift/build-a-backend/debugging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/escapehatch/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/amazon-location-sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/existing-resources/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/existing-resources/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/existing-resources/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/geofences/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/geofences/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/getting-started/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/set-up-geo/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/google-migration/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/google-migration/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/maps/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/maps/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/maps/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/search/q/platform/android/", + "target": "/android/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/search/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null + }, + { + "source": "/lib/geo/search/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/geo/location-search/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/advanced-workflows/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/advanced-workflows/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/advanced-workflows/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/advanced-workflows/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/authz/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/authz/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/authz/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/customize-authorization-rules/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/authz/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/customize-authorization-rules/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/cancel-request/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/mutate-data/#cancel-mutation-requests", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/cancel-request/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/mutate-data/#cancel-mutation-requests", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/concepts/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/concepts/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/concepts/q/platform/js/", + "target": "/javascript/prev/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/concepts/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/getting-started/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/async/q/platform/android/", + "target": "/android/start/project-setup/async-programming-model", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/combine/q/platform/ios/", + "target": "/swift/start/project-setup/combine-framework", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/coroutines/q/platform/android/", + "target": "/android/start/project-setup/kotlin-coroutines", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/create-application/q/platform/android/", + "target": "/android/start/project-setup/create-application", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/create-application/q/platform/flutter/", + "target": "/flutter/start/project-setup/create-application", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/create-application/q/platform/ios/", + "target": "/swift/start/project-setup/create-application", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/create-application/q/platform/js/", + "target": "/javascript/prev/start/project-setup/create-application", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/create-application/q/platform/react-native/", + "target": "/react-native/start/project-setup/create-application", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/escape-hatch/q/platform/flutter/", + "target": "/flutter/start/project-setup/escape-hatch", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/platform-setup/q/platform/flutter/", + "target": "/flutter/start/project-setup/platform-setup", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/prereq/q/platform/android/", + "target": "/android/start/project-setup/prerequisites", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/prereq/q/platform/flutter/", + "target": "/flutter/start/project-setup/prerequisites", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/prereq/q/platform/ios/", + "target": "/swift/start/project-setup/prerequisites", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/prereq/q/platform/js/", + "target": "/javascript/prev/start/project-setup/prerequisites", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/prereq/q/platform/react-native/", + "target": "/react-native/start/project-setup/prerequisites", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/rxjava/q/platform/android/", + "target": "/android/start/project-setup/rxjava", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/upgrade-guide/q/platform/android/", + "target": "/android/start/project-setup/upgrade-guide", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/upgrade-guide/q/platform/flutter/", + "target": "/flutter/start/project-setup/upgrade-guide", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/upgrade-guide/q/platform/ios/", + "target": "/swift/start/project-setup/upgrade-guide", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/use-existing-resources/q/platform/android/", + "target": "/android/start/project-setup/use-existing-resources", + "status": "301", + "condition": null + }, + { + "source": "/lib/project-setup/use-existing-resources/q/platform/ios/", + "target": "/swift/start/project-setup/use-existing-resources", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/set-up-graphql-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/graphql-from-nodejs/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/graphql-from-nodejs/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/mutate-data/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/mutate-data/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/mutate-data/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/mutate-data/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/mutate-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/offline/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/offline/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/offline/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/offline/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/offline/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/optimistic-ui/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/optimistic-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/optimistic-ui/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/optimistic-ui/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/query-data/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/query-data/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/query-data/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/query-data/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/relational/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/relational-models/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/subscribe-data/q/platform/android/", + "target": "/android/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/subscribe-data/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/subscribe-data/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/subscribe-data/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/subscribe-data/q/platform/react-native/", + "target": "/react-native/build-a-backend/graphqlapi/subscribe-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/upgrade-guide/q/platform/ios/", + "target": "/swift/build-a-backend/graphqlapi/upgrade-guide/", + "status": "301", + "condition": null + }, + { + "source": "/lib/graphqlapi/working-with-files/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/working-with-files/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/clear-messages/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/clear-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/clear-messages/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/clear-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/create-campaign/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/create-campaign/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/create-campaign/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/create-campaign/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/display-message/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/display-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/display-message/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/display-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/identify-user/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/identify-user/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/integrate-your-application/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/integrate-application/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/integrate-your-application/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/integrate-application/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/overview/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/overview/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/resolve-conflicts/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/resolve-conflicts/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/respond-interaction-events/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/respond-interaction-events/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/sync-messages/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/in-app-messaging/sync-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/record-notifications/q/platform/android/", + "target": "/android/build-a-backend/push-notifications/record-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/in-app-messaging/sync-messages/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/in-app-messaging/sync-messages/", + "status": "301", + "condition": null + }, + { + "source": "/lib/info/app-uninstall/lib/q/platform/ios/", + "target": "/swift/build-a-backend/auth/app-uninstall/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/register-device/q/platform/android/", + "target": "/swift/build-a-backend/push-notifications/register-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib/info/app-uninstall/q/platform/ios/", + "target": "/swift/build-a-backend/auth/app-uninstall/", + "status": "301", + "condition": null + }, + { + "source": "/lib/info/overview/q/platform/ios/", + "target": "/swift/build-a-backend/auth/data-usage-policy/", + "status": "301", + "condition": null + }, + { + "source": "/lib/interactions/chatbot/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/interactions/chatbot/", + "status": "301", + "condition": null + }, + { + "source": "/lib/interactions/chatbot/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/interactions/chatbot/", + "status": "301", + "condition": null + }, + { + "source": "/lib/interactions/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/interactions/set-up-interactions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/interactions/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/interactions/set-up-interactions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/access-logs/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/view-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/access-logs/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/view-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/change-local-storage/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/change-local-storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/change-local-storage/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/change-local-storage/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/change-log-levels/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/change-log-levels/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/change-log-levels/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/change-log-levels/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/configure-user/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/configure-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/configure-user/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/configure-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/enable-disable/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/enable-disable/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/enable-disable/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/flush-logs/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/flush-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/flush-logs/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/flush-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/hub-events/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/hub-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/hub-events/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/hub-events/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/remote-configuration/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/remote-configuration/", + "status": "301", + "condition": null + }, + { + "source": "/lib/q/platform/flutter/", + "target": "/flutter/tools/libraries/", + "status": "301", + "condition": null + }, + { + "source": "/lib/q/platform/js/", + "target": "/javascript/prev/build-a-backend/", + "status": "301", + "condition": null + }, + { + "source": "/lib/q/platform/react-native/", + "target": "/react-native/tools/libraries/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/remote-configuration/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/remote-configuration/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/sending-logs/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/send-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/sending-logs/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/send-logs/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/setup-logging/q/platform/android/", + "target": "/android/build-a-backend/more-features/logging/set-up-logging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/logging/setup-logging/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/logging/set-up-logging/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/getting-started/q/platform/android/", + "target": "/android/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/getting-started/q/platform/ios/", + "target": "/swift/prev/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/set-up-predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/cancel/q/platform/js/", + "target": "/javascript/prev/build-a-backend/restapi/cancel-api-requests/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/cancel/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/restapi/cancel-api-requests/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-entity/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-entity/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-entity/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-entity/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/identify-entity/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-text/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-text/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-text/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/identify-text/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/interpret/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/interpret/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/interpret/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/interpret/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/interpret-sentiment/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/intro/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/intro/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/label-image/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/label-image/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/label-image/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/label-image/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/label-image/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/sample/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/example-app/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/sample/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/example-app/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/text-speech/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/text-speech/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/text-speech/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/text-speech/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/text-to-speech/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/transcribe/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/transcribe/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/transcribe/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/transcribe-audio/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/translate/q/platform/android/", + "target": "/android/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/translate/q/platform/ios/", + "target": "/swift/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/translate/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib/predictions/translate/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/predictions/translate/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/pubsub/set-up-pubsub/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/pubsub/set-up-pubsub/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/publish/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/pubsub/publish/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/publish/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/pubsub/publish/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/subunsub/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/pubsub/subscribe/", + "status": "301", + "condition": null + }, + { + "source": "/lib/pubsub/subunsub/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/pubsub/subscribe/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/app-badge-count/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/app-badge-count/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/app-badge-count/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/app-badge-count/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/enable-rich-notifications/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/enable-rich-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/enable-rich-notifications/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/enable-rich-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/getting-started/q/platform/android/", + "target": "/android/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/set-up-push-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/identify-user/q/platform/android/", + "target": "/android/build-a-backend/push-notifications/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/identify-user/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/identify-user/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/identify-user/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/identify-user/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/cancel-requests/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/cancel-requests/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/cancel-requests/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/cancel-requests/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/interact-with-notifications/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/interact-with-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/interact-with-notifications/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/interact-with-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/migrate-from-previous-version/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/push-notifications/migrate-from-previous-version/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/receive-device-token/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/receive-device-token/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/receive-device-token/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/receive-device-token/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/record-notifications/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/record-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/register-device/q/platform/ios/", + "target": "/android/build-a-backend/push-notifications/register-device/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/remote-media/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/remote-media/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/custom-plugin/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/custom-plugin/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/custom-plugin/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/custom-plugin/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/request-permissions/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/request-permissions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/request-permissions/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/request-permissions/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/setup-push-service/q/platform/android/", + "target": "/android/build-a-backend/push-notifications/set-up-push-service/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/setup-push-service/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/set-up-push-service/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/setup-push-service/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/set-up-push-service/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/setup-push-service/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/set-up-push-service/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/testing/q/platform/android/", + "target": "/android/build-a-backend/push-notifications/test-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/testing/q/platform/flutter/", + "target": "/flutter/build-a-backend/push-notifications/test-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/testing/q/platform/ios/", + "target": "/swift/build-a-backend/push-notifications/test-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/push-notifications/testing/q/platform/react-native/", + "target": "/react-native/build-a-backend/push-notifications/test-notifications/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/authz/q/platform/android/", + "target": "/android/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/authz/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/authz/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/authz/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/authz/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/customize-authz/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/delete/q/platform/android/", + "target": "/android/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/delete/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/delete/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/delete/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/delete/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/delete-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/existing-resources/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/fetch/q/platform/android/", + "target": "/android/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/fetch/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/fetch/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/fetch/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/fetch/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/fetch-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/getting-started/q/platform/android/", + "target": "/android/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/getting-started/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/set-up-rest-api/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/update/q/platform/android/", + "target": "/android/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/update/q/platform/flutter/", + "target": "/flutter/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/update/q/platform/ios/", + "target": "/swift/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/update/q/platform/js/", + "target": "/javascript/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/restapi/update/q/platform/react-native/", + "target": "/react-native/build-a-backend/restapi/update-data/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/autotrack/q/platform/js/", + "target": "/javascript/prev/build-a-backend/storage/autotrack/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/configureaccess/q/platform/android/", + "target": "/android/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/configureaccess/q/platform/ios/", + "target": "/swift/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/configureaccess/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/configure-access/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/copy/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/copy/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/download/q/platform/android/", + "target": "/android/build-a-backend/storage/download/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/download/q/platform/ios/", + "target": "/swift/build-a-backend/storage/download/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/download/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/download/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/escapehatch/q/platform/android/", + "target": "/android/build-a-backend/storage/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/escapehatch/q/platform/ios/", + "target": "/swift/build-a-backend/storage/sdk/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/existing-resources/q/platform/android/", + "target": "/android/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/existing-resources/q/platform/ios/", + "target": "/swift/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null + }, + { + "source": "/lib/storage/existing-resources/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/overview/q/platform/js/", - "target":"/javascript/build-a-backend/auth/under-the-hood/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/q/platform/android/", + "target": "/android/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/overview/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/under-the-hood/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/q/platform/ios/", + "target": "/swift/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/password_management/q/platform/android/", - "target":"/android/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/set-up-storage/", + "status": "301", + "condition": null }, { - "source":"/lib/info/app-uninstall/q/platform/android/", - "target":"/android/build-a-backend/auth/app-uninstall/", - "status":"301", - "condition":null + "source": "/lib/storage/list/q/platform/android/", + "target": "/android/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/password_management/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/lib/storage/list/q/platform/ios/", + "target": "/swift/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/password_management/q/platform/ios/", - "target":"/swift/build-a-backend/auth/manage-passwords/", - "status":"301", - "condition":null + "source": "/lib/storage/list/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/list/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_next_steps/q/platform/android/", - "target":"/android/build-a-backend/auth/multi-step-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/move/q/platform/js/", + "target": "/flutter/build-a-backend/storage/move/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_next_steps/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/multi-step-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/android/", + "target": "/android/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_next_steps/q/platform/ios/", - "target":"/swift/build-a-backend/auth/multi-step-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/ios/", + "target": "/swift/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_web_ui/q/platform/android/", - "target":"/android/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/lib/troubleshooting/strict-mode/q/platform/js/", + "target": "/javascript/prev/build-a-backend/troubleshooting/strict-mode/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_web_ui/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/lib/troubleshooting/strict-mode/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/troubleshooting/strict-mode/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_web_ui/q/platform/ios/", - "target":"/swift/build-a-backend/auth/sign-in-with-web-ui/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_with_custom_flow/q/platform/android/", - "target":"/android/build-a-backend/auth/sign-in-custom-flow/", - "status":"301", - "condition":null + "source": "/lib/storage/querytransfers/q/platform/android/", + "target": "/android/build-a-backend/storage/query-transfers/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_with_custom_flow/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/sign-in-custom-flow/", - "status":"301", - "condition":null + "source": "/lib/storage/remove/q/platform/android/", + "target": "/android/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin_with_custom_flow/q/platform/ios/", - "target":"/swift/build-a-backend/auth/sign-in-custom-flow/", - "status":"301", - "condition":null + "source": "/lib/storage/remove/q/platform/ios/", + "target": "/swift/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin/q/platform/android/", - "target":"/android/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/remove/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/remove/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/transfer-acceleration/q/platform/android/", + "target": "/android/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signin/q/platform/ios/", - "target":"/swift/build-a-backend/auth/enable-sign-in/", - "status":"301", - "condition":null + "source": "/lib/storage/transfer-acceleration/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/transfer-acceleration/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signOut/q/platform/android/", - "target":"/android/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/q/platform/android/", + "target": "/android/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signOut/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/q/platform/ios/", + "target": "/swift/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/signOut/q/platform/ios/", - "target":"/swift/build-a-backend/auth/sign-out/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/sms_flows/q/platform/android/", - "target":"/android/build-a-backend/auth/add-sms-flows/", - "status":"301", - "condition":null + "source": "/lib/storage/upload/q/platform/android/", + "target": "/android/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/sms_flows/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/add-sms-flows/", - "status":"301", - "condition":null + "source": "/lib/storage/upload/q/platform/ios/", + "target": "/swift/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/sms_flows/q/platform/ios/", - "target":"/swift/build-a-backend/auth/add-sms-flows/", - "status":"301", - "condition":null + "source": "/lib/storage/upload/q/platform/react-native/", + "target": "/react-native/build-a-backend/storage/upload/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social/q/platform/android/", - "target":"/android/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/troubleshooting/upgrading/q/platform/js/", + "target": "/javascript/build-a-backend/troubleshooting/upgrade-amplify-packages/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/troubleshooting/upgrading/q/platform/react-native/", + "target": "/react-native/build-a-backend/troubleshooting/upgrade-amplify-packages/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social/q/platform/ios/", - "target":"/swift/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/utilities/cache/q/platform/js/", + "target": "/javascript/build-a-backend/utilities/cache/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social/q/platform/js/", - "target":"/javascript/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/utilities/cache/q/platform/react-native/", + "target": "/react-native/build-a-backend/utilities/cache/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/social/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/add-social-provider/", - "status":"301", - "condition":null + "source": "/lib/utilities/hub/q/platform/android/", + "target": "/android/build-a-backend/utilities/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/switch-auth/q/platform/android/", - "target":"/android/build-a-backend/auth/switch-auth/", - "status":"301", - "condition":null + "source": "/lib/utilities/hub/q/platform/ios/", + "target": "/swift/build-a-backend/utilities/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/switch-auth/q/platform/ios/", - "target":"/swift/build-a-backend/auth/switch-auth/", - "status":"301", - "condition":null + "source": "/lib/utilities/hub/q/platform/js/", + "target": "/javascript/build-a-backend/utilities/hub/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/switch-auth/q/platform/js/", - "target":"/javascript/build-a-backend/auth/switch-auth/", - "status":"301", - "condition":null + "source": "/lib/utilities/hub/q/platform/react-native/", + "target": "/react-native/build-a-backend/utilities/hub/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/switch-auth/q/platform/react-native/", - "target":"/react-native/build-a-backend/auth/switch-auth/", - "status":"301", - "condition":null + "source": "/lib/utilities/i18n/q/platform/js/", + "target": "/javascript/build-a-backend/utilities/i18n/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/user-attributes/q/platform/android/", - "target":"/android/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib/utilities/i18n/q/platform/react-native/", + "target": "/react-native/build-a-backend/utilities/i18n/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/user-attributes/q/platform/flutter/", - "target":"/flutter/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib/utilities/logger/q/platform/js/", + "target": "/javascript/build-a-backend/utilities/console-logger/", + "status": "301", + "condition": null }, { - "source":"/lib/auth/user-attributes/q/platform/ios/", - "target":"/swift/build-a-backend/auth/managing-attributes/", - "status":"301", - "condition":null + "source": "/lib/utilities/logger/q/platform/react-native/", + "target": "/react-native/build-a-backend/utilities/console-logger/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/advanced-workflows/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/lib/utilities/serviceworker/q/platform/js/", + "target": "/javascript/build-a-backend/utilities/service-worker/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/advanced-workflows/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/sdk/analytics/endpoints/q/platform/android/", + "target": "/android/sdk/analytics/endpoints/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/advanced-workflows/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/sdk/analytics/endpoints/q/platform/ios/", + "target": "/swift/sdk/analytics/endpoints/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/advanced-workflows/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/sdk/analytics/events/q/platform/android/", + "target": "/android/sdk/analytics/events/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/advanced-workflows/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/customize-primary-keys/", - "status":"301", - "condition":null + "source": "/sdk/analytics/events/q/platform/ios/", + "target": "/swift/sdk/analytics/events/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/conflict/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/sdk/analytics/getting-started/q/platform/android/", + "target": "/android/sdk/analytics/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/conflict/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/sdk/analytics/getting-started/q/platform/ios/", + "target": "/swift/sdk/analytics/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/conflict/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/sdk/analytics/kinesis/q/platform/android/", + "target": "/android/sdk/analytics/kinesis/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/conflict/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/sdk/analytics/kinesis/q/platform/ios/", + "target": "/swift/sdk/analytics/kinesis/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/conflict/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/conflict-resolution/", - "status":"301", - "condition":null + "source": "/sdk/api/graphql/q/platform/android/", + "target": "/android/sdk/api/graphql/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/data-access/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/sdk/api/graphql/q/platform/ios/", + "target": "/swift/sdk/api/graphql/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/data-access/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/sdk/api/rest/q/platform/android/", + "target": "/android/sdk/api/rest/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/data-access/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/sdk/api/rest/q/platform/ios/", + "target": "/swift/sdk/api/rest/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/data-access/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/sdk/auth/custom-auth-flow/q/platform/android/", + "target": "/android/sdk/auth/custom-auth-flow/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/data-access/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/manipulate-data/", - "status":"301", - "condition":null + "source": "/sdk/auth/custom-auth-flow/q/platform/ios/", + "target": "/swift/sdk/auth/custom-auth-flow/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/datastore-events/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/sdk/auth/device-features/q/platform/android/", + "target": "/android/sdk/auth/device-features/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/datastore-events/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/sdk/auth/device-features/q/platform/ios/", + "target": "/swift/sdk/auth/device-features/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/datastore-events/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/sdk/auth/drop-in-auth/q/platform/android/", + "target": "/android/sdk/auth/drop-in-auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/datastore-events/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/sdk/auth/drop-in-auth/q/platform/ios/", + "target": "/swift/sdk/auth/drop-in-auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/datastore-events/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/datastore-events/", - "status":"301", - "condition":null + "source": "/sdk/auth/federated-identities/q/platform/android/", + "target": "/android/sdk/auth/federated-identities/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/examples/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/example-application/", - "status":"301", - "condition":null + "source": "/sdk/auth/federated-identities/q/platform/ios/", + "target": "/swift/sdk/auth/federated-identities/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/examples/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/example-application/", - "status":"301", - "condition":null + "source": "/sdk/auth/getting-started/q/platform/android/", + "target": "/android/sdk/auth/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/getting-started/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/getting-started/q/platform/ios/", + "target": "/swift/sdk/auth/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/guest-access/q/platform/android/", + "target": "/android/sdk/auth/guest-access/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/guest-access/q/platform/ios/", + "target": "/swift/sdk/auth/guest-access/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/hosted-ui/q/platform/android/", + "target": "/android/sdk/auth/hosted-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/set-up-datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/hosted-ui/q/platform/ios/", + "target": "/swift/sdk/auth/hosted-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/how-it-works/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/how-it-works/q/platform/android/", + "target": "/android/sdk/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/how-it-works/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/how-it-works/", - "status":"301", - "condition":null + "source": "/sdk/auth/how-it-works/q/platform/ios/", + "target": "/swift/sdk/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/how-it-works/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/", - "status":"301", - "condition":null + "source": "/sdk/auth/working-with-api/q/platform/android/", + "target": "/android/sdk/auth/working-with-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/how-it-works/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/how-it-works/", - "status":"301", - "condition":null + "source": "/sdk/auth/working-with-api/q/platform/ios/", + "target": "/swift/sdk/auth/working-with-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/how-it-works/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/how-it-works/", - "status":"301", - "condition":null + "source": "/sdk/configuration/setup-options/q/platform/android/", + "target": "/android/sdk/configuration/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/other-methods/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/sdk/configuration/setup-options/q/platform/ios/", + "target": "/swift/sdk/configuration/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/other-methods/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/sdk/info/app-uninstall/q/platform/ios/", + "target": "/swift/sdk/info/app-uninstall/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/other-methods/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/sdk/info/overview/q/platform/ios/", + "target": "/swift/sdk/info/overview/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/other-methods/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/aws-iot-and-amplify/q/platform/ios/", + "target": "/swift/sdk/pubsub/aws-iot-and-amplify/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/other-methods/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/additional-methods/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/getting-started/q/platform/android/", + "target": "/android/sdk/pubsub/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/real-time/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/getting-started/q/platform/ios/", + "target": "/swift/sdk/pubsub/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/real-time/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/working-api/q/platform/android/", + "target": "/android/sdk/pubsub/working-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/real-time/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/working-api/q/platform/ios/", + "target": "/swift/sdk/pubsub/working-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/real-time/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/getting-started/q/platform/android/", + "target": "/android/sdk/push-notifications/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/real-time/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/real-time/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/getting-started/q/platform/ios/", + "target": "/swift/sdk/push-notifications/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/relational/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/messaging-campaign/q/platform/android/", + "target": "/android/sdk/push-notifications/messaging-campaign/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/relational/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/messaging-campaign/q/platform/ios/", + "target": "/swift/sdk/push-notifications/messaging-campaign/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/relational/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/setup-push-service/q/platform/android/", + "target": "/android/sdk/push-notifications/setup-push-service/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/relational/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/sdk/push-notifications/setup-push-service/q/platform/ios/", + "target": "/swift/sdk/push-notifications/setup-push-service/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/relational/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/relational-models/", - "status":"301", - "condition":null + "source": "/sdk/q/platform/android/", + "target": "/android/sdk/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/schema-updates/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/sdk/q/platform/ios/", + "target": "/swift/sdk/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/schema-updates/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/sdk/storage/configure-access/q/platform/ios/", + "target": "/swift/sdk/storage/configure-access/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/schema-updates/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/sdk/storage/getting-started/q/platform/android/", + "target": "/android/sdk/storage/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/schema-updates/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/sdk/storage/getting-started/q/platform/ios/", + "target": "/swift/sdk/storage/getting-started/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/schema-updates/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/schema-updates/", - "status":"301", - "condition":null + "source": "/sdk/storage/graphql-api/q/platform/android/", + "target": "/android/sdk/storage/graphql-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/setup-auth-rules/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/sdk/storage/graphql-api/q/platform/ios/", + "target": "/swift/sdk/storage/graphql-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/setup-auth-rules/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/sdk/storage/transfer-utility/q/platform/android/", + "target": "/android/sdk/storage/transfer-utility/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/setup-auth-rules/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/sdk/storage/transfer-utility/q/platform/ios/", + "target": "/swift/sdk/storage/transfer-utility/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/setup-auth-rules/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/add-api/q/integration/android/", + "target": "/android/start/getting-started/add-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/setup-auth-rules/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/authz-rules-setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/add-api/q/integration/ios/", + "target": "/swift/start/getting-started/add-api/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/sync/q/platform/android/", - "target":"/android/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/start/getting-started/auth/q/integration/angular/", + "target": "/angular/start/getting-started/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/sync/q/platform/flutter/", - "target":"/flutter/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/start/getting-started/auth/q/integration/react-native/", + "target": "/react-native/start/getting-started/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/sync/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/start/getting-started/auth/q/integration/react/", + "target": "/react/start/getting-started/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/sync/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/start/getting-started/auth/q/integration/vue/", + "target": "/vue/start/getting-started/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/datastore/sync/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/datastore/sync-to-cloud/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/angular/", + "target": "/angular/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/debugging/dev-menu/q/platform/android/", - "target":"/android/build-a-backend/debugging/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/js/", + "target": "/javascript/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/debugging/dev-menu/q/platform/ios/", - "target":"/swift/build-a-backend/debugging/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/next/", + "target": "/nextjs/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/react-native/", + "target": "/react-native/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/react/", + "target": "/react/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/escapehatch/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/amazon-location-sdk/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/q/integration/vue/", + "target": "/vue/start/getting-started/data-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/existing-resources/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/geo/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/generate-model/q/integration/android/", + "target": "/android/start/getting-started/generate-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/existing-resources/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/geo/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/generate-model/q/integration/flutter/", + "target": "/flutter/start/getting-started/generate-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/existing-resources/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/generate-model/q/integration/ios/", + "target": "/swift/start/getting-started/generate-model/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/geofences/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/geofences/", - "status":"301", - "condition":null + "source": "/start/getting-started/hosting/q/integration/angular/", + "target": "/angular/start/getting-started/hosting/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/getting-started/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/start/getting-started/hosting/q/integration/js/", + "target": "/javascript/start/getting-started/hosting/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/start/getting-started/hosting/q/integration/next/", + "target": "/nextjs/start/getting-started/hosting/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/set-up-geo/", - "status":"301", - "condition":null + "source": "/start/getting-started/hosting/q/integration/react/", + "target": "/react/start/getting-started/hosting/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/google-migration/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/google-migration/", - "status":"301", - "condition":null + "source": "/start/getting-started/hosting/q/integration/vue/", + "target": "/vue/start/getting-started/hosting/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/maps/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/maps/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/android/", + "target": "/android/start/getting-started/installation", + "status": "301", + "condition": null }, { - "source":"/lib/geo/maps/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/maps/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/angular/", + "target": "/angular/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/maps/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/maps/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/flutter/", + "target": "/flutter/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/search/q/platform/android/", - "target":"/android/build-a-backend/more-features/geo/location-search/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/ios/", + "target": "/swift/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/search/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/geo/location-search/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/js/", + "target": "/javascript/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/geo/search/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/geo/location-search/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/next/", + "target": "/nextjs/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/advanced-workflows/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/react-native/", + "target": "/react-native/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/advanced-workflows/q/platform/flutter/", - "target":"/flutter/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/react/", + "target": "/react/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/advanced-workflows/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/advanced-workflows/", - "status":"301", - "condition":null + "source": "/start/getting-started/installation/q/integration/vue/", + "target": "/vue/start/getting-started/installation/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/authz/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/customize-authz-modes/", - "status":"301", - "condition":null + "source": "/start/getting-started/integrate/q/integration/android/", + "target": "/android/start/getting-started/integrate/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/authz/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/customize-authz-modes/", - "status":"301", - "condition":null + "source": "/start/getting-started/integrate/q/integration/flutter/", + "target": "/flutter/start/getting-started/integrate/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/authz/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/customize-authorization-rules/", - "status":"301", - "condition":null + "source": "/start/getting-started/integrate/q/integration/ios/", + "target": "/swift/start/getting-started/integrate/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/authz/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/customize-authorization-rules/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/android/", + "target": "/android/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/cancel-request/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/mutate-data/#cancel-mutation-requests", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/angular/", + "target": "/angular/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/cancel-request/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/mutate-data/#cancel-mutation-requests", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/flutter/", + "target": "/flutter/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/concepts/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/ios/", + "target": "/swift/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/concepts/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/js/", + "target": "/javascript/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/concepts/q/platform/js/", - "target":"/javascript/prev/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/next/", + "target": "/nextjs/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/concepts/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/graphqlapi/api-graphql-concepts/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/react-native/", + "target": "/react-native/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/react/", + "target": "/react/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/nextsteps/q/integration/vue/", + "target": "/vue/start/getting-started/nextsteps/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/existing-resources/", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/android/", + "target": "/android/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/getting-started/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/angular/", + "target": "/angular/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/async/q/platform/android/", - "target":"/android/start/project-setup/async-programming-model", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/flutter/", + "target": "/flutter/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/combine/q/platform/ios/", - "target":"/swift/start/project-setup/combine-framework", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/ios/", + "target": "/swift/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/coroutines/q/platform/android/", - "target":"/android/start/project-setup/kotlin-coroutines", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/js/", + "target": "/javascript/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/create-application/q/platform/android/", - "target":"/android/start/project-setup/create-application", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/next/", + "target": "/nextjs/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/create-application/q/platform/flutter/", - "target":"/flutter/start/project-setup/create-application", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/react-native/", + "target": "/react-native/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/create-application/q/platform/ios/", - "target":"/swift/start/project-setup/create-application", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/react/", + "target": "/react/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/create-application/q/platform/js/", - "target":"/javascript/prev/start/project-setup/create-application", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/q/integration/vue/", + "target": "/vue/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/create-application/q/platform/react-native/", - "target":"/react-native/start/project-setup/create-application", - "status":"301", - "condition":null + "source": "/start/q/integration/android/", + "target": "/android/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/escape-hatch/q/platform/flutter/", - "target":"/flutter/start/project-setup/escape-hatch", - "status":"301", - "condition":null + "source": "/start/q/integration/angular/", + "target": "/angular/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/platform-setup/q/platform/flutter/", - "target":"/flutter/start/project-setup/platform-setup", - "status":"301", - "condition":null + "source": "/start/q/integration/flutter/", + "target": "/flutter/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/prereq/q/platform/android/", - "target":"/android/start/project-setup/prerequisites", - "status":"301", - "condition":null + "source": "/start/q/integration/ios/", + "target": "/swift/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/prereq/q/platform/flutter/", - "target":"/flutter/start/project-setup/prerequisites", - "status":"301", - "condition":null + "source": "/start/q/integration/js/", + "target": "/javascript/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/prereq/q/platform/ios/", - "target":"/swift/start/project-setup/prerequisites", - "status":"301", - "condition":null + "source": "/start/q/integration/next/", + "target": "/nextjs/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/prereq/q/platform/js/", - "target":"/javascript/prev/start/project-setup/prerequisites", - "status":"301", - "condition":null + "source": "/start/q/integration/react-native/", + "target": "/react-native/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/prereq/q/platform/react-native/", - "target":"/react-native/start/project-setup/prerequisites", - "status":"301", - "condition":null + "source": "/start/q/integration/react/", + "target": "/react/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/rxjava/q/platform/android/", - "target":"/android/start/project-setup/rxjava", - "status":"301", - "condition":null + "source": "/start/q/integration/vue/", + "target": "/vue/start/getting-started/introduction/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/upgrade-guide/q/platform/android/", - "target":"/android/start/project-setup/upgrade-guide", - "status":"301", - "condition":null + "source": "/start/sample-apps/todo-app/q/integration/android/", + "target": "/android/start/sample-apps/to-do-app/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/upgrade-guide/q/platform/flutter/", - "target":"/flutter/start/project-setup/upgrade-guide", - "status":"301", - "condition":null + "source": "/lib/logging/remote-configuration/", + "target": "/swift/build-a-backend/more-features/logging/remote-configuration/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/upgrade-guide/q/platform/ios/", - "target":"/swift/start/project-setup/upgrade-guide", - "status":"301", - "condition":null + "source": "/how-amplify-works/", + "target": "/react/how-amplify-works/", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/use-existing-resources/q/platform/android/", - "target":"/android/start/project-setup/use-existing-resources", - "status":"301", - "condition":null + "source": "/start/", + "target": "/react/start", + "status": "301", + "condition": null }, { - "source":"/lib/project-setup/use-existing-resources/q/platform/ios/", - "target":"/swift/start/project-setup/use-existing-resources", - "status":"301", - "condition":null + "source": "/guides/<*>", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/gen2/start/configure-account/", + "target": "/gen2/start/account-setup/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/swift/prev/build-a-backend/more-features/datastore/data-usage-policy/", + "target": "/swift/prev/build-a-backend/auth/data-usage-policy/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/set-up-graphql-api/", - "status":"301", - "condition":null + "source": "/swift/build-a-backend/more-features/datastore/data-usage-policy/", + "target": "/swift/build-a-backend/auth/data-usage-policy/", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/graphql-from-nodejs/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/connect-from-server-runtime/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/admin-actions", + "target": "/react/build-a-backend/auth/admin-actions", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/graphql-from-nodejs/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/connect-from-server-runtime/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/advanced-workflows", + "target": "/react/build-a-backend/auth/advanced-workflows", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/mutate-data/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/auth-events", + "target": "/react/build-a-backend/auth/auth-events", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/mutate-data/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/data-usage-policy", + "target": "/react/build-a-backend/auth/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/mutate-data/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/delete-user-account", + "target": "/react/build-a-backend/auth/delete-user-account", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/mutate-data/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/mutate-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/manage-passwords", + "target": "/react/build-a-backend/auth/manage-passwords", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/offline/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/managing-credentials", + "target": "/react/build-a-backend/auth/managing-credentials", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/offline/q/platform/flutter/", - "target":"/flutter/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/auth/switch-auth", + "target": "/react/build-a-backend/auth/switch-auth", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/offline/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/existing-resources", + "target": "/react/build-a-backend/existing-resources", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/offline/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/offline/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/existing-resources/cli", + "target": "/react/build-a-backend/existing-resources/cli", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/optimistic-ui/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/optimistic-ui/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/functions/secrets", + "target": "/react/build-a-backend/functions/secrets", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/optimistic-ui/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/optimistic-ui/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/graphqlapi/api-graphql-concepts", + "target": "/react/build-a-backend/graphqlapi/api-graphql-concepts", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/query-data/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/graphqlapi/connect-from-server-runtime", + "target": "/react/build-a-backend/graphqlapi/connect-from-server-runtime", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/query-data/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/graphqlapi/custom-business-logic", + "target": "/react/build-a-backend/graphqlapi/custom-business-logic", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/query-data/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features", + "target": "/react/build-a-backend/more-features", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/query-data/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/query-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/analytics/analytics-migration-guide", + "target": "/react/build-a-backend/more-features/analytics/analytics-migration-guide", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/relational/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/relational-models/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/analytics/app-uninstall", + "target": "/react/build-a-backend/more-features/analytics/app-uninstall", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/subscribe-data/q/platform/android/", - "target":"/android/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/analytics/data-usage-policy", + "target": "/react/build-a-backend/more-features/analytics/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/subscribe-data/q/platform/flutter/", - "target":"/flutter/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/analytics/set-up-analytics", + "target": "/react/build-a-backend/more-features/analytics/set-up-analytics", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/subscribe-data/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/analytics/streaming-data", + "target": "/react/build-a-backend/more-features/analytics/streaming-data", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/subscribe-data/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/datastore/app-uninstall", + "target": "/react/build-a-backend/more-features/datastore/app-uninstall", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/subscribe-data/q/platform/react-native/", - "target":"/react-native/build-a-backend/graphqlapi/subscribe-data/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/datastore/conflict-resolution", + "target": "/react/build-a-backend/more-features/datastore/conflict-resolution", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/upgrade-guide/q/platform/ios/", - "target":"/swift/build-a-backend/graphqlapi/upgrade-guide/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/datastore/schema-updates", + "target": "/react/build-a-backend/more-features/datastore/schema-updates", + "status": "301", + "condition": null }, { - "source":"/lib/graphqlapi/working-with-files/q/platform/js/", - "target":"/javascript/build-a-backend/graphqlapi/working-with-files/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/datastore/sync-to-cloud", + "target": "/react/build-a-backend/more-features/datastore/sync-to-cloud", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/clear-messages/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/clear-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/geo/existing-resources", + "target": "/react/build-a-backend/more-features/geo/existing-resources", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/clear-messages/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/clear-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/geo/location-search", + "target": "/react/build-a-backend/more-features/geo/location-search", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/create-campaign/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/create-campaign/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/geo/maps", + "target": "/react/build-a-backend/more-features/geo/maps", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/create-campaign/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/create-campaign/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/in-app-messaging/in-app-messaging-migration-guide", + "target": "/react/build-a-backend/more-features/in-app-messaging/in-app-messaging-migration-guide", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/display-message/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/display-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/in-app-messaging/resolve-conflicts", + "target": "/react/build-a-backend/more-features/in-app-messaging/resolve-conflicts", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/display-message/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/display-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging", + "target": "/react/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/logging/enable-disable", + "target": "/react/build-a-backend/more-features/logging/enable-disable", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/set-up-in-app-messaging/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/logging/send-logs", + "target": "/react/build-a-backend/more-features/logging/send-logs", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/identify-user/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/identify-user/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/predictions", + "target": "/react/build-a-backend/more-features/predictions", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/identify-user/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/identify-user/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/predictions/data-usage-policy", + "target": "/react/build-a-backend/more-features/predictions/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/integrate-your-application/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/integrate-application/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/predictions/identify-text", + "target": "/react/build-a-backend/more-features/predictions/identify-text", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/integrate-your-application/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/integrate-application/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/predictions/label-image", + "target": "/react/build-a-backend/more-features/predictions/label-image", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/overview/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/predictions/sdk", + "target": "/react/build-a-backend/more-features/predictions/sdk", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/overview/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/pubsub", + "target": "/react/build-a-backend/more-features/pubsub", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/resolve-conflicts/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/more-features/pubsub/subscribe", + "target": "/react/build-a-backend/more-features/pubsub/subscribe", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/resolve-conflicts/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/resolve-conflicts/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/push-notifications/push-notifications-migration-guide", + "target": "/react/build-a-backend/push-notifications/push-notifications-migration-guide", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/respond-interaction-events/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/push-notifications/receive-device-token", + "target": "/react/build-a-backend/push-notifications/receive-device-token", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/respond-interaction-events/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/respond-interaction-events/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/push-notifications/register-device", + "target": "/react/build-a-backend/push-notifications/register-device", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/sync-messages/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/in-app-messaging/sync-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/push-notifications/set-up-push-service", + "target": "/react/build-a-backend/push-notifications/set-up-push-service", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/record-notifications/q/platform/android/", - "target":"/android/build-a-backend/push-notifications/record-notifications/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/restapi/delete-data", + "target": "/react/build-a-backend/restapi/delete-data", + "status": "301", + "condition": null }, { - "source":"/lib/in-app-messaging/sync-messages/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/in-app-messaging/sync-messages/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/restapi/override-api-gateway", + "target": "/react/build-a-backend/restapi/override-api-gateway", + "status": "301", + "condition": null }, { - "source":"/lib/info/app-uninstall/lib/q/platform/ios/", - "target":"/swift/build-a-backend/auth/app-uninstall/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/restapi/restapi-v5-to-v6-migration-guide", + "target": "/react/build-a-backend/restapi/restapi-v5-to-v6-migration-guide", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/register-device/q/platform/android/", - "target":"/swift/build-a-backend/push-notifications/register-device/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/restapi/test-api", + "target": "/react/build-a-backend/restapi/test-api", + "status": "301", + "condition": null }, { - "source":"/lib/info/app-uninstall/q/platform/ios/", - "target":"/swift/build-a-backend/auth/app-uninstall/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/restapi/update-data", + "target": "/react/build-a-backend/restapi/update-data", + "status": "301", + "condition": null }, { - "source":"/lib/info/overview/q/platform/ios/", - "target":"/swift/build-a-backend/auth/data-usage-policy/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/server-side-rendering/nextjs-v5-to-v6-migration-guide", + "target": "/react/build-a-backend/server-side-rendering/nextjs-v5-to-v6-migration-guide", + "status": "301", + "condition": null }, { - "source":"/swift/build-a-backend/more-features/datastore/data-usage-policy/", - "target":"/swift/build-a-backend/auth/data-usage-policy/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/server-side-rendering/nextjs", + "target": "/react/build-a-backend/server-side-rendering/nextjs", + "status": "301", + "condition": null }, { - "source":"/lib/interactions/chatbot/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/interactions/chatbot/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/server-side-rendering/nuxt", + "target": "/react/build-a-backend/server-side-rendering/nuxt", + "status": "301", + "condition": null }, { - "source":"/lib/interactions/chatbot/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/interactions/chatbot/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/configure-access", + "target": "/react/build-a-backend/storage/configure-access", + "status": "301", + "condition": null }, { - "source":"/lib/interactions/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/interactions/set-up-interactions/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/data-usage-policy", + "target": "/react/build-a-backend/storage/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/interactions/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/interactions/set-up-interactions/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/download", + "target": "/react/build-a-backend/storage/download", + "status": "301", + "condition": null }, { - "source":"/lib/logging/access-logs/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/view-logs/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/modify-amplify-generated-resources", + "target": "/react/build-a-backend/storage/modify-amplify-generated-resources", + "status": "301", + "condition": null }, { - "source":"/lib/logging/access-logs/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/view-logs/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/query-transfers", + "target": "/react/build-a-backend/storage/query-transfers", + "status": "301", + "condition": null }, { - "source":"/lib/logging/change-local-storage/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/change-local-storage/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/storage/transfer-acceleration", + "target": "/react/build-a-backend/storage/transfer-acceleration", + "status": "301", + "condition": null }, { - "source":"/lib/logging/change-local-storage/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/change-local-storage/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/troubleshooting/upgrade-amplify-packages", + "target": "/react/build-a-backend/troubleshooting/upgrade-amplify-packages", + "status": "301", + "condition": null }, { - "source":"/lib/logging/change-log-levels/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/change-log-levels/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/utilities", + "target": "/react/build-a-backend/utilities", + "status": "301", + "condition": null }, { - "source":"/lib/logging/change-log-levels/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/change-log-levels/", - "status":"301", - "condition":null + "source": "/[platform]/build-a-backend/utilities/console-logger", + "target": "/react/build-a-backend/utilities/console-logger", + "status": "301", + "condition": null }, { - "source":"/lib/logging/configure-user/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/configure-user/", - "status":"301", - "condition":null + "source": "/[platform]/build-ui/uibuilder/override", + "target": "/react/build-ui/uibuilder/override", + "status": "301", + "condition": null }, { - "source":"/lib/logging/configure-user/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/configure-user/", - "status":"301", - "condition":null + "source": "/[platform]/build-ui/uibuilder/responsive", + "target": "/react/build-ui/uibuilder/responsive", + "status": "301", + "condition": null }, { - "source":"/lib/logging/enable-disable/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/enable-disable/", - "status":"301", - "condition":null + "source": "/[platform]/build-ui/uibuilder/slots", + "target": "/react/build-ui/uibuilder/slots", + "status": "301", + "condition": null }, { - "source":"/lib/logging/enable-disable/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/enable-disable/", - "status":"301", - "condition":null + "source": "/[platform]/deploy-and-host/deployment/deploy-static-site-github", + "target": "/react/deploy-and-host/deployment/deploy-static-site-github", + "status": "301", + "condition": null }, { - "source":"/lib/logging/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/sdk/", - "status":"301", - "condition":null + "source": "/[platform]/deploy-and-host/deployment/pull-request-previews", + "target": "/react/deploy-and-host/deployment/pull-request-previews", + "status": "301", + "condition": null }, { - "source":"/lib/logging/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/sdk/", - "status":"301", - "condition":null + "source": "/[platform]/deploy-and-host/frameworks/deploy-gridsome-site", + "target": "/react/deploy-and-host/frameworks/deploy-gridsome-site", + "status": "301", + "condition": null }, { - "source":"/lib/logging/flush-logs/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/flush-logs/", - "status":"301", - "condition":null + "source": "/[platform]/deploy-and-host/frameworks/deploy-nextjs-app", + "target": "/react/deploy-and-host/frameworks/deploy-nextjs-app", + "status": "301", + "condition": null }, { - "source":"/lib/logging/flush-logs/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/flush-logs/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/auth/app-uninstall", + "target": "/react/prev/build-a-backend/auth/app-uninstall", + "status": "301", + "condition": null }, { - "source":"/lib/logging/hub-events/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/hub-events/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/auth/data-usage-policy", + "target": "/react/prev/build-a-backend/auth/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/logging/hub-events/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/hub-events/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/auth/delete-user-account", + "target": "/react/prev/build-a-backend/auth/delete-user-account", + "status": "301", + "condition": null }, { - "source":"/lib/logging/remote-configuration/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/remote-configuration/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/auth/switch-auth", + "target": "/react/prev/build-a-backend/auth/switch-auth", + "status": "301", + "condition": null }, { - "source":"/lib/q/platform/flutter/", - "target":"/flutter/tools/libraries/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/analytics/app-uninstall", + "target": "/react/prev/build-a-backend/more-features/analytics/app-uninstall", + "status": "301", + "condition": null }, { - "source":"/lib/q/platform/js/", - "target":"/javascript/prev/build-a-backend/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/analytics/data-usage-policy", + "target": "/react/prev/build-a-backend/more-features/analytics/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/q/platform/react-native/", - "target":"/react-native/tools/libraries/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/analytics/streaming-data", + "target": "/react/prev/build-a-backend/more-features/analytics/streaming-data", + "status": "301", + "condition": null }, { - "source":"/lib/logging/remote-configuration/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/remote-configuration/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/datastore/how-it-works", + "target": "/react/prev/build-a-backend/more-features/datastore/how-it-works", + "status": "301", + "condition": null }, { - "source":"/lib/logging/sending-logs/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/send-logs/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/datastore/set-up-datastore", + "target": "/react/prev/build-a-backend/more-features/datastore/set-up-datastore", + "status": "301", + "condition": null }, { - "source":"/lib/logging/sending-logs/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/send-logs/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/datastore/sync-to-cloud", + "target": "/react/prev/build-a-backend/more-features/datastore/sync-to-cloud", + "status": "301", + "condition": null }, { - "source":"/lib/logging/setup-logging/q/platform/android/", - "target":"/android/build-a-backend/more-features/logging/set-up-logging/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/predictions/data-usage-policy", + "target": "/react/prev/build-a-backend/more-features/predictions/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/logging/setup-logging/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/logging/set-up-logging/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/more-features/pubsub", + "target": "/react/prev/build-a-backend/more-features/pubsub", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/sdk/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/push-notifications/app-badge-count", + "target": "/react/prev/build-a-backend/push-notifications/app-badge-count", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/sdk/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/push-notifications/interact-with-notifications", + "target": "/react/prev/build-a-backend/push-notifications/interact-with-notifications", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/getting-started/q/platform/android/", - "target":"/android/prev/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/push-notifications/set-up-push-notifications", + "target": "/react/prev/build-a-backend/push-notifications/set-up-push-notifications", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/getting-started/q/platform/ios/", - "target":"/swift/prev/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/push-notifications/set-up-push-service", + "target": "/react/prev/build-a-backend/push-notifications/set-up-push-service", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/restapi/customize-authz", + "target": "/react/prev/build-a-backend/restapi/customize-authz", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/cancel/q/platform/js/", - "target":"/javascript/prev/build-a-backend/restapi/cancel-api-requests/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/restapi/set-up-rest-api", + "target": "/react/prev/build-a-backend/restapi/set-up-rest-api", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/cancel/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/restapi/cancel-api-requests/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/storage/data-usage-policy", + "target": "/react/prev/build-a-backend/storage/data-usage-policy", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/set-up-predictions/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/storage/get-properties", + "target": "/react/prev/build-a-backend/storage/get-properties", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-entity/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/storage/upload", + "target": "/react/prev/build-a-backend/storage/upload", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-entity/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/troubleshooting", + "target": "/react/prev/build-a-backend/troubleshooting", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-entity/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/[platform]/prev/build-a-backend/utilities/service-worker", + "target": "/react/prev/build-a-backend/utilities/service-worker", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-entity/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/identify-entity/", - "status":"301", - "condition":null + "source": "/[platform]/prev/start/project-setup", + "target": "/react/prev/start/project-setup", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-text/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/[platform]/prev/start/project-setup/async-programming-model", + "target": "/react/prev/start/project-setup/async-programming-model", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-text/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/[platform]/prev/start/project-setup/rxjava", + "target": "/react/prev/start/project-setup/rxjava", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-text/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/[platform]/prev/start/project-setup/use-existing-resources", + "target": "/react/prev/start/project-setup/use-existing-resources", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/identify-text/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/identify-text/", - "status":"301", - "condition":null + "source": "/[platform]/prev/tools/libraries/configure-categories", + "target": "/react/prev/tools/libraries/configure-categories", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/interpret/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/analytics/endpoints", + "target": "/react/sdk/analytics/endpoints", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/interpret/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/analytics/events", + "target": "/react/sdk/analytics/events", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/interpret/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/analytics/kinesis", + "target": "/react/sdk/analytics/kinesis", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/interpret/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/interpret-sentiment/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/auth/getting-started", + "target": "/react/sdk/auth/getting-started", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/intro/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/configuration/setup-options", + "target": "/react/sdk/configuration/setup-options", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/intro/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/", - "status":"301", - "condition":null + "source": "/[platform]/sdk/info/app-uninstall", + "target": "/react/sdk/info/app-uninstall", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/label-image/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/[platform]/start", + "target": "/react/start", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/label-image/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/[platform]/start/getting-started/data-model", + "target": "/react/start/getting-started/data-model", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/label-image/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/[platform]/start/getting-started/installation", + "target": "/react/start/getting-started/installation", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/label-image/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/label-image/", - "status":"301", - "condition":null + "source": "/[platform]/start/getting-started/introduction", + "target": "/react/start/getting-started/introduction", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/sample/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/example-app/", - "status":"301", - "condition":null + "source": "/[platform]/tools/cli-legacy/config-params", + "target": "/react/tools/cli-legacy/config-params", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/sample/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/example-app/", - "status":"301", - "condition":null + "source": "/[platform]/tools/cli-legacy/relational-databases", + "target": "/react/tools/cli-legacy/relational-databases", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/text-speech/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/[platform]/tools/console/adminui/access-management", + "target": "/react/tools/console/adminui/access-management", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/text-speech/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/[platform]/tools/console/auth/import", + "target": "/react/tools/console/auth/import", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/text-speech/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/[platform]/tools/console/authz", + "target": "/react/tools/console/authz", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/text-speech/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/text-to-speech/", - "status":"301", - "condition":null + "source": "/[platform]/tools/console/storage", + "target": "/react/tools/console/storage", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/transcribe/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/transcribe-audio/", - "status":"301", - "condition":null + "source": "/Amazon", + "target": "/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/transcribe/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/transcribe-audio/", - "status":"301", - "condition":null + "source": "/android/build-ui/<*>", + "target": "/android/build-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/transcribe/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/transcribe-audio/", - "status":"301", - "condition":null + "source": "/android/deploy-and-host/deployment/", + "target": "/android/deploy-and-host/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/translate/q/platform/android/", - "target":"/android/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/android/deploy-and-host/deployment/deploy-static-site-locally/", + "target": "/android/deploy-and-host/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/translate/q/platform/ios/", - "target":"/swift/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/angular/build-ui/<*>", + "target": "/angular/build-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/translate/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/angular/sdk/", + "target": "/angular/build-a-backend/graphqlapi/upgrade-guide/", + "status": "301", + "condition": null }, { - "source":"/lib/predictions/translate/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/predictions/translate/", - "status":"301", - "condition":null + "source": "/angular/sdk/<*>", + "target": "/angular/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/pubsub/set-up-pubsub/", - "status":"301", - "condition":null + "source": "/api_docs/", + "target": "https://aws-amplify.github.io/amplify-js/api/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/pubsub/set-up-pubsub/", - "status":"301", - "condition":null + "source": "/api/", + "target": "https://aws-amplify.github.io/amplify-js/api/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/publish/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/pubsub/publish/", - "status":"301", - "condition":null + "source": "/api/api-docs/", + "target": "https://aws-amplify.github.io/amplify-js/api/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/publish/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/pubsub/publish/", - "status":"301", - "condition":null + "source": "/api/apidocs/", + "target": "https://aws-amplify.github.io/amplify-js/api/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/subunsub/q/platform/js/", - "target":"/javascript/build-a-backend/more-features/pubsub/subscribe/", - "status":"301", - "condition":null + "source": "/api/docs/", + "target": "https://aws-amplify.github.io/amplify-js/api/", + "status": "301", + "condition": null }, { - "source":"/lib/pubsub/subunsub/q/platform/react-native/", - "target":"/react-native/build-a-backend/more-features/pubsub/subscribe/", - "status":"301", - "condition":null + "source": "/api/swagger-resources/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/app-badge-count/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/app-badge-count/", - "status":"301", - "condition":null + "source": "/api/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/app-badge-count/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/app-badge-count/", - "status":"301", - "condition":null + "source": "/api/swagger-ui/api-docs/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/enable-rich-notifications/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/enable-rich-notifications/", - "status":"301", - "condition":null + "source": "/api/swagger/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/enable-rich-notifications/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/enable-rich-notifications/", - "status":"301", - "condition":null + "source": "/api/swagger/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/getting-started/q/platform/android/", - "target":"/android/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"301", - "condition":null + "source": "/api/swagger/ui/index", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"301", - "condition":null + "source": "/auth/authentication/", + "target": "/react/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"301", - "condition":null + "source": "/backend/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/set-up-push-notifications/", - "status":"301", - "condition":null + "source": "/build-a-backend/add-aws-services/overriding-resources/", + "target": "/react/tools/cli/project/override-iam/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/identify-user/q/platform/android/", - "target":"/android/build-a-backend/push-notifications/identify-user/", - "status":"301", - "condition":null + "source": "/build-ui/", + "target": "/react/build-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/identify-user/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/identify-user/", - "status":"301", - "condition":null + "source": "/cli-legacy/graphql-t", + "target": "/react/tools/cli-legacy/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/identify-user/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/identify-user/", - "status":"301", - "condition":null + "source": "/cli/commands/[command]", + "target": "/react/tools/cli/commands/#<*>", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/identify-user/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/identify-user/", - "status":"301", - "condition":null + "source": "/cli/graphql/authorization/", + "target": "/react/build-a-backend/graphqlapi/customize-authorization-rules/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/cancel-requests/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/cancel-requests/", - "status":"301", - "condition":null + "source": "/cli/graphqlv2/directives/", + "target": "/react/tools/cli/graphqlapi/directives-reference/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/cancel-requests/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/cancel-requests/", - "status":"301", - "condition":null + "source": "/documentation/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/interact-with-notifications/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/interact-with-notifications/", - "status":"301", - "condition":null + "source": "/flutter/build-ui/<*>", + "target": "/flutter/build-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/interact-with-notifications/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/interact-with-notifications/", - "status":"301", - "condition":null + "source": "/flutter/deploy-and-host/<*>", + "target": "/flutter/deploy-and-host", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/migrate-from-previous-version/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/push-notifications/migrate-from-previous-version/", - "status":"301", - "condition":null + "source": "/flutter/sdk/", + "target": "/flutter/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/receive-device-token/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/receive-device-token/", - "status":"301", - "condition":null + "source": "/flutter/sdk/<*>", + "target": "/flutter/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/receive-device-token/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/receive-device-token/", - "status":"301", - "condition":null + "source": "/guides/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/record-notifications/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/record-notifications/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/graphql-pagination/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/register-device/q/platform/ios/", - "target":"/android/build-a-backend/push-notifications/register-device/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/graphql-pagination/q/platform/flutter/", + "target": "/flutter/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/remote-media/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/remote-media/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/image-and-file-uploads/q/platform/flutter/", + "target": "/flutter/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/custom-plugin/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/custom-plugin/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/query-with-sorting/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/custom-plugin/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/storage/custom-plugin/", - "status":"301", - "condition":null + "source": "/guides/api-graphql/subscriptions-by-id/q/platform/react/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/request-permissions/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/request-permissions/", - "status":"301", - "condition":null + "source": "/guides/api-rest/express-server/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/request-permissions/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/request-permissions/", - "status":"301", - "condition":null + "source": "/guides/api-rest/gen-ai/q/platform/ios/", + "target": "/swift/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/setup-push-service/q/platform/android/", - "target":"/android/build-a-backend/push-notifications/set-up-push-service/", - "status":"301", - "condition":null + "source": "/guides/functions/connecting-a-rest-api/q/platform/react-native/", + "target": "/react-native/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/setup-push-service/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/set-up-push-service/", - "status":"301", - "condition":null + "source": "/guides/functions/dynamodb-from-js-lambda/q/platform/react-native/", + "target": "/react-native/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/setup-push-service/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/set-up-push-service/", - "status":"301", - "condition":null + "source": "/guides/functions/integrating-dynamodb-with-lambda/q/platform/flutter/", + "target": "/flutter/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/setup-push-service/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/set-up-push-service/", - "status":"301", - "condition":null + "source": "/guides/functions/integrating-dynamodb-with-lambda/q/platform/react-native/", + "target": "/react-native/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/testing/q/platform/android/", - "target":"/android/build-a-backend/push-notifications/test-notifications/", - "status":"301", - "condition":null + "source": "/guides/hosting/custom-domains/q/platform/ios/", + "target": "/swift/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/testing/q/platform/flutter/", - "target":"/flutter/build-a-backend/push-notifications/test-notifications/", - "status":"301", - "condition":null + "source": "/guides/hosting/gatsby/q/platform/react/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/testing/q/platform/ios/", - "target":"/swift/build-a-backend/push-notifications/test-notifications/", - "status":"301", - "condition":null + "source": "/guides/hosting/gridsome/q/platform/react-native/", + "target": "/react-native/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/push-notifications/testing/q/platform/react-native/", - "target":"/react-native/build-a-backend/push-notifications/test-notifications/", - "status":"301", - "condition":null + "source": "/guides/hosting/password-protected-deployments/q/platform/react-native/", + "target": "/react-native/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/authz/q/platform/android/", - "target":"/android/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/javascript/prev/build-a-backend/graphqlapi/custom-business-logic/", + "target": "/javascript/tools/cli-legacy/function-directive/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/authz/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/javascript/sdk/<*>", + "target": "/javascript/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/authz/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1", + "target": "/react/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/authz/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1/", + "target": "/react/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/authz/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/customize-authz/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/escapehatch", + "target": "/react/prev/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/delete/q/platform/android/", - "target":"/android/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/escapehatch/", + "target": "/react/prev/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/delete/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/existing-resources", + "target": "/react/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/delete/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/existing-resources/", + "target": "/react/prev/build-a-backend/more-features/analytics/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/delete/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/analytics/identifyuser/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/delete/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/delete-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/access_credentials", + "target": "/swift/prev/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/access_credentials/", + "target": "/swift/prev/build-a-backend/auth/accessing-credentials/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/existing-resources/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/access_credentials/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/advanced", + "target": "/react/prev/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/fetch/q/platform/android/", - "target":"/android/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/advanced/", + "target": "/react/prev/build-a-backend/auth/advanced-workflows/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/fetch/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/delete_user", + "target": "/react/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/fetch/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/delete_user/", + "target": "/react/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/fetch/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/delete_user/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/delete-user-account/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/fetch/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/fetch-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/device_features/", + "target": "/react/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/getting-started/q/platform/android/", - "target":"/android/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/device_features/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/getting-started/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/device_features/q/platform/next/", + "target": "/nextjs/prev/build-a-backend/auth/remember-device/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/escapehatch/q/platform/ionic/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/getting-started/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/existing-resources", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/set-up-rest-api/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/existing-resources/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/update/q/platform/android/", - "target":"/android/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/getting-started", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/update/q/platform/flutter/", - "target":"/flutter/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/getting-started/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/update/q/platform/ios/", - "target":"/swift/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/guest_access/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/update/q/platform/js/", - "target":"/javascript/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/managing_credentials", + "target": "/flutter/prev/build-a-backend/auth/managing-credentials/", + "status": "301", + "condition": null }, { - "source":"/lib/restapi/update/q/platform/react-native/", - "target":"/react-native/build-a-backend/restapi/update-data/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/managing_credentials/", + "target": "/flutter/prev/build-a-backend/auth/managing-credentials/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/autotrack/q/platform/js/", - "target":"/javascript/prev/build-a-backend/storage/autotrack/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/mfa", + "target": "/react/prev/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/configureaccess/q/platform/android/", - "target":"/android/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/mfa/", + "target": "/react/prev/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/configureaccess/q/platform/ios/", - "target":"/swift/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/overview/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/configureaccess/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/overview/q/platform/react/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/copy/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/copy/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/overview/q/platform/vue/", + "target": "/vue/prev/build-a-backend/auth/under-the-hood/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/download/q/platform/android/", - "target":"/android/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/password_management", + "target": "/react/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/download/q/platform/ios/", - "target":"/swift/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/password_management/", + "target": "/react/prev/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/download/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/download/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_next_steps/", + "target": "/react/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/escapehatch/q/platform/android/", - "target":"/android/build-a-backend/storage/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_next_steps/q/platform/next/", + "target": "/nextjs/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/escapehatch/q/platform/ios/", - "target":"/swift/build-a-backend/storage/sdk/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_web_ui/", + "target": "/swift/prev/build-a-backend/auth/sign-in-with-web-ui/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/existing-resources/q/platform/android/", - "target":"/android/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_web_ui/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/existing-resources/q/platform/ios/", - "target":"/swift/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_web_ui/q/platform/vue/", + "target": "/vue/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/existing-resources/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/existing-resources/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin_with_custom_flow/q/platform/vue/", + "target": "/vue/prev/build-a-backend/auth/switch-auth/#custom-authentication-flow", + "status": "301", + "condition": null }, { - "source":"/lib/storage/getting-started/q/platform/android/", - "target":"/android/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin", + "target": "/react/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/getting-started/q/platform/ios/", - "target":"/swift/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/getting-started/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/set-up-storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signin/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/list/q/platform/android/", - "target":"/android/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signOut", + "target": "/react/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/list/q/platform/ios/", - "target":"/swift/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signOut/q/platform/js/", + "target": "/javascript/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/list/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/list/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/signOut/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/move/q/platform/js/", - "target":"/flutter/build-a-backend/storage/move/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/sms_flows/q/platform/[platform]", + "target": "/swift/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/overview/q/platform/android/", - "target":"/android/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/social/q/platform/next/", + "target": "/nextjs/prev/build-a-backend/auth/add-social-provider/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/overview/q/platform/ios/", - "target":"/swift/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/switch-auth", + "target": "/react/prev/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null }, { - "source":"/lib/troubleshooting/strict-mode/q/platform/js/", - "target":"/javascript/prev/build-a-backend/troubleshooting/strict-mode/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/switch-auth/", + "target": "/react/prev/build-a-backend/auth/switch-auth/", + "status": "301", + "condition": null }, { - "source":"/lib/troubleshooting/strict-mode/q/platform/react-native/", - "target":"/react-native/prev/build-a-backend/troubleshooting/strict-mode/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/user-attributes", + "target": "/swift/prev/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/overview/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/user-attributes/", + "target": "/swift/prev/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/querytransfers/q/platform/android/", - "target":"/android/build-a-backend/storage/query-transfers/", - "status":"301", - "condition":null + "source": "/lib-v1/auth/user-attributes/q/platform/react-native/", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/remove/q/platform/android/", - "target":"/android/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/advanced-workflows/q/platform/[platform]", + "target": "/react/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/remove/q/platform/ios/", - "target":"/swift/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/advanced-workflows/q/platform/ios/", + "target": "/swift/prev/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/remove/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/remove/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/conflict/q/platform/react/", + "target": "/react/prev/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/transfer-acceleration/q/platform/android/", - "target":"/android/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/data-access", + "target": "/react/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/transfer-acceleration/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/transfer-acceleration/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/data-access/", + "target": "/react/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/triggers/q/platform/android/", - "target":"/android/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/data-access/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/manipulate-data/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/triggers/q/platform/ios/", - "target":"/swift/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/datastore-events/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/triggers/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/lambda-triggers/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/datastore-events/q/platform/next/", + "target": "/nextjs/prev/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/upload/q/platform/android/", - "target":"/android/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/getting-started", + "target": "/react/prev/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/upload/q/platform/ios/", - "target":"/swift/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/getting-started/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null }, { - "source":"/lib/storage/upload/q/platform/react-native/", - "target":"/react-native/build-a-backend/storage/upload/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/how-it-works", + "target": "/react/prev/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null }, { - "source":"/lib/troubleshooting/upgrading/q/platform/js/", - "target":"/javascript/build-a-backend/troubleshooting/upgrade-amplify-packages/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/other-methods", + "target": "/react/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null }, { - "source":"/lib/troubleshooting/upgrading/q/platform/react-native/", - "target":"/react-native/build-a-backend/troubleshooting/upgrade-amplify-packages/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/other-methods/", + "target": "/react/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/cache/q/platform/js/", - "target":"/javascript/build-a-backend/utilities/cache/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/other-methods/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/additional-methods/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/cache/q/platform/react-native/", - "target":"/react-native/build-a-backend/utilities/cache/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/relational", + "target": "/react/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/hub/q/platform/android/", - "target":"/android/build-a-backend/utilities/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/relational/", + "target": "/react/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/hub/q/platform/ios/", - "target":"/swift/build-a-backend/utilities/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/relational/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/hub/q/platform/js/", - "target":"/javascript/build-a-backend/utilities/hub/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/setup-auth-rules/q/platform/next/", + "target": "/nextjs/prev/build-a-backend/more-features/datastore/authz-rules-setup/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/hub/q/platform/react-native/", - "target":"/react-native/build-a-backend/utilities/hub/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/sync", + "target": "/react/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/i18n/q/platform/js/", - "target":"/javascript/build-a-backend/utilities/i18n/", - "status":"301", - "condition":null + "source": "/lib-v1/datastore/sync/q/platform/js/", + "target": "/javascript/prev/build-a-backend/more-features/datastore/sync-to-cloud/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/i18n/q/platform/react-native/", - "target":"/react-native/build-a-backend/utilities/i18n/", - "status":"301", - "condition":null + "source": "/lib-v1/debugging/dev-menu/q/platform/angular/", + "target": "/angular/tools/cli/reference/diagnose/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/logger/q/platform/js/", - "target":"/javascript/build-a-backend/utilities/console-logger/", - "status":"301", - "condition":null + "source": "/lib-v1/debugging/dev-menu/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/logger/q/platform/react-native/", - "target":"/react-native/build-a-backend/utilities/console-logger/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/escapehatch/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/lib/utilities/serviceworker/q/platform/js/", - "target":"/javascript/build-a-backend/utilities/service-worker/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/getting-started", + "target": "/swift/prev/build-a-backend/more-features/geo/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/endpoints/q/platform/android/", - "target":"/android/sdk/analytics/endpoints/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/getting-started/", + "target": "/swift/prev/build-a-backend/more-features/geo/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/endpoints/q/platform/ios/", - "target":"/swift/sdk/analytics/endpoints/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/getting-started/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/events/q/platform/android/", - "target":"/android/sdk/analytics/events/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/getting-started/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/events/q/platform/ios/", - "target":"/swift/sdk/analytics/events/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/maps/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/getting-started/q/platform/android/", - "target":"/android/sdk/analytics/getting-started/", - "status":"301", - "condition":null + "source": "/lib-v1/geo/maps/q/platform/vue/", + "target": "/vue/prev/build-a-backend/more-features/geo/maps/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/getting-started/q/platform/ios/", - "target":"/swift/sdk/analytics/getting-started/", - "status":"301", - "condition":null + "source": "/lib-v1/graphqlapi/query-data/", + "target": "/swift/prev/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/kinesis/q/platform/android/", - "target":"/android/sdk/analytics/kinesis/", - "status":"301", - "condition":null + "source": "/lib-v1/predictions/interpret/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/analytics/kinesis/q/platform/ios/", - "target":"/swift/sdk/analytics/kinesis/", - "status":"301", - "condition":null + "source": "/lib-v1/project-setup/use-existing-resources/q/platform/flutter/", + "target": "/flutter/prev/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/api/graphql/q/platform/android/", - "target":"/android/sdk/api/graphql/", - "status":"301", - "condition":null + "source": "/lib-v1/ssr/nextjs/", + "target": "/nextjs/prev/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/sdk/api/graphql/q/platform/ios/", - "target":"/swift/sdk/api/graphql/", - "status":"301", - "condition":null + "source": "/lib-v1/storage/escapehatch/q/platform/react-native/", + "target": "/react-native/prev/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/sdk/api/rest/q/platform/android/", - "target":"/android/sdk/api/rest/", - "status":"301", - "condition":null + "source": "/lib/", + "target": "/react/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/sdk/api/rest/q/platform/ios/", - "target":"/swift/sdk/api/rest/", - "status":"301", - "condition":null + "source": "/lib/analytics/enable-disable/", + "target": "/react/build-a-backend/more-features/analytics/enable-disable/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/custom-auth-flow/q/platform/android/", - "target":"/android/sdk/auth/custom-auth-flow/", - "status":"301", - "condition":null + "source": "/lib/analytics/escapehatch/q/platform/react-native/", + "target": "/react-native/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/custom-auth-flow/q/platform/ios/", - "target":"/swift/sdk/auth/custom-auth-flow/", - "status":"301", - "condition":null + "source": "/lib/analytics/getting-started?platform=js", + "target": "/javascript/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/device-features/q/platform/android/", - "target":"/android/sdk/auth/device-features/", - "status":"301", - "condition":null + "source": "/lib/analytics/getting-started/", + "target": "/react/build-a-backend/more-features/analytics/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/device-features/q/platform/ios/", - "target":"/swift/sdk/auth/device-features/", - "status":"301", - "condition":null + "source": "/lib/analytics/identifyuser/q/platform/js/", + "target": "/javascript/build-a-backend/more-features/analytics/identify-user/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/drop-in-auth/q/platform/android/", - "target":"/android/sdk/auth/drop-in-auth/", - "status":"301", - "condition":null + "source": "/lib/analytics/record/q/", + "target": "/react/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/drop-in-auth/q/platform/ios/", - "target":"/swift/sdk/auth/drop-in-auth/", - "status":"301", - "condition":null + "source": "/lib/analytics/record/q/platform/react/", + "target": "/react/build-a-backend/more-features/analytics/record-events/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/federated-identities/q/platform/android/", - "target":"/android/sdk/auth/federated-identities/", - "status":"301", - "condition":null + "source": "/lib/auth/auth-events/", + "target": "/react/build-a-backend/auth/auth-events/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/federated-identities/q/platform/ios/", - "target":"/swift/sdk/auth/federated-identities/", - "status":"301", - "condition":null + "source": "/lib/auth/escapehatch/q/platform/angular/", + "target": "/angular/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/getting-started/q/platform/android/", - "target":"/android/sdk/auth/getting-started/", - "status":"301", - "condition":null + "source": "/lib/auth/escapehatch/q/platform/js/", + "target": "/javascript/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/getting-started/q/platform/ios/", - "target":"/swift/sdk/auth/getting-started/", - "status":"301", - "condition":null + "source": "/lib/auth/getting-started/", + "target": "/react/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/guest-access/q/platform/android/", - "target":"/android/sdk/auth/guest-access/", - "status":"301", - "condition":null + "source": "/lib/auth/manage-session/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-user-session/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/guest-access/q/platform/ios/", - "target":"/swift/sdk/auth/guest-access/", - "status":"301", - "condition":null + "source": "/lib/auth/managing_credentials/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-user-session/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/hosted-ui/q/platform/android/", - "target":"/android/sdk/auth/hosted-ui/", - "status":"301", - "condition":null + "source": "/lib/auth/mfa/", + "target": "/react/build-a-backend/auth/manage-mfa/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/hosted-ui/q/platform/ios/", - "target":"/swift/sdk/auth/hosted-ui/", - "status":"301", - "condition":null + "source": "/lib/auth/overview/q/platform/vue/", + "target": "/vue/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/how-it-works/q/platform/android/", - "target":"/android/sdk/auth/", - "status":"301", - "condition":null + "source": "/lib/auth/password_management/q/platform/js/", + "target": "/javascript/build-a-backend/auth/manage-passwords/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/how-it-works/q/platform/ios/", - "target":"/swift/sdk/auth/", - "status":"301", - "condition":null + "source": "/lib/auth/password_management/q/platform/vue/", + "target": "/vue/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/working-with-api/q/platform/android/", - "target":"/android/sdk/auth/working-with-api/", - "status":"301", - "condition":null + "source": "/lib/auth/signOut/q/platform/", + "target": "/react/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/sdk/auth/working-with-api/q/platform/ios/", - "target":"/swift/sdk/auth/working-with-api/", - "status":"301", - "condition":null + "source": "/lib/auth/signOut/q/platform/js/", + "target": "/javascript/build-a-backend/auth/enable-sign-up/", + "status": "301", + "condition": null }, { - "source":"/sdk/configuration/setup-options/q/platform/android/", - "target":"/android/sdk/configuration/", - "status":"301", - "condition":null + "source": "/lib/auth/start/q/platform/angular/", + "target": "/angular/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/configuration/setup-options/q/platform/ios/", - "target":"/swift/sdk/configuration/", - "status":"301", - "condition":null + "source": "/lib/auth/start/q/platform/js/", + "target": "/javascript/build-a-backend/auth/set-up-auth/", + "status": "301", + "condition": null }, { - "source":"/sdk/info/app-uninstall/q/platform/ios/", - "target":"/swift/sdk/info/app-uninstall/", - "status":"301", - "condition":null + "source": "/lib/auth/user-attributes/", + "target": "/swift/build-a-backend/auth/managing-attributes/", + "status": "301", + "condition": null }, { - "source":"/sdk/info/overview/q/platform/ios/", - "target":"/swift/sdk/info/overview/", - "status":"301", - "condition":null + "source": "/lib/datastore/advanced-workflows/", + "target": "/react/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null }, { - "source":"/sdk/pubsub/aws-iot-and-amplify/q/platform/ios/", - "target":"/swift/sdk/pubsub/aws-iot-and-amplify/", - "status":"301", - "condition":null + "source": "/lib/datastore/conflict/q/platform/angular/", + "target": "/angular/build-a-backend/more-features/datastore/conflict-resolution/", + "status": "301", + "condition": null }, { - "source":"/sdk/pubsub/getting-started/q/platform/android/", - "target":"/android/sdk/pubsub/getting-started/", - "status":"301", - "condition":null + "source": "/lib/datastore/datastore-events/q/platform/next/", + "target": "/nextjs/build-a-backend/more-features/datastore/datastore-events/", + "status": "301", + "condition": null }, { - "source":"/sdk/pubsub/getting-started/q/platform/ios/", - "target":"/swift/sdk/pubsub/getting-started/", - "status":"301", - "condition":null + "source": "/lib/datastore/how-it-works/", + "target": "/react/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null }, { - "source":"/sdk/pubsub/working-api/q/platform/android/", - "target":"/android/sdk/pubsub/working-api/", - "status":"301", - "condition":null + "source": "/lib/datastore/how-it-works/q/platform/vue/", + "target": "/vue/build-a-backend/more-features/datastore/how-it-works/", + "status": "301", + "condition": null }, { - "source":"/sdk/pubsub/working-api/q/platform/ios/", - "target":"/swift/sdk/pubsub/working-api/", - "status":"301", - "condition":null + "source": "/lib/datastore/relational/q/platform/react/", + "target": "/react/build-a-backend/more-features/datastore/relational-models/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/getting-started/q/platform/android/", - "target":"/android/sdk/push-notifications/getting-started/", - "status":"301", - "condition":null + "source": "/lib/datastore/schema-updates/q/platform/next/", + "target": "/nextjs/build-a-backend/more-features/datastore/schema-updates/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/getting-started/q/platform/ios/", - "target":"/swift/sdk/push-notifications/getting-started/", - "status":"301", - "condition":null + "source": "/lib/geo/getting-started/", + "target": "/react/build-a-backend/more-features/geo/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/messaging-campaign/q/platform/android/", - "target":"/android/sdk/push-notifications/messaging-campaign/", - "status":"301", - "condition":null + "source": "/lib/geo/search/", + "target": "/react/build-a-backend/more-features/geo/configure-location-search/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/messaging-campaign/q/platform/ios/", - "target":"/swift/sdk/push-notifications/messaging-campaign/", - "status":"301", - "condition":null + "source": "/lib/getting-started/integrate/q/platform/android/", + "target": "/android/start/getting-started/integrate/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/setup-push-service/q/platform/android/", - "target":"/android/sdk/push-notifications/setup-push-service/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/authz/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/customize-authz-modes/", + "status": "301", + "condition": null }, { - "source":"/sdk/push-notifications/setup-push-service/q/platform/ios/", - "target":"/swift/sdk/push-notifications/setup-push-service/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/concepts/q/", + "target": "/react/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null }, { - "source":"/sdk/q/platform/android/", - "target":"/android/sdk/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/concepts/q/platform/", + "target": "/react/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null }, { - "source":"/sdk/q/platform/ios/", - "target":"/swift/sdk/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/concepts/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/api-graphql-concepts/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/configure-access/q/platform/ios/", - "target":"/swift/sdk/storage/configure-access/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/connect/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/connect-api-to-existing-database/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/getting-started/q/platform/android/", - "target":"/android/sdk/storage/getting-started/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/getting-started/", + "target": "/react/build-a-backend/graphqlapi/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/getting-started/q/platform/ios/", - "target":"/swift/sdk/storage/getting-started/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/getting-started/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/graphql-api/q/platform/android/", - "target":"/android/sdk/storage/graphql-api/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/graphql-from-nodejs/q/", + "target": "/react/build-a-backend/graphqlapi/connect-from-server-runtime/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/graphql-api/q/platform/ios/", - "target":"/swift/sdk/storage/graphql-api/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/mutate-data/", + "target": "/react/build-a-backend/graphqlapi/custom-business-logic/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/transfer-utility/q/platform/android/", - "target":"/android/sdk/storage/transfer-utility/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/offline/q/platform/next/", + "target": "/nextjs/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null }, { - "source":"/sdk/storage/transfer-utility/q/platform/ios/", - "target":"/swift/sdk/storage/transfer-utility/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/query-data/q/platform/flutter/", + "target": "/flutter/build-a-backend/graphqlapi/query-data/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/add-api/q/integration/android/", - "target":"/android/start/getting-started/add-api/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/upgrade-guide/q/platform/js/", + "target": "/javascript/build-a-backend/graphqlapi/upgrade-guide/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/add-api/q/integration/ios/", - "target":"/swift/start/getting-started/add-api/", - "status":"301", - "condition":null + "source": "/lib/in-app-messaging/identify-user/q/platform/angular/", + "target": "/angular/build-a-backend/more-features/in-app-messaging/identify-user/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/auth/q/integration/angular/", - "target":"/angular/start/getting-started/auth/", - "status":"301", - "condition":null + "source": "/lib/in-app-messaging/sync-messages/q/platform/react/", + "target": "/react/build-a-backend/more-features/in-app-messaging/sync-messages", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/auth/q/integration/react-native/", - "target":"/react-native/start/getting-started/auth/", - "status":"301", - "condition":null + "source": "/lib/info/app-uninstall/q/platform/vue/", + "target": "/vue/tools/cli/commands/#uninstall", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/auth/q/integration/react/", - "target":"/react/start/getting-started/auth/", - "status":"301", - "condition":null + "source": "/lib/interactions/chatbot/q/platform/ios/", + "target": "/swift/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/auth/q/integration/vue/", - "target":"/vue/start/getting-started/auth/", - "status":"301", - "condition":null + "source": "/lib/logging/hub-events/", + "target": "/swift/build-a-backend/utilities/hub/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/angular/", - "target":"/angular/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/predictions/identify-text/q/platform/angular/", + "target": "/angular/build-a-backend/more-features/predictions/identify-text/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/js/", - "target":"/javascript/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/predictions/interpret/q/platform/flutter/", + "target": "/flutter/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/next/", - "target":"/nextjs/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/project-setup/async/q/platform/react/", + "target": "/react/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/react-native/", - "target":"/react-native/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/project-setup/coroutines/q/platform/ios/", + "target": "/swift/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/react/", - "target":"/react/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/project-setup/platform-setup/", + "target": "/react/start/project-setup/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/data-model/q/integration/vue/", - "target":"/vue/start/getting-started/data-model/", - "status":"301", - "condition":null + "source": "/lib/project-setup/upgrade-guide/q/platform/%5Bplatform%5D/", + "target": "/swift/start/project-setup/upgrade-guide/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/generate-model/q/integration/android/", - "target":"/android/start/getting-started/generate-model/", - "status":"301", - "condition":null + "source": "/lib/pubsub/subunsub/", + "target": "/react/build-a-backend/more-features/pubsub/subscribe/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/generate-model/q/integration/flutter/", - "target":"/flutter/start/getting-started/generate-model/", - "status":"301", - "condition":null + "source": "/lib/push-notifications/getting-started/", + "target": "/swift/build-a-backend/push-notifications/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/generate-model/q/integration/ios/", - "target":"/swift/start/getting-started/generate-model/", - "status":"301", - "condition":null + "source": "/lib/push-notifications/getting-started/q/platform/", + "target": "/swift/build-a-backend/push-notifications/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/hosting/q/integration/angular/", - "target":"/angular/start/getting-started/hosting/", - "status":"301", - "condition":null + "source": "/lib/push-notifications/getting-started/q/platform/js/", + "target": "/swift/build-a-backend/push-notifications/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/hosting/q/integration/js/", - "target":"/javascript/start/getting-started/hosting/", - "status":"301", - "condition":null + "source": "/lib/push-notifications/register-device/q/platform/js/", + "target": "/javascript/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/hosting/q/integration/next/", - "target":"/nextjs/start/getting-started/hosting/", - "status":"301", - "condition":null + "source": "/lib/restapi/existing-resources/", + "target": "/javascript/build-a-backend/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/hosting/q/integration/react/", - "target":"/react/start/getting-started/hosting/", - "status":"301", - "condition":null + "source": "/lib/restapi/getting-started/", + "target": "/react/build-a-backend/restapi/existing-resources/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/hosting/q/integration/vue/", - "target":"/vue/start/getting-started/hosting/", - "status":"301", - "condition":null + "source": "/lib/ssr/q/platform/angular/", + "target": "/angular/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/android/", - "target":"/android/start/getting-started/installation", - "status":"301", - "condition":null + "source": "/lib/ssr/q/platform/js/", + "target": "/javascript/build-a-backend/server-side-rendering/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/angular/", - "target":"/angular/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/custom-plugin/q/platform/flutter/", + "target": "/flutter/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/flutter/", - "target":"/flutter/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/escapehatch/q/platform/vue/", + "target": "/vue/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/ios/", - "target":"/swift/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/get-properties/q/platform/ios/", + "target": "/swift/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/js/", - "target":"/javascript/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started?platform=js", + "target": "/javascript/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/next/", - "target":"/nextjs/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/getting-started/", + "target": "/react/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/react-native/", - "target":"/react-native/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/overview/q/platform/angular/", + "target": "/angular/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/react/", - "target":"/react/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/storage/triggers/", + "target": "/react/build-a-backend/storage/lambda-triggers/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/installation/q/integration/vue/", - "target":"/vue/start/getting-started/installation/", - "status":"301", - "condition":null + "source": "/lib/utilities/hub/", + "target": "/react/build-a-backend/utilities/hub/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/integrate/q/integration/android/", - "target":"/android/start/getting-started/integrate/", - "status":"301", - "condition":null + "source": "/lib/utilities/logger?platform=js", + "target": "/javascript/build-a-backend/utilities/console-logger/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/integrate/q/integration/flutter/", - "target":"/flutter/start/getting-started/integrate/", - "status":"301", - "condition":null + "source": "/lib/utilities/serviceworker/", + "target": "/react/build-a-backend/utilities/service-worker/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/integrate/q/integration/ios/", - "target":"/swift/start/getting-started/integrate/", - "status":"301", - "condition":null + "source": "/nextjs/sdk/", + "target": "/nextjs/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/android/", - "target":"/android/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/react-native/build-a-backend/more-features/predictions/[*}", + "target": "/react-native/build-a-backend/more-features/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/angular/", - "target":"/angular/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/react-native/start/getting-started/integration/", + "target": "/react-native/start/getting-started/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/flutter/", - "target":"/flutter/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/react/sdk/", + "target": "/react/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/ios/", - "target":"/swift/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/", + "target": "/swift/sdk/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/js/", - "target":"/javascript/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/api/", + "target": "/swift/sdk/api/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/next/", - "target":"/nextjs/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/auth/custom-auth-flow/q/platform/next/", + "target": "/nextjs/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/react-native/", - "target":"/react-native/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/auth/device-features/q/platform/flutter/", + "target": "/flutter/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/react/", - "target":"/react/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/auth/federated-identities/q/platform/react-native/", + "target": "/react-native/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/nextsteps/q/integration/vue/", - "target":"/vue/start/getting-started/nextsteps/", - "status":"301", - "condition":null + "source": "/sdk/auth/guest-access/q/platform/next/", + "target": "/nextjs/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/android/", - "target":"/android/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/sdk/auth/hosted-ui/q/platform/react-native/", + "target": "/react-native/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/angular/", - "target":"/angular/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/sdk/auth/how-it-works/q/platform/react-native/", + "target": "/react-native/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/flutter/", - "target":"/flutter/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/sdk/info/app-uninstall/q/platform/vue/", + "target": "/vue/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/ios/", - "target":"/swift/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/sdk/pubsub/getting-started/q/platform/react-native/", + "target": "/react-native/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/js/", - "target":"/javascript/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/auth/q/integration/js/", + "target": "/javascript/start/getting-started/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/next/", - "target":"/nextjs/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/data-model/", + "target": "/react/build-a-backend/graphqlapi/data-modeling/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/react-native/", - "target":"/react-native/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/integrate/q/integration/q/integration/react-native/", + "target": "/react-native/start/getting-started/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/react/", - "target":"/react/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/start/getting-started/setup/", + "target": "/react/start/getting-started/setup/", + "status": "301", + "condition": null }, { - "source":"/start/getting-started/setup/q/integration/vue/", - "target":"/vue/start/getting-started/setup/", - "status":"301", - "condition":null + "source": "/start/sample-apps/todo-app/", + "target": "/android/start/sample-apps/to-do-app/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/android/", - "target":"/android/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/swagger-resources/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/angular/", - "target":"/angular/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/flutter/", - "target":"/flutter/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/swagger/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/ios/", - "target":"/swift/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/swagger/swagger-ui/", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/js/", - "target":"/javascript/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/swagger/ui/index", + "target": "https://ui.docs.amplify.aws/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/next/", - "target":"/nextjs/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/vue/build-a-backend/auth/admin-actions/sssieddgdpathxsx/", + "target": "/vue/build-a-backend/auth/admin-actions/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/react-native/", - "target":"/react-native/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/lib/storage/<*>", + "target": "/react/build-a-backend/storage/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/react/", - "target":"/react/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/lib/auth/<*>", + "target": "/react/build-a-backend/auth/", + "status": "301", + "condition": null }, { - "source":"/start/q/integration/vue/", - "target":"/vue/start/getting-started/introduction/", - "status":"301", - "condition":null + "source": "/lib/datastore/<*>", + "target": "/react/build-a-backend/more-features/datastore/", + "status": "301", + "condition": null }, { - "source":"/start/sample-apps/todo-app/q/integration/android/", - "target":"/android/start/sample-apps/to-do-app/", - "status":"301", - "condition":null + "source": "/lib/graphqlapi/<*>", + "target": "/react/build-a-backend/graphqlapi/", + "status": "301", + "condition": null } ] diff --git a/src/components/Accordion/__tests__/Accordion.test.tsx b/src/components/Accordion/__tests__/Accordion.test.tsx new file mode 100644 index 00000000000..3decf2377c5 --- /dev/null +++ b/src/components/Accordion/__tests__/Accordion.test.tsx @@ -0,0 +1,81 @@ +import * as React from 'react'; +import { render, screen, waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { Accordion } from '../index'; +import * as trackModule from '../../../utils/track'; + +jest.mock('../../../utils/track', () => ({ + trackExpanderOpen: jest + .fn() + .mockImplementation(() => 'accordion-component-example') +})); + +HTMLElement.prototype.animate = jest.fn(); +window.scrollTo = jest.fn(); + +const content = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla malesuada dignissim erat et lacinia. Quisque molestie vehicula dolor sit amet volutpat. Quisque eget orci quis mi sodales fringilla.'; +const title = 'Accordion component example'; +const headingLevel = '4'; +const eyebrow = 'Learn more'; +const component = ( + +

{content}

+
+); + +describe('Accordion', () => { + it('should render the Accordion component', async () => { + render(component); + const accordion = await screen.findByText(content); + expect(accordion).toBeInTheDocument(); + }); + + it('should render the title and eyebrow with correct classes', async () => { + render(component); + const t = await screen.getByText(title); + const e = await screen.getByText(eyebrow); + expect(t.className).toContain('accordion__heading'); + expect(e.className).toContain('accordion__eyebrow'); + }); + + it('should hide the Accordion body content on load', async () => { + render(component); + const bodyText = await screen.findByText(content); + expect(bodyText).not.toBeVisible(); + expect(bodyText).toBeInTheDocument(); + }); + + it('should expand Accordion when heading is clicked', async () => { + render(component); + const accordionHeading = screen.getByText('Accordion component example'); + userEvent.click(accordionHeading); + + await waitFor(() => { + expect(screen.getByText(content)).toBeInTheDocument(); + expect(screen.getByText(content)).toBeVisible(); + }); + }); + + it('should collapse Accordion when close button is clicked', async () => { + render(component); + await screen.getByText(content); + const closeButton = screen.getByRole('button'); + userEvent.click(closeButton); + + await waitFor(() => { + expect(screen.getByText(content)).not.toBeVisible(); + }); + }); + + it('should track Accordion open on click of heading', async () => { + jest.spyOn(trackModule, 'trackExpanderOpen'); + render(component); + const accordionHeading = screen.getByText('Accordion component example'); + userEvent.click(accordionHeading); + + await waitFor(() => { + expect(trackModule.trackExpanderOpen).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/components/Block/__tests__/Block.test.tsx b/src/components/Block/__tests__/Block.test.tsx deleted file mode 100644 index 4dc5e6157e3..00000000000 --- a/src/components/Block/__tests__/Block.test.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from 'react'; -import { render, screen } from '@testing-library/react'; -import Block from '../index'; - -describe('Block', () => { - it('should render the Block component', async () => { - const child =
Block Child
; - render({child}); - - const blockNode = await screen.findByText('Block Child'); - expect(blockNode).toBeInTheDocument(); - }); -}); diff --git a/src/components/Block/index.tsx b/src/components/Block/index.tsx deleted file mode 100644 index 2b176a26a50..00000000000 --- a/src/components/Block/index.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function Block({ name, children }) { - return
{children}
; -} diff --git a/src/components/Breadcrumbs/__tests__/Breadcrumbs.test.tsx b/src/components/Breadcrumbs/__tests__/Breadcrumbs.test.tsx new file mode 100644 index 00000000000..724a6c4abef --- /dev/null +++ b/src/components/Breadcrumbs/__tests__/Breadcrumbs.test.tsx @@ -0,0 +1,131 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Breadcrumbs } from '../index'; + +describe('Breadcrumbs', () => { + it('should render the Breadcrumbs component', async () => { + const component = ( + + ); + render(component); + const breadcrumbs = await screen.findByLabelText('Breadcrumb'); + expect(breadcrumbs).toBeInTheDocument(); + }); + + it('should render links for Breadcrumbs including platform', async () => { + const component = ( + + ); + render(component); + const routeList = component.props.route.split('/').filter(function (el) { + return el != ''; + }); + const breadcrumbsNode = await screen.findByLabelText('Breadcrumb'); + const breadcrumbsList = + breadcrumbsNode.getElementsByClassName('breadcrumb__item'); + + let route = ''; + for (let i = 0; i < breadcrumbsList.length; i++) { + const breadcrumbLink = breadcrumbsList[i].getElementsByClassName( + 'amplify-breadcrumbs__link' + )[0]; + route = route + '/' + routeList[i]; + + expect(breadcrumbLink).toBeInTheDocument(); + expect(breadcrumbLink).toHaveAttribute('href', route); + } + }); + + it('should replace "prev" with applicable version in Breadcrumbs text', async () => { + const component = ( + + ); + render(component); + const routeList = component.props.route.split('/').filter(function (el) { + return el != ''; + }); + const breadcrumbsNode = await screen.findByLabelText('Breadcrumb'); + + const link = breadcrumbsNode + .getElementsByClassName('amplify-breadcrumbs__link') + .item(1); + + if ( + link?.getAttribute('href')?.includes('prev') && + (routeList[0] == 'javascript' || + routeList[0] == 'react' || + routeList[0] == 'react-native' || + routeList[0] == 'angular' || + routeList[0] == 'nextjs' || + routeList[0] == 'vue') + ) { + expect(link.textContent).toEqual('V5'); + } else if ( + link?.getAttribute('href')?.includes('prev') && + (routeList[0] == 'swift' || routeList[0] == 'android') + ) { + expect(link.textContent).toEqual('V1'); + } else if ( + link?.getAttribute('href')?.includes('prev') && + routeList[0] == 'flutter' + ) { + expect(link.textContent).toEqual('V0'); + } + }); + + it('should render links for Breadcrumbs for gen2', async () => { + const component = ( + + ); + render(component); + const routeList = component.props.route.split('/').filter(function (el) { + return el != ''; + }); + const breadcrumbsNode = await screen.findByLabelText('Breadcrumb'); + const breadcrumbsList = + breadcrumbsNode.getElementsByClassName('breadcrumb__item'); + + let route = ''; + for (let i = 0; i < breadcrumbsList.length; i++) { + const breadcrumbLink = breadcrumbsList[i].getElementsByClassName( + 'amplify-breadcrumbs__link' + )[0]; + route = route + '/' + routeList[i]; + + expect(breadcrumbLink).toBeInTheDocument(); + expect(breadcrumbLink).toHaveAttribute('href', route); + } + }); + + it('should render links for Breadcrumbs with no platform', async () => { + const component = ( + + ); + render(component); + const routeList = component.props.route.split('/').filter(function (el) { + return el != ''; + }); + const breadcrumbsNode = await screen.findByLabelText('Breadcrumb'); + const breadcrumbsList = + breadcrumbsNode.getElementsByClassName('breadcrumb__item'); + + let route = ''; + for (let i = 0; i < breadcrumbsList.length; i++) { + const breadcrumbLink = breadcrumbsList[i].getElementsByClassName( + 'amplify-breadcrumbs__link' + )[0]; + route = route + '/' + routeList[i]; + + expect(breadcrumbLink).toBeInTheDocument(); + expect(breadcrumbLink).toHaveAttribute('href', route); + } + }); +}); diff --git a/src/components/Breadcrumbs/index.tsx b/src/components/Breadcrumbs/index.tsx index a87bab2be84..eb1995ece9c 100644 --- a/src/components/Breadcrumbs/index.tsx +++ b/src/components/Breadcrumbs/index.tsx @@ -12,7 +12,7 @@ type BreadcrumbItem = { type Props = { route: string; - platform: string; + platform?: string; }; const overrides = { @@ -39,7 +39,7 @@ const overrides = { function generateBreadcrumbs( route: string, - platform: string + platform?: string ): BreadcrumbItem[] { const breadcrumbs: BreadcrumbItem[] = []; @@ -58,9 +58,10 @@ function generateBreadcrumbs( href['query'] = { platform }; } let label = directoryEntry ? directoryEntry.title : url; + const override = overrides[url] ? overrides[url] - : overrides[url.replace('[platform]', platform)]; + : overrides[url.replace('[platform]', platform!)]; if (override) { label = override; diff --git a/src/components/CliCommands/__tests__/Command.test.tsx b/src/components/CliCommands/__tests__/Command.test.tsx new file mode 100644 index 00000000000..e18ec25ba9a --- /dev/null +++ b/src/components/CliCommands/__tests__/Command.test.tsx @@ -0,0 +1,73 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Command } from '../index'; + +describe('Command', () => { + const command = { + name: 'add', + description: + 'Adds a resource for an Amplify category in your local backend', + usage: 'amplify add ', + flags: [ + { + description: + 'Shows verbose details, including cloudformation differences', + long: 'verbose', + short: 'v' + }, + { + description: 'Automatically accept publish prompt', + long: 'yes', + short: 'y' + } + ], + subCommands: [ + { + name: 'project', + description: 'Configure the attributes of your project', + usage: 'amplify configure project' + } + ] + }; + const component = ; + + it('should render the Command component', async () => { + render(component); + const commandNode = await screen.findByText( + 'Adds a resource for an Amplify category in your local backend' + ); + expect(commandNode).toBeInTheDocument(); + }); + + it('should render a table if flags are passed', async () => { + render(component); + const flagsTable = await screen.getByRole('table'); + expect(flagsTable.tagName).toBe('TABLE'); + + const flag = await screen.getByRole('cell', { name: '-v| --verbose' }); + const description = flag.nextElementSibling; + expect(description?.tagName).toBe('TD'); + expect(description?.textContent).toBe( + 'Shows verbose details, including cloudformation differences' + ); + }); + + it('should render a code block if usage is passed', async () => { + render(component); + const heading = await screen.getByRole('heading', { name: 'add' }); + const command = heading.parentElement; + + const codeBlock = await screen.getByText('code example'); + expect(command).toContainElement(codeBlock); + }); + + it('should render subcommands', async () => { + render(component); + const heading = await screen.getByRole('heading', { level: 3 }); + const subCommand = heading.parentElement; + + expect(subCommand?.classList).toContain( + 'commands-list__command__subcommands' + ); + }); +}); diff --git a/src/components/Columns/__tests__/Columns.test.tsx b/src/components/Columns/__tests__/Columns.test.tsx new file mode 100644 index 00000000000..a72458cb681 --- /dev/null +++ b/src/components/Columns/__tests__/Columns.test.tsx @@ -0,0 +1,24 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Columns } from '../index'; + +describe('Columns', () => { + const component = ( + +

Test Column 1

+

Test Column 2

+
+ ); + it('should render the Columns component', async () => { + render(component); + const columns = await screen.findByText('Test Column 2'); + expect(columns).toBeInTheDocument(); + }); + + it('should render two columns as div', async () => { + render(component); + const columns = document.getElementsByClassName('columns')[0]; + expect(columns.classList).toContain('columns--small--2'); + expect(columns.tagName).toBe('DIV'); + }); +}); diff --git a/src/components/ExternalLink/__tests__/ExternalLink.test.tsx b/src/components/ExternalLink/__tests__/ExternalLink.test.tsx new file mode 100644 index 00000000000..8986df21080 --- /dev/null +++ b/src/components/ExternalLink/__tests__/ExternalLink.test.tsx @@ -0,0 +1,43 @@ +import * as React from 'react'; +import { render, screen, waitFor } from '@testing-library/react'; +import ExternalLink from '../index'; +import * as trackModule from '../../../utils/track'; +import userEvent from '@testing-library/user-event'; + +describe('ExternalLink', () => { + const component = ( + + Click Here! + + ); + + it('should render the ExternalLink component', async () => { + render(component); + const externalLink = await screen.getByRole('link', { + name: 'Click Here!' + }); + + expect(externalLink).toBeInTheDocument(); + }); + + it('should open external links in a new window', async () => { + render(component); + const externalLink = await screen.getByRole('link', { + name: 'Click Here!' + }); + + expect(externalLink).toHaveAttribute('rel', 'noopener noreferrer'); + expect(externalLink).toHaveAttribute('target', '_blank'); + }); + + it('should trackExternalLink on click', async () => { + jest.spyOn(trackModule, 'trackExternalLink'); + render(component); + const externalLink = await screen.findByText('Click Here!'); + userEvent.click(externalLink); + + await waitFor(() => { + expect(trackModule.trackExternalLink).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/components/ExternalLinkButton/__tests__/ExternalLinkButton.test.tsx b/src/components/ExternalLinkButton/__tests__/ExternalLinkButton.test.tsx new file mode 100644 index 00000000000..08864e60f8e --- /dev/null +++ b/src/components/ExternalLinkButton/__tests__/ExternalLinkButton.test.tsx @@ -0,0 +1,51 @@ +import * as React from 'react'; +import { render, screen, waitFor } from '@testing-library/react'; +import { ExternalLinkButton } from '../index'; +import * as trackModule from '../../../utils/track'; +import userEvent from '@testing-library/user-event'; + +describe('ExternalLinkButton', () => { + const component = ( + + Click Here! + + ); + + it('should render the ExternalLinkButton component', async () => { + render(component); + + const externalLinkButtonNode = await screen.findByRole('link', { + name: 'Click Here!' + }); + expect(externalLinkButtonNode).toBeInTheDocument(); + }); + + it('should render the ExternalLink icon', async () => { + render(component); + + const externalLinkButtonNode = await screen.findByText('Click Here!'); + const icon = Array.from( + externalLinkButtonNode.getElementsByClassName('amplify-icon') + ); + const path = Array.from(icon[0].getElementsByTagName('path'))[0]; + expect(path).toHaveAttribute( + 'd', + 'M3.42857 20.5714H20.5714V13.8H24V22.2857C24 23.2325 23.2325 24 22.2857 24H1.71429C0.767512 24 0 23.2325 0 22.2857V1.71429C0 0.767512 0.767512 0 1.71429 0H10.2857V3.42857H3.42857V20.5714Z' + ); + }); + + it('should trackExternalLink on click', async () => { + jest.spyOn(trackModule, 'trackExternalLink'); + render(component); + const externalLink = await screen.findByText('Click Here!'); + userEvent.click(externalLink); + + await waitFor(() => { + expect(trackModule.trackExternalLink).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/components/Footer/__tests__/Footer.test.tsx b/src/components/Footer/__tests__/Footer.test.tsx new file mode 100644 index 00000000000..bdcdc412bd5 --- /dev/null +++ b/src/components/Footer/__tests__/Footer.test.tsx @@ -0,0 +1,41 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Footer } from '../index'; + +describe('Footer', () => { + const component =