IDL, short for Interface Description Language, is a language used to describe a software component's public interface in a programming-language-independent manner. (Not to be confused with the [idl-programming-language] tag, which is for a language used for scientific and medical image analysis)
As described on Wikipedia:
An interface description language or interface definition language (IDL), is a specification language used to describe a software component's application programming interface (API). IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language. For example, between those written in C++ and those written in Java.
IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems.
Software systems based on IDLs include Sun's ONC RPC, The Open Group's Distributed Computing Environment, IBM's System Object Model, the Object Management Group's CORBA (which implements OMG IDL, an IDL based on DCE/RPC), Mozilla's XPCOM, Facebook's Thrift and WSDL for Web services.
Web specifications use a special form of IDL called WebIDL: https://heycam.github.io/webidl/