> For the complete documentation index, see [llms.txt](https://yunaeecy.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yunaeecy.gitbook.io/wiki/need-to-remember/api.md).

# API

Application Programming Interface. JavaScript Object Notation (JSON)

An API (Application Programming Interface) is a set of protocols, routines, and tools for building software applications. It specifies how software components should interact and makes it easier for developers to create software by providing pre-built building blocks. APIs can be used to **access data or functionality** from **other software applications or services**. They can be used to **integrate** different **software systems**, enable **communication** between **different applications**, and simplify app development. APIs can vary depending on the type of programming language involved. For example, an API for a procedural language such as Lua could consist primarily of basic routines to execute code, manipulate data or handle errors while an API for an object-oriented language, such as Java, would provide a specification of classes and its class methods.

Client devices send a request in the form of an HTTP request, and are met with a response message usually in **JavaScript Object Notation (JSON)** or Extensible Markup Language (XML) format. Developers typically use Web APIs to query a server for a specific set of data from that server.

JSON (JavaScript Object Notation) is a lightweight format for storing and transporting data.

It is a **standard text-based format** for **represent**ing **structured data** based on JavaScript object syntax. JSON is often used **when data is sent from a server to a web page**, and it is **a human-readable data interchange format** developers use to store and transfer data. JSON is **language-independent**, which means it **doesn't require** a **specific programming language**. JSON objects are made up of **key-value pairs** where the keys must be a **string**, and the values can be any of the supported data types. JSON syntax is text-based and it supports data types such as objects, arrays, strings, and numbers.
