From Overview of the ArcGIS API for Python:
The ArcGIS API for Python is implemented using the online and
on-premises web GIS platform provided by ArcGIS Online and ArcGIS
Enterprise respectively. The API has Python modules, classes,
functions, and types for managing and working with elements of the
ArcGIS platform information model.
From Essential ArcPy vocabulary:
ArcPy (often referred to as the ArcPy site package) provides Python
access for all geoprocessing tools, including extensions, as well as a
wide variety of useful functions and classes for working with and
interrogating GIS data. Using Python and ArcPy, you can develop an
infinite number of useful programs that operate on geographic data.
Since ArcPy is part of the Geoprocessing framework of ArcGIS Desktop, and the ArcGIS API for Python is implemented using ArcGIS Online and ArcGIS Enterprise, I think it is safe to say that the two are complementary, and at this stage there does not seem to be any indication that one will subsume the other in the foreseeable future.
The ArcGIS Pro Python Reference page tells us how Esri's Software Development view the two:
ArcPy and the ArcGIS API for Python are complimentary libraries; ArcPy
allows you to use, automate and extend desktop GIS, and the ArcGIS API
for Python supports the same for web GIS.
An example would be using ArcPy to manage local data, adding them as
layers to a map and using geoprocessing tools to create outputs and
service definition files. The ArcGIS API for Python could then be used
to publish the definition files to the web GIS, compose a web map or
share those layers with others.
Although both come free with ArcGIS Desktop, when they wrote "complimentary libraries" I suspect that they meant "complementary libraries".