RedirectView.as_view(url='https://docs.sentry.io/hosted/api/', permanent=False), name='sentry-api-docs-redirect'), url(r'^api/$', generic_react_page_view, name='sentry-api'), url(r'^api/[^0]+/', generic_react_page_view), url(r'^out/$', OutView.as_view()), # Organizations url(r'^(?P<organization_slug>[\w_-]+)/$', react_page_view, name='sentry-organization-home'), url(r'^organizations/new/$', CreateOrganizationView.as_view(), name='sentry-create-organization'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/$', OrganizationApiKeysView.as_view(), name='sentry-organization-api-keys'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/(?P<key_id>[\w_-]+)/$', OrganizationApiKeySettingsView.as_view(), name='sentry-organization-api-key-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/auth/$', OrganizationAuthSettingsView.as_view(), name='sentry-organization-auth-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/$', OrganizationMembersView.as_view(), name='sentry-organization-members'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/new/$', CreateOrganizationMemberView.as_view(), name='sentry-create-organization-member'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/(?P<member_id>\d+)/$', OrganizationMemberSettingsView.as_view(), name='sentry-organization-member-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/stats/$', react_page_view, name='sentry-organization-stats'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/teams/(?P<team_slug>[\w_-]+)/remove/$', RemoveTeamView.as_view(), name='sentry-remove-team'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/teams/new/$', CreateTeamView.as_view(), name='sentry-create-team'),
RedirectView.as_view(url='https://docs.sentry.io/hosted/api/', permanent=False), name='sentry-api-docs-redirect'), url(r'^api/$', react_page_view, name='sentry-api'), url(r'^api/new-token/$', react_page_view), url(r'^out/$', OutView.as_view()), # Organizations url(r'^(?P<organization_slug>[\w_-]+)/$', react_page_view, name='sentry-organization-home'), url(r'^organizations/new/$', CreateOrganizationView.as_view(), name='sentry-create-organization'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/$', OrganizationApiKeysView.as_view(), name='sentry-organization-api-keys'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/(?P<key_id>[\w_-]+)/$', OrganizationApiKeySettingsView.as_view(), name='sentry-organization-api-key-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/auth/$', OrganizationAuthSettingsView.as_view(), name='sentry-organization-auth-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/$', OrganizationMembersView.as_view(), name='sentry-organization-members'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/new/$', CreateOrganizationMemberView.as_view(), name='sentry-create-organization-member'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/(?P<member_id>\d+)/$', OrganizationMemberSettingsView.as_view(), name='sentry-organization-member-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/stats/$', react_page_view, name='sentry-organization-stats'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/settings/$', OrganizationSettingsView.as_view(), name='sentry-organization-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/teams/(?P<team_slug>[\w_-]+)/remove/$', RemoveTeamView.as_view(), name='sentry-remove-team'),
RedirectView.as_view(url='https://docs.getsentry.com/hosted/api/', permanent=False), name='sentry-api-docs-redirect'), # Organizations url(r'^(?P<organization_slug>[\w_-]+)/$', ReactPageView.as_view(), name='sentry-organization-home'), url(r'^organizations/new/$', CreateOrganizationView.as_view(), name='sentry-create-organization'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/$', OrganizationApiKeysView.as_view(), name='sentry-organization-api-keys'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/api-keys/(?P<key_id>[\w_-]+)$', OrganizationApiKeySettingsView.as_view(), name='sentry-organization-api-key-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/auth/$', OrganizationAuthSettingsView.as_view(), name='sentry-organization-auth-settings'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/audit-log/$', OrganizationAuditLogView.as_view(), name='sentry-organization-audit-log'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/$', OrganizationMembersView.as_view(), name='sentry-organization-members'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/new/$', CreateOrganizationMemberView.as_view(), name='sentry-create-organization-member'), url(r'^organizations/(?P<organization_slug>[\w_-]+)/members/(?P<member_id>\d+)/$', OrganizationMemberSettingsView.as_view(),
url( r"^docs/api/?$", RedirectView.as_view(url="https://docs.getsentry.com/hosted/api/", permanent=False), name="sentry-api-docs-redirect", ), # Organizations url(r"^(?P<organization_slug>[\w_-]+)/$", react_page_view, name="sentry-organization-home"), url(r"^organizations/new/$", CreateOrganizationView.as_view(), name="sentry-create-organization"), url( r"^organizations/(?P<organization_slug>[\w_-]+)/api-keys/$", OrganizationApiKeysView.as_view(), name="sentry-organization-api-keys", ), url( r"^organizations/(?P<organization_slug>[\w_-]+)/api-keys/(?P<key_id>[\w_-]+)/$", OrganizationApiKeySettingsView.as_view(), name="sentry-organization-api-key-settings", ), url( r"^organizations/(?P<organization_slug>[\w_-]+)/auth/$", OrganizationAuthSettingsView.as_view(), name="sentry-organization-auth-settings", ), url( r"^organizations/(?P<organization_slug>[\w_-]+)/audit-log/$", OrganizationAuditLogView.as_view(), name="sentry-organization-audit-log", ), url( r"^organizations/(?P<organization_slug>[\w_-]+)/members/$", OrganizationMembersView.as_view(),