URLs

This is a snapshot of the URLs used across the Digital Marketplace, as of 10th October 2019.

It isn’t meant to be a living document of all current URLs, but rather give an overview of how we structure URLs across the Digital Marketplace.

If you do need an up-to-date list of the routes an app supports, or want to update this page, you can ask any app to report the routes it knows by running this command in the app directory:

(venv) $ python application.py list_routes

Buyer Frontend

Homepage:

/

Static content pages:

/404
/buyers-guide
/cookies
/crown-hosting
/crown-hosting/framework
/digital-services/framework
/g-cloud/buyers-guide
/g-cloud/framework
/g-cloud/suppliers-guide
/help
/privacy-notice
/suppliers-guide
/terms-and-conditions

Searching for G-Cloud services:

/g-cloud
/g-cloud/search
/g-cloud/services/<service_id>
/g-cloud/suppliers
/g-cloud/supplier/<supplier_id>

Creating a G-Cloud direct award project:

/buyers/direct-award/<string:framework_family>
/buyers/direct-award/<string:framework_family>/start
/buyers/direct-award/<string:framework_family>/choose-lot
/buyers/direct-award/<string:framework_family>/projects
/buyers/direct-award/<string:framework_family>/save-search
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/end-search
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/results
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/results/download
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/did-you-award-contract
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/which-service-won-contract
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/outcomes/<int:outcome_id>/tell-us-about-contract
/buyers/direct-award/<string:framework_family>/projects/<int:project_id>/why-didnt-you-award-contract

Digital Outcomes and Specialists opportunities:

/<framework_family>/opportunities
/<framework_family>/opportunities/<brief_id>

User Frontend

User account management:

/user/create/<string:encoded_token>
/user/login
/user/logout
/user/notifications/user-research
/user/reset-password
/user/reset-password/<token>
/user/change-password

Briefs Frontend

Buying from Digital Outcomes and Specialists:

/buyers
/buyers/create
/buyers/frameworks/<framework_slug>/requirements/user-research-studios
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/create
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/copy
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/delete
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/publish
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/responses
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/responses/download
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/withdraw

/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/supplier-questions
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/supplier-questions/answer-question
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/timeline

/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/<section_slug>
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/edit/<section_slug>/<question_id>

Awarding a Digital Outcomes and Specialists opportunity:

/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/award
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/award-contract
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/cancel
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/cancel-award
/buyers/frameworks/<framework_slug>/requirements/<lot_slug>/<brief_id>/award/<brief_response_id>/contract-details

Supplier Frontend

Supplier account management:

/suppliers
/suppliers/supply
/suppliers/create
/suppliers/create/start
/suppliers/create/account
/suppliers/create/company-details
/suppliers/create/company-summary
/suppliers/create/duns-number
/suppliers/create/complete
/suppliers/edit
/suppliers/details
/suppliers/duns-number/edit
/suppliers/organisation-size/edit
/suppliers/registered-address/edit
/suppliers/registered-company-name/edit
/suppliers/registration-number/edit
/suppliers/trading-status/edit
/suppliers/what-buyers-will-see/edit
/suppliers/invite-user
/suppliers/mailing-list
/suppliers/users
/suppliers/users/<int:user_id>/deactivate

Managing framework applications and services:

/suppliers/assets/<framework_slug>/documents/<int:supplier_id>/<document_name>
/suppliers/assets/<framework_slug>/submissions/<int:supplier_id>/<document_name>
/suppliers/frameworks/<framework_slug>
/suppliers/frameworks/<framework_slug>/agreement
/suppliers/frameworks/<framework_slug>/agreements/<document_name>
/suppliers/frameworks/<framework_slug>/<int:agreement_id>/contract-review
/suppliers/frameworks/<framework_slug>/<int:agreement_id>/signature-upload
/suppliers/frameworks/<framework_slug>/<int:agreement_id>/signer-details
/suppliers/frameworks/<framework_slug>/contract-variation/<variation_slug>
/suppliers/frameworks/<framework_slug>/create-agreement
/suppliers/frameworks/<framework_slug>/declaration
/suppliers/frameworks/<framework_slug>/declaration/edit/<string:section_id>
/suppliers/frameworks/<framework_slug>/declaration/reuse
/suppliers/frameworks/<framework_slug>/declaration/start
/suppliers/frameworks/<framework_slug>/files/<path:filepath>
/suppliers/frameworks/<framework_slug>/updates
/suppliers/frameworks/<framework_slug>/opportunities
/suppliers/frameworks/<framework_slug>/submissions
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/create
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/complete
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/copy
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/delete
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/edit/<section_id>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/edit/<section_id>/<question_slug>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/<service_id>/remove/<section_id>/<question_slug>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/copy-all-previous-framework-services
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/copy-previous-framework-service/<service_id>
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/previous-services
/suppliers/frameworks/<string:framework_slug>/services
/suppliers/frameworks/<string:framework_slug>/services/<string:service_id>
/suppliers/frameworks/<string:framework_slug>/services/<string:service_id>/edit/<string:section_id>
/suppliers/frameworks/<string:framework_slug>/services/<string:service_id>/remove

/suppliers/services/<string:service_id>
/suppliers/services/<string:service_id>/<path:trailing_path>

Brief Responses Frontend

Suppliers applying for Digital Outcomes and Specialists opportunities:

/suppliers/opportunities/frameworks/<framework_slug>
/suppliers/opportunities/<int:brief_id>/ask-a-question
/suppliers/opportunities/<int:brief_id>/question-and-answer-session
/suppliers/opportunities/<int:brief_id>/responses/result
/suppliers/opportunities/<int:brief_id>/responses/start
/suppliers/opportunities/<int:brief_id>/responses/<int:brief_response_id>
/suppliers/opportunities/<int:brief_id>/responses/<int:brief_response_id>/application
/suppliers/opportunities/<int:brief_id>/responses/<int:brief_response_id>/<string:question_id>
/suppliers/opportunities/<int:brief_id>/responses/<int:brief_response_id>/<string:question_id>/edit

Admin Frontend

/admin
/admin/admin-users
/admin/admin-users/<string:admin_user_id>/edit
/admin/admin-users/invite
/admin/agreements/<framework_slug>
/admin/buyers
/admin/buyers/add-buyer-domains
/admin/communications/<framework_slug>
/admin/communications/<framework_slug>/delete/<string:comm_type>/<safepurepath:filepath>
/admin/communications/<framework_slug>/files/<string:comm_type>/<safepurepath:filepath>
/admin/direct-award/outcomes
/admin/frameworks/<framework_slug>/user-research/download
/admin/frameworks/<framework_slug>/users
/admin/frameworks/<framework_slug>/users/<report_type>/download
/admin/search
/admin/services
/admin/services/<service_id>
/admin/services/<service_id>/edit/<section_id>
/admin/services/<service_id>/edit/<section_id>/<question_slug>
/admin/services/<service_id>/updates
/admin/services/<service_id>/updates/<int:audit_id>/approve
/admin/services/status/<string:service_id>
/admin/services/updates/unapproved
/admin/static/<path:filename>
/admin/statistics/<string:framework_slug>
/admin/suppliers
/admin/suppliers/<int:supplier_id>
/admin/suppliers/<int:supplier_id>/agreement/<framework_slug>
/admin/suppliers/<int:supplier_id>/agreements/<framework_slug>
/admin/suppliers/<int:supplier_id>/agreements/<framework_slug>/<document_name>
/admin/suppliers/<int:supplier_id>/agreements/<framework_slug>/next
/admin/suppliers/<int:supplier_id>/countersigned-agreements-remove/<framework_slug>
/admin/suppliers/<int:supplier_id>/countersigned-agreements/<framework_slug>
/admin/suppliers/<int:supplier_id>/edit/declarations/<string:framework_slug>
/admin/suppliers/<int:supplier_id>/edit/declarations/<string:framework_slug>/<string:section_id>
/admin/suppliers/<int:supplier_id>/edit/duns-number
/admin/suppliers/<int:supplier_id>/edit/name
/admin/suppliers/<int:supplier_id>/edit/registered-address
/admin/suppliers/<int:supplier_id>/edit/registered-company-number
/admin/suppliers/<int:supplier_id>/edit/registered-name
/admin/suppliers/<int:supplier_id>/invite-user
/admin/suppliers/<int:supplier_id>/move-existing-user
/admin/suppliers/<int:supplier_id>/services
/admin/suppliers/agreements/<agreement_id>/approve
/admin/suppliers/agreements/<agreement_id>/on-hold
/admin/suppliers/agreements/<agreement_id>/unapprove
/admin/suppliers/users
/admin/suppliers/users/<int:user_id>/activate
/admin/suppliers/users/<int:user_id>/deactivate
/admin/suppliers/users/<int:user_id>/unlock
/admin/users
/admin/users/download/buyers
/admin/users/download/buyers/user-research
/admin/users/download/suppliers

API

/
/agreements
/agreements/<int:agreement_id>
/agreements/<int:agreement_id>/approve
/agreements/<int:agreement_id>/on-hold
/agreements/<int:agreement_id>/sign
/archived-services
/archived-services/<int:archived_service_id>
/audit-events
/audit-events/<int:audit_id>
/audit-events/<int:audit_id>/acknowledge
/brief-responses
/brief-responses/<int:brief_response_id>
/brief-responses/<int:brief_response_id>/submit
/briefs
/briefs/<int:brief_id>
/briefs/<int:brief_id>/award
/briefs/<int:brief_id>/award/<int:brief_response_id>/contract-details
/briefs/<int:brief_id>/<any(publish, withdraw, cancel, unsuccessful):action>
/briefs/<int:brief_id>/clarification-questions
/briefs/<int:brief_id>/copy
/briefs/<int:brief_id>/services
/buyer-email-domains
/callbacks
/callbacks/notify
/direct-award/projects/<int:project_external_id>/cancel
/draft-services
/draft-services/copy-from/<string:service_id>
/draft-services/<int:draft_id>
/draft-services/<int:draft_id>/complete
/draft-services/<int:draft_id>/copy
/draft-services/<int:draft_id>/publish
/draft-services/<int:draft_id>/update-status
/draft-services/<framework_slug>/<lot_slug>/copy-published-from-framework
/direct-award/projects
/direct-award/projects/<int:project_external_id>
/direct-award/projects/<int:project_external_id>/lock
/direct-award/projects/<int:project_external_id>/none-suitable
/direct-award/projects/<int:project_external_id>/record-download
/direct-award/projects/<int:project_external_id>/searches
/direct-award/projects/<int:project_external_id>/searches/<int:search_id>
/direct-award/projects/<int:project_external_id>/services
/direct-award/projects/<int:project_external_id>/services/<string:service_id>/award
/frameworks
/frameworks/<string:framework_slug>
/frameworks/<string:framework_slug>/interest
/frameworks/<string:framework_slug>/stats
/frameworks/<string:framework_slug>/suppliers
/frameworks/transition-dos/<string:framework_slug>
/outcomes
/outcomes/<int:outcome_id>
/services
/services/<service_id>/update/acknowledge
/services/<string:service_id>
/services/<string:service_id>/revert
/services/<string:service_id>/status/<string:status>
/suppliers
/suppliers/<int:supplier_id>
/suppliers/<int:supplier_id>/contact-information/<int:contact_id>
/suppliers/<int:supplier_id>/contact-information/<int:contact_id>/remove-personal-data
/suppliers/<int:supplier_id>/frameworks
/suppliers/<int:supplier_id>/frameworks/<framework_slug>
/suppliers/<int:supplier_id>/frameworks/<framework_slug>/declaration
/suppliers/<int:supplier_id>/frameworks/<framework_slug>/variation/<variation_slug>
/suppliers/<int:supplier_id>/frameworks/interest
/suppliers/export/<framework_slug>
/users
/users/auth
/users/check-buyer-email
/users/export/<framework_slug>
/users/valid-admin-email
/users/<int:user_id>
/users/<int:user_id>/remove-personal-data

Search API

/
/<string:index_name>
/<string:index_name>/<string:doc_type>/aggregations
/<string:index_name>/<string:doc_type>/search
/<string:index_name>/<string:doc_type>/<string:document_id>
/<string:index_name>/<string:doc_type>/<string:service_id>

Special urls

/_status

All the apps have a /_status heathcheck endpoint. This can be used to find out information about the system. The data returned is defined in dmutils status.py.

On the frontends these are publicly accessible and as such can be viewed at /_status on a given apps route.

/_metrics

All the apps have a /_metrics endpoint. The metrics endpoint exposes app level metrics to the GDS Prometheus service. This service scrapes the /_metrics endpoint of any app that it is bound to.

The endpoint is protected by ip whitelisting and requests through the router are disallowed. This means that the metrics endpoint is only accessible through dm-<STAGE>.cloudapps.digital domain requests that bypass the router and by GDS trusted IPs.

For more see the monitoring and alerting sections of the manual.