URLs

This is a snapshot of the URLs used across the Digital Marketplace, as of 17th May 2024.

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) $ flask routes

Buyer Frontend

Homepage:

/

Static content pages:

/404
/accessibility-statement
/buyers-guide
/cookies
/digital-services/framework
/feedback
/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/choose-lot
/g-cloud/search
/g-cloud/services/<service_id>
/g-cloud/suppliers
/g-cloud/supplier/<supplier_id>

User Frontend

User account management:

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

Supplier Frontend

Supplier account management:

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

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/compliance-communication/<int:communication_id>
/suppliers/compliance-communication/<int:communication_id>/<string:message_id>/download/<safepurepath:filepath>
/suppliers/compliance-communication/<int:communication_id>/send-message
/suppliers/compliance-communications/<string:framework_slug>
/suppliers/frameworks/<framework_slug>
/suppliers/frameworks/<framework_slug>/agreements/<document_name>
/suppliers/frameworks/<framework_slug>/contract-variation/<variation_slug>
/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>/opportunities
/suppliers/frameworks/<framework_slug>/sign-framework-agreement
/suppliers/frameworks/<framework_slug>/start-framework-agreement-signing
/suppliers/frameworks/<framework_slug>/submissions
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>
/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>/create
/suppliers/frameworks/<framework_slug>/submissions/<lot_slug>/previous-services
/suppliers/frameworks/<framework_slug>/submissions/service-type
/suppliers/frameworks/<framework_slug>/updates
/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>

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/compliance-communication/<int:communication_id>
/admin/compliance-communication/<int:communication_id>/archive
/admin/compliance-communication/<int:communication_id>/download
/admin/compliance-communication/<int:communication_id>/send-message
/admin/compliance-communications/<string:framework_slug>
/admin/digital-outcomes-and-specialists/outcomes
/admin/direct-award/outcomes
/admin/frameworks
/admin/frameworks/<framework_slug>/status
/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/approved/<date>
/admin/services/updates/unapproved
/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>/compliance-communications/<string:framework_slug>
/admin/suppliers/<int:supplier_id>/compliance-communications/<string:framework_slug>/<string:message_id>/download/<safepurepath:filepath>
/admin/suppliers/<int:supplier_id>/compliance-communications/<string:framework_slug>/create/emails
/admin/suppliers/<int:supplier_id>/compliance-communications/<string:framework_slug>/create/message
/admin/suppliers/<int:supplier_id>/compliance-communications/<string:framework_slug>/create/review-and-send
/admin/suppliers/<int:supplier_id>/compliance-communications/<string:framework_slug>/create/subject
/admin/suppliers/<int:supplier_id>/countersigned-agreements-remove/<framework_slug>
/admin/suppliers/<int:supplier_id>/countersigned-agreements/<framework_slug>
/admin/suppliers/<int:supplier_id>/draft-services
/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/status-changes/<framework>/<date>
/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/<int:user_id>/name
/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
/agreements/<int:agreement_id>/undo-countersign
/agreements/<string:framework_slug>
/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>/<any(publish, withdraw, cancel, unsuccessful):action>
/briefs/<int:brief_id>/award
/briefs/<int:brief_id>/award/<int:brief_response_id>/contract-details
/briefs/<int:brief_id>/clarification-questions
/briefs/<int:brief_id>/copy
/briefs/<int:brief_id>/services
/buyer-email-domains
/callbacks
/callbacks/
/callbacks/notify
/communications
/communications/<int:communication_id>
/communications/<int:communication_id>/archive
/communications/<int:communication_id>/messages
/communications/messages/<int:communication_message_id>/read
/direct-award/projects
/direct-award/projects/<int:project_external_id>
/direct-award/projects/<int:project_external_id>/cancel
/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
/draft-services
/draft-services/<framework_slug>/<lot_slug>/copy-published-from-framework
/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/copy-from/<string:service_id>
/draft-services/framework/<string:framework_slug>
/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>/updates/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>
/system-messages
/system-messages/<string:slug>
/users
/users/<int:user_id>
/users/<int:user_id>/remove-personal-data
/users/auth
/users/check-buyer-email
/users/export/<framework_slug>
/users/valid-admin-email

Search API

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

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.

All the apps also have a /healhcheck/ endpoint which is used by ECS to make sure the app is up.