# Words to Know

> The words of API Maker explained in one or two simple sentences each - instance, schema, schema and generated APIs, custom API, hooks, events, schedulers, sandbox, secret, API user, group, token, environment and more.

Source: https://docs.apimaker.dev/v4/docs/getting-started/glossary.html

Each word of API Maker in one or two sentences, with the page that tells more. The words are in the order you meet them.

## The basics

API
:   An address (a URL) that an app calls to read or change data. API Maker answers in JSON : `{ "success": true, "statusCode": 200, "data": … }`.

API Maker
:   The program that serves your APIs. It runs on your computer or on your servers. [How it works](https://docs.apimaker.dev/v4/docs/getting-started/how-it-works.html)

API Maker Launchpad
:   A free desktop app that installs and runs API Maker : on your computer (**Local**) or on your servers (**Cloud**). [Install API Maker](https://docs.apimaker.dev/v4/docs/getting-started/local-run.html)

Admin panel
:   The website where you set up everything : databases, tables, code, security. API Maker serves it. [The admin panel](https://docs.apimaker.dev/v4/docs/getting-started/admin-panel.html)

Account and user path
:   An admin account owns its databases, APIs and code. Its **user path**, like `admin`, is part of every URL of its APIs. A team adds [developer accounts](https://docs.apimaker.dev/v4/docs/features/team-work.html#developer-accounts).

Root user
:   The user who manages the installation itself : the admin accounts and the settings of every server. You rarely need it.

## Your data

Instance
:   One database server that API Maker connects to, like `mongodb` or `postgres`. Its connection string stays in the secret. [Instances](https://docs.apimaker.dev/v4/docs/apis-all/overview.html#instances)

Table, collection
:   A table of your database. MongoDB calls it a **collection** : the docs use both words.

Schema
:   The description of a table : its fields, their types, their rules, their default values, and the links to other tables. [Table schema](https://docs.apimaker.dev/v4/docs/schema/schema.html)

Schema APIs, generated APIs
:   The ready-made APIs of every table. **Schema APIs** (`/api/schema/…`) check each write against the schema. **Generated APIs** (`/api/gen/…`) do not. [All the APIs](https://docs.apimaker.dev/v4/docs/apis-all/overview.html)

Query params
:   The options of a read : `find` (which rows), `select` (which fields), `sort`, `limit`, `deep`. [Query params](https://docs.apimaker.dev/v4/docs/apis-all/query-params/query-params.html)

Deep populate
:   Reading the rows a field points to, in the same call : an order with its customer, inside. [deep](https://docs.apimaker.dev/v4/docs/apis-all/query-params/deep.html)

Table Designer
:   A page to make and change tables with the mouse, on any database. [Table designer](https://docs.apimaker.dev/v4/docs/schema/table-designer.html)

Migration script
:   Code that changes a database once, on each environment : add a column, fill it. [Database migration](https://docs.apimaker.dev/v4/docs/features/database-migration.html)

## Your code

Custom API
:   Your own function behind a URL, in TypeScript, Python, PHP, C#, Go, Rust, Java or Kotlin. [Your own code](https://docs.apimaker.dev/v4/docs/getting-started/first-custom-api.html)

The global object `g`
:   What your code receives : the request (`g.req`), the answer (`g.res`), and every API of API Maker (`g.sys`). [Global object g](https://docs.apimaker.dev/v4/docs/pre-defined-terms/global-object-g.html)

Pre hook, post hook
:   Code that runs **before** an API (it can change the request) or **after** it (it can change the answer). [Pre hook](https://docs.apimaker.dev/v4/docs/apis-all/hooks/preHook-api.html)

Event
:   Code that runs after something happened, like an order saved. [Events](https://docs.apimaker.dev/v4/docs/apis-all/events/user-created-events-api.html)

Scheduler
:   Code that runs on a timer : every five minutes, every night. [Schedulers](https://docs.apimaker.dev/v4/docs/apis-all/schedulers/user-created-schedulers-api.html)

WebSocket event
:   A live message to your apps when data changes, without asking again and again. [WebSocket events](https://docs.apimaker.dev/v4/docs/pages/web-socket-event-page.html)

Utility class
:   Code shared by your other code : write a price calculation once, use it in ten APIs. [Utility classes](https://docs.apimaker.dev/v4/docs/utility-class/utility-class.html)

Test case
:   Code that calls your APIs and checks their answers. [Test cases](https://docs.apimaker.dev/v4/docs/test-cases/test-cases.html)

Sandbox
:   A Docker container that runs your code, apart from API Maker. Each language has its own. [Sandbox settings](https://docs.apimaker.dev/v4/docs/settings/sandboxSettings.html)

Native process
:   Code that runs on the machine itself, next to API Maker, without Docker. Faster, less isolated. [Native process](https://docs.apimaker.dev/v4/docs/apis-all/custom-apis/user-created-custom-api.html#native-process)

API Testing
:   A page of the admin panel that calls any API for you, and shows the answer. [Your first API](https://docs.apimaker.dev/v4/docs/getting-started/first-api.html)

## Security

Secret
:   Your passwords and connection strings, kept encrypted by API Maker. They never go to Git. [Secrets](https://docs.apimaker.dev/v4/docs/secrets/secrets.html)

API user
:   The login of one app : a username and a password. [API user permission](https://docs.apimaker.dev/v4/docs/apis-security/api-user-permission.html)

Group
:   The list of what an API user may call : APIs, tables, fields. [API group permission](https://docs.apimaker.dev/v4/docs/apis-security/api-group-permission.html)

Token
:   What an app sends on every call, in the header `x-am-authorization`. It gets it from the [token API](https://docs.apimaker.dev/v4/docs/apis-all/system-apis/system-generated-token-api.html) with its username and password.

Auth provider
:   Turns the sign-in of a person of your app into a second token, so your code knows who calls. [Sign-in providers](https://docs.apimaker.dev/v4/docs/authorization/sign-in-providers.html)

Access type
:   Who may call an API : `TOKEN_ACCESS` (with a token, the default), `IS_PUBLIC` (anyone), `NO_ACCESS` (only your own code). [Secure your APIs](https://docs.apimaker.dev/v4/docs/getting-started/secure-your-api.html#5-public-private-or-only-for-your-code)

Security report
:   A page that reads your whole account, says where data could leak, and fixes it. [Security report](https://docs.apimaker.dev/v4/docs/apis-security/api-security-report.html)

## Running it

Environment
:   One API Maker with its own servers and data : DEV, QA, PROD. [Put it on a server](https://docs.apimaker.dev/v4/docs/getting-started/install-on-server.html)

Reverse proxy
:   The program in front of API Maker on a server, for HTTPS : Caddy, Ferron, Pingap, or the [web server built into API Maker](https://docs.apimaker.dev/v4/docs/features/built-in-web-server.html).

Local client
:   Keeps a folder of your computer in sync with an account, so you can code in your own editor. [Developer tools](https://docs.apimaker.dev/v4/docs/features/developer-tools.html#your-own-editor)

Git integration
:   Your schemas, APIs and code as files in Git : commit them, then pull them on another server. [Git integration](https://docs.apimaker.dev/v4/docs/Git/git.html)

Caching
:   Answers kept in Redis, so the same read is fast the next time. [Automatic caching](https://docs.apimaker.dev/v4/docs/features/automatic-caching.html)

Logs
:   What API Maker records about each call, to find a problem. [Logs and dashboards](https://docs.apimaker.dev/v4/docs/logs/logs-and-dashboards.html)
