// Module included in the following assemblies:
//
// * machine_management/cluster_api_machine_management/cluster-api-disabling.adoc
// * machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc
// * machine_management/cluster_api_machine_management/cluster-api-troubleshooting.adoc

:_mod-docs-content-type: REFERENCE
[id="machine-set-authoritative-api-machines_{context}"]
= Authoritative API types of compute machines

[role="_abstract"]
The values of the `.spec.authoritativeAPI` and `.spec.template.spec.authoritativeAPI` fields in a Machine API compute machine set determine the authoritative API of the compute machines.

.Interaction of `authoritativeAPI` fields when creating compute machines
[cols="h,1,1,1,1"]
|===
|`.spec.authoritativeAPI` value
|`ClusterAPI`
|`ClusterAPI`
|`MachineAPI`
|`MachineAPI`

|`.spec.template.spec.authoritativeAPI` value
|`ClusterAPI`
|`MachineAPI`
|`MachineAPI`
|`ClusterAPI`

|`authoritativeAPI` value for new compute machines
|`ClusterAPI`
|`ClusterAPI`
|`MachineAPI`
|`ClusterAPI`
|===

[NOTE]
====
When the `.spec.authoritativeAPI` value is `ClusterAPI`, the Machine API machine set is not authoritative and the `.spec.template.spec.authoritativeAPI` value is not used.
As a result, the only combination that creates a compute machine with the Machine API as authoritative is where the `.spec.authoritativeAPI` and `.spec.template.spec.authoritativeAPI` values are `MachineAPI`.
====
