diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/lib.rs
index 240c0931ae5af3d1e9e28dcebece18278772d1ad..74f66454f87c5062223d1ac7ffca429fa912183f 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/lib.rs
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/lib.rs
@@ -25,7 +25,7 @@ use emulated_integration_tests_common::{
 
 // Rococo declaration
 decl_test_relay_chains! {
-	#[api_version(12)]
+	#[api_version(13)]
 	pub struct Rococo {
 		genesis = genesis::genesis(),
 		on_init = (),
diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/lib.rs
index 729bb3ad63d161e0f64f3455601bc11a0c50016a..fb0728f15d2165ab788ac0a93e19298c8bcf46b3 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/lib.rs
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/lib.rs
@@ -25,7 +25,7 @@ use emulated_integration_tests_common::{
 
 // Westend declaration
 decl_test_relay_chains! {
-	#[api_version(12)]
+	#[api_version(13)]
 	pub struct Westend {
 		genesis = genesis::genesis(),
 		on_init = (),
diff --git a/polkadot/node/subsystem-types/src/messages.rs b/polkadot/node/subsystem-types/src/messages.rs
index ed9300be249e14fc29a98dc3d58e2ab548727fb9..9181868f07ccf860515a6e0882d06fc3f85eac06 100644
--- a/polkadot/node/subsystem-types/src/messages.rs
+++ b/polkadot/node/subsystem-types/src/messages.rs
@@ -822,14 +822,14 @@ impl RuntimeApiRequest {
 	/// `candidates_pending_availability`
 	pub const CANDIDATES_PENDING_AVAILABILITY_RUNTIME_REQUIREMENT: u32 = 11;
 
+	/// `ValidationCodeBombLimit`
+	pub const VALIDATION_CODE_BOMB_LIMIT_RUNTIME_REQUIREMENT: u32 = 12;
+
 	/// `backing_constraints`
-	pub const CONSTRAINTS_RUNTIME_REQUIREMENT: u32 = 12;
+	pub const CONSTRAINTS_RUNTIME_REQUIREMENT: u32 = 13;
 
 	/// `SchedulingLookahead`
-	pub const SCHEDULING_LOOKAHEAD_RUNTIME_REQUIREMENT: u32 = 12;
-
-	/// `ValidationCodeBombLimit`
-	pub const VALIDATION_CODE_BOMB_LIMIT_RUNTIME_REQUIREMENT: u32 = 12;
+	pub const SCHEDULING_LOOKAHEAD_RUNTIME_REQUIREMENT: u32 = 13;
 }
 
 /// A message to the Runtime API subsystem.
diff --git a/polkadot/primitives/src/runtime_api.rs b/polkadot/primitives/src/runtime_api.rs
index 2471dc1fc07386062669547da8368d107eb4ffcb..7feb5da4348598514359404e8435d72c1caa06f3 100644
--- a/polkadot/primitives/src/runtime_api.rs
+++ b/polkadot/primitives/src/runtime_api.rs
@@ -299,19 +299,21 @@ sp_api::decl_runtime_apis! {
 		fn candidates_pending_availability(para_id: ppp::Id) -> Vec<CommittedCandidateReceipt<Hash>>;
 
 		/***** Added in v12 *****/
+		/// Retrieve the maximum uncompressed code size.
+		#[api_version(12)]
+		fn validation_code_bomb_limit() -> u32;
+
+		/***** Added in v13 *****/
 		/// Returns the constraints on the actions that can be taken by a new parachain
 		/// block.
-		#[api_version(12)]
+		#[api_version(13)]
 		fn backing_constraints(para_id: ppp::Id) -> Option<Constraints>;
 
-		/***** Added in v12 *****/
+		/***** Added in v13 *****/
 		/// Retrieve the scheduling lookahead
-		#[api_version(12)]
+		#[api_version(13)]
 		fn scheduling_lookahead() -> u32;
 
-		/***** Added in v12 *****/
-		/// Retrieve the maximum uncompressed code size.
-		#[api_version(12)]
-		fn validation_code_bomb_limit() -> u32;
+
 	}
 }
diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
index 4961d7bbad2961625d73032b4f46d7bf8678c66c..d8db3528ec25ed118e426b0156f41cca1e35968e 100644
--- a/polkadot/runtime/rococo/src/lib.rs
+++ b/polkadot/runtime/rococo/src/lib.rs
@@ -1992,7 +1992,7 @@ sp_api::impl_runtime_apis! {
 		}
 	}
 
-	#[api_version(12)]
+	#[api_version(13)]
 	impl polkadot_primitives::runtime_api::ParachainHost<Block> for Runtime {
 		fn validators() -> Vec<ValidatorId> {
 			parachains_runtime_api_impl::validators::<Runtime>()
diff --git a/polkadot/runtime/test-runtime/src/lib.rs b/polkadot/runtime/test-runtime/src/lib.rs
index 226e22c07835971f00e2f492197e79ab92f523cb..788d9433881eed2ad7127812bcdbcd86fb3f1715 100644
--- a/polkadot/runtime/test-runtime/src/lib.rs
+++ b/polkadot/runtime/test-runtime/src/lib.rs
@@ -939,7 +939,7 @@ sp_api::impl_runtime_apis! {
 		}
 	}
 
-	#[api_version(12)]
+	#[api_version(13)]
 	impl polkadot_primitives::runtime_api::ParachainHost<Block> for Runtime {
 		fn validators() -> Vec<ValidatorId> {
 			runtime_impl::validators::<Runtime>()
diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs
index bb758afdf12fbb18acdcf9df81bfb5ab565ab29f..53a3409ca9eacd14aaa74b2b1e19b5c17600eeb0 100644
--- a/polkadot/runtime/westend/src/lib.rs
+++ b/polkadot/runtime/westend/src/lib.rs
@@ -2076,7 +2076,7 @@ sp_api::impl_runtime_apis! {
 		}
 	}
 
-	#[api_version(12)]
+	#[api_version(13)]
 	impl polkadot_primitives::runtime_api::ParachainHost<Block> for Runtime {
 		fn validators() -> Vec<ValidatorId> {
 			parachains_runtime_api_impl::validators::<Runtime>()
diff --git a/prdoc/pr_7981.prdoc b/prdoc/pr_7981.prdoc
new file mode 100644
index 0000000000000000000000000000000000000000..ef6c1e39b60446c51bbce4a3f0c9c45172cbd87b
--- /dev/null
+++ b/prdoc/pr_7981.prdoc
@@ -0,0 +1,16 @@
+title: Bump ParachainHost runtime API to 13
+doc:
+- audience: [Runtime Dev, Node Dev]
+  description: |-
+    Bump `backing_constraints` and `scheduling_lookahead` API version to 13.
+    The `validation_code_bomb_limit` API remains at version 12.
+    Bump all ParachainHost runtime to version 13 in all test runtimes.
+crates:
+- name: polkadot-node-subsystem-types
+  bump: minor
+- name: polkadot-primitives
+  bump: minor
+- name: rococo-runtime
+  bump: minor
+- name: westend-runtime
+  bump: minor