# API Maker Documentation > API Maker is the framework for the AI era : it connects to your databases (MongoDB, MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, TiDB, Percona XtraDB) and gives every table secure REST APIs at once, with your own TypeScript logic in custom APIs, hooks, schedulers and events. Caching, access control, logging, monitoring and Git deployment are built in. It runs on your own servers. - Every page of this documentation exists as Markdown at the same URL with .md instead of .html (the links below). - The whole documentation in one file : https://docs.apimaker.dev/llms-full.txt - The website and its feature pages : https://apimaker.dev/llms.txt - Made by SAVA Info Systems. Contact : contact@apimaker.dev ## Getting started - [API Maker Documentation](https://docs.apimaker.dev/index.md): Learn API Maker step by step - install it, connect a database, get REST APIs for every table, add your own TypeScript logic, secure it with tokens and groups, and deploy with Git. - [How API Maker Works](https://docs.apimaker.dev/v1/docs/getting-started/how-it-works.md): The moving parts of API Maker in one page - the life of a request, the API families on one base URL, the two tokens and the two gates, where your TypeScript code runs, and what the servers look like. - [Install API Maker on a Server](https://docs.apimaker.dev/v1/docs/getting-started/install-on-server.md): Put API Maker on your own servers - deploy a whole architecture from your computer with API Maker Local Run, or set up one Ubuntu server with the install script. The reference architectures, the downloads, the installer flags, a second server and the manual setup. - [Local Setup of API Maker](https://docs.apimaker.dev/v1/docs/getting-started/local-setup.md): Run API Maker on your own machine for development with API Maker Local Run, the desktop app for macOS, Windows and Linux - with the download of every platform. - [Run API Maker on Your Computer](https://docs.apimaker.dev/v1/docs/getting-started/local-run.md): API Maker Local Run is a desktop app for macOS, Windows and Linux which runs API Maker and its databases in Docker on your machine, adds databases in a few clicks, syncs your code with your editor, and can install API Maker on your own servers in its Cloud mode. - [Your First API in 10 Minutes](https://docs.apimaker.dev/v1/docs/getting-started/first-api.md): A hands-on start with the sample shop every new API Maker account has - connect MongoDB, get a token, save a category and a product through the schema APIs, read them back with filters and deep populate, and see a validation error. - [API Maker Cheat Sheet](https://docs.apimaker.dev/v1/docs/cheat-sheet.md): The URLs, headers, query params, schema options and g object of API Maker on one page - keep it next to your editor. - [API Maker Docs for AI Assistants](https://docs.apimaker.dev/v1/docs/ai/llms.md): How to give ChatGPT, Claude, Cursor, Copilot or any agent the API Maker documentation - llms.txt and llms-full.txt, the Markdown twin of every page, the local client folder, and the security report an assistant can act on. ## APIs - [All APIs at a Glance](https://docs.apimaker.dev/v1/docs/apis-all/overview.md): Every API of API Maker on one page - the 17 operations of a table under /api/schema and /api/gen with their method and URL, the custom, system and third party APIs, the query params and headers they share, and how to call them from your code. ### Request and response - [Response Format](https://docs.apimaker.dev/v1/docs/apis-all/response-format.md): What every API Maker API answers - the envelope with success, statusCode, data, totalCount, errors, warnings, logs and meta, the HTTP status codes, and how headers change the shape and the format of the reply. - [Request Headers](https://docs.apimaker.dev/v1/docs/apis-all/header/requestHeader.md): Every request header API Maker understands - the tokens, the case and format of the response, flat objects, metadata, caching, encryption of the payload and the reply, the language of the messages, the tenant, the sandbox and compression - with an example of each. - [Error Messages Reference](https://docs.apimaker.dev/v1/docs/apis-all/error-codes.md): Every message template of API Maker (AM_00001 to AM_00125) with its meaning, what triggers it and how to fix it - validation, deep populate, tokens, secrets, encryption, multi-tenant, files and more. Each one can be translated per caller with internationalization. ### Query params - [Query Parameters](https://docs.apimaker.dev/v1/docs/apis-all/query-params/query-params.md): The query params every read API of API Maker understands - find, skip, limit, sort, select, deep and getTotalCount, plus any column as a filter, upsert and returnDocument for updates - with the same keys in the body of the query APIs. - [find Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/find.md): Filter rows with the find parameter of API Maker - the MongoDB operators $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $and, $or, $not, $like, $regex and $isNull on every database, and find and join on fields of related tables. - [skip Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/skip.md): Leave out the first rows of an answer with the skip parameter of API Maker, and page through a table together with limit. - [limit Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/limit.md): Cap the number of rows of an answer with the limit parameter of API Maker - the page size of a list, and a safety net on tables which grow. - [sort Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/sort.md): Order the rows of an answer with the sort parameter of API Maker - one or several columns, ascending or descending with a minus sign, as a string or as an object. - [select Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/select.md): Choose the fields of an answer with the select parameter of API Maker - a list of columns to keep, or a list to leave out with a minus sign, on reads and on the answers of writes. - [deep Parameter (Deep Populate)](https://docs.apimaker.dev/v1/docs/apis-all/query-params/deep.md): Replace ids with the rows they point to with the deep parameter of API Maker - from any table, database or instance, several levels deep, with a filter, a sort, a limit and a selection per level, one query per level. - [getTotalCount Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/getTotalCount.md): Get the number of rows matching a filter next to the page you asked for with getTotalCount=true in API Maker - the total a pager needs, in the same call. - [upsert Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/upsert.md): Insert the row when the id does not exist with upsert=true on update by id and replace by id in API Maker, on every database. - [returnDocument Parameter](https://docs.apimaker.dev/v1/docs/apis-all/query-params/returnDocument.md): Choose whether update by id and replace by id answer with the row as it was before the change or as it is after it, with ?returnDocument=before or after. ### Schema APIs - [Get All API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-get-all-api.md): Read the rows of a table with the schema get all API of API Maker - filter with find or any column, page with skip and limit, sort, select fields, populate related rows with deep, and get the total count. - [Get All by Stream API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-get-all-by-stream-api.md): Stream the rows of a table with the schema get all by stream API of API Maker - the same filters as get all, sent as they are read, for exports and large result sets without holding everything in memory. - [Get by ID API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-get-by-id-api.md): Read one row by its primary key with the schema get by id API of API Maker, or by any other column with the primaryKey param, with select and deep populate. - [Save Single or Multiple API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-save-single-or-multiple-api.md): Insert one row or many with the schema save single or multiple API of API Maker - one object or an array in the body, generated ids, and select or deep on the answer. - [Master Save API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-master-save-api.md): Save or update a tree of related objects in one call with the schema master save API of API Maker - each object is inserted or updated by its primary key, nested objects go to their own tables, arrays fill one-to-many relations, and a failure reverts everything. - [Array Operations API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-array-operations-api.md): Push, add to set, pull, pull all, pop and set elements of array fields in MongoDB documents with the schema array operations API of API Maker, several operations in one call. - [Update by ID API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-update-by-id-api.md): Change some fields of one row with the schema update by id API of API Maker - by primary key or any column, with upsert, returnDocument, select and deep, and the version check of optimistic concurrency control. - [Update Many API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-update-many-api.md): Change every row matching a filter in one statement with the schema update many API of API Maker - a find and an updateData in the body, the count of changed rows in the answer. - [Replace by ID API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-replace-by-id-api.md): Replace a whole MongoDB document with the schema replace by id API of API Maker - by primary key or any column, with upsert, returnDocument, select and deep. - [Remove by ID API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-remove-by-id-api.md): Delete one row by its primary key or any column with the schema remove by id API of API Maker, and get the removed row back, with select and deep. - [Query for Get Data API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-query-for-get-data-api.md): Read rows with a JSON query in the body with the schema query API of API Maker - find with operators, find and join across tables, select, sort, paging, deep populate and total count. - [Query for Get Data by Stream API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-query-for-get-data-by-stream-api.md): Stream the rows of a JSON query with the schema query by stream API of API Maker - the body of the query API, the answer of get all by stream, for exports and big result sets. - [Remove by Query API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-remove-by-query-api.md): Delete every row matching a filter with the schema remove by query API of API Maker - a find in the body, the removed rows, their count and their ids in the answer. - [Aggregate API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-aggregate-api.md): Run a MongoDB aggregation pipeline through the schema aggregate API of API Maker - $match, $group, $project, $addFields, $bucket, $facet, $lookup, $count and the other stages, with the permissions of the caller. - [Count API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-count-api.md): Count the rows matching a filter with the schema count API of API Maker - a find in the body, a number in the answer, on every database. - [Distinct API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-distinct-api.md): List the distinct values of one or several columns with the schema distinct API of API Maker - fields and their order in the path, an optional find filter, on every database. - [Distinct with Query API (schema)](https://docs.apimaker.dev/v1/docs/apis-all/schema-apis/auto-generated-schema-based-distinct-with-query-api.md): List the distinct values of columns for the rows matching a find in the body with the schema distinct with query API of API Maker. ### Generated APIs - [Get All API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-get-all-api.md): Read the rows of a table with the generated get all API of API Maker - filter with find or any column, page with skip and limit, sort, select fields, populate related rows with deep, and get the total count. - [Get All by Stream API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-get-all-by-stream-api.md): Stream the rows of a table with the generated get all by stream API of API Maker - the same filters as get all, sent as they are read, for exports and large result sets without holding everything in memory. - [Get by ID API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-get-by-id-api.md): Read one row by its primary key with the generated get by id API of API Maker, or by any other column with the primaryKey param, with select and deep populate. - [Save Single or Multiple API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-save-single-or-multiple-api.md): Insert one row or many with the generated save single or multiple API of API Maker - one object or an array in the body, generated ids, and select or deep on the answer. - [Master Save API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-master-save-api.md): Save or update a tree of related objects in one call with the generated master save API of API Maker - each object is inserted or updated by its primary key, nested objects go to their own tables, arrays fill one-to-many relations, and a failure reverts everything. - [Array Operations API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-array-operations-api.md): Push, add to set, pull, pull all, pop and set elements of array fields in MongoDB documents with the generated array operations API of API Maker, several operations in one call. - [Update by ID API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-update-by-id-api.md): Change some fields of one row with the generated update by id API of API Maker - by primary key or any column, with upsert, returnDocument, select and deep, and the version check of optimistic concurrency control. - [Update Many API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-update-many-api.md): Change every row matching a filter in one statement with the generated update many API of API Maker - a find and an updateData in the body, the count of changed rows in the answer. - [Replace by ID API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-replace-by-id-api.md): Replace a whole MongoDB document with the generated replace by id API of API Maker - by primary key or any column, with upsert, returnDocument, select and deep. - [Remove by ID API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-remove-by-id-api.md): Delete one row by its primary key or any column with the generated remove by id API of API Maker, and get the removed row back, with select and deep. - [Query for Get Data API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-query-for-get-data-api.md): Read rows with a JSON query in the body with the generated query API of API Maker - find with operators, find and join across tables, select, sort, paging, deep populate and total count. - [Query for Get Data by Stream API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-query-for-get-data-by-stream-api.md): Stream the rows of a JSON query with the generated query by stream API of API Maker - the body of the query API, the answer of get all by stream, for exports and big result sets. - [Remove by Query API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-remove-by-query-api.md): Delete every row matching a filter with the generated remove by query API of API Maker - a find in the body, the removed rows, their count and their ids in the answer. - [Aggregate API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-aggregate-api.md): Run a MongoDB aggregation pipeline through the generated aggregate API of API Maker - $match, $group, $project, $addFields, $bucket, $facet, $lookup, $count and the other stages, with the permissions of the caller. - [Count API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-count-api.md): Count the rows matching a filter with the generated count API of API Maker - a find in the body, a number in the answer, on every database. - [Distinct API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-distinct-api.md): List the distinct values of one or several columns with the generated distinct API of API Maker - fields and their order in the path, an optional find filter, on every database. - [Distinct with Query API (generated)](https://docs.apimaker.dev/v1/docs/apis-all/generated-apis/auto-generated-distinct-with-query-api.md): List the distinct values of columns for the rows matching a find in the body with the generated distinct with query API of API Maker. ### Custom APIs - [Custom APIs](https://docs.apimaker.dev/v1/docs/apis-all/custom-apis/user-created-custom-api.md): Write a TypeScript function in API Maker and it is live as an API - path and method, settings for caching, access, validation, files and timeouts, the global object g to reach your databases, file uploads and downloads, any content type, hooks, versions and tests. - [Custom API Settings](https://docs.apimaker.dev/v1/docs/settings/customApiSettings.md): The Basic Info of a custom API in API Maker - name, path and method, access type and auth providers, caching with reset rules, request schemas, timeout, native process, error list, file upload rules and Swagger docs. ### Hooks - [Pre Hooks](https://docs.apimaker.dev/v1/docs/apis-all/hooks/preHook-api.md): Run your TypeScript before any API of API Maker - at the level of an instance, a database, a table, one API, a custom, system or third party API, or a group - to check, change, narrow or answer a request, in the order API Maker runs them. - [Post Hooks](https://docs.apimaker.dev/v1/docs/apis-all/hooks/postHook-api.md): Run your TypeScript after any API of API Maker - reshape the answer in g.res.output, notify, log, or replace it - at the level of an instance, a database, a table, one API or a custom, system or third party API, in the reverse order of the pre hooks. ### System APIs - [Encrypt Data API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-encrypt-data-api.md): Encrypt any value with the encrypt data system API of API Maker, using the transfer key of your secret or a key of your own, and get a string a client or a later call can decrypt. - [Decrypt Data API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-decrypt-data-api.md): Decrypt a string made by the encrypt data API, or by a client with the transfer key of your secret, with the decrypt data system API of API Maker. - [Hash Data API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-hash-data-api.md): Hash a value with the hash data system API of API Maker - HMAC SHA-256 with the nonce or secret of your secret, the same hash the hashing conversion of a schema stores, so you can look a hashed column up. - [Get Token API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-token-api.md): Get the token of an API user or of a person from API Maker with the token API - username and password, or the name of a token generator, refresh tokens, several tokens in one call, and tenant tokens. - [Call External API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-call-external-api.md): Call any HTTP API from API Maker with the call external API system API - one call, a list of calls in parallel or in sequence, with data copied from one answer into the next request. - [Execute Plain Query API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-execute-plain-query-api.md): Run a SQL statement or a MongoDB command on any instance of the account with the execute plain query system API of API Maker - DDL, DML, joins, stored procedures, database commands - with the permissions of the caller. - [Get Secret API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-get-secret-by-name-api.md): Read one or several keys of a secret by their path with the get secret system API of API Maker - connection strings, API keys of external services, your own keys - from the default secret or a named one. - [Get Redis Key API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-get-redis-key-api.md): Read one or several keys of your own from the Redis of API Maker with the get redis key system API - values set with set redis key, in the namespace of your account. - [Set Redis Key API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-set-redis-key-api.md): Store one or several keys of your own in the Redis of API Maker with the set redis key system API - a value, a TTL in seconds, and NX to write only when the key is new. - [Remove Redis Key API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-remove-redis-key-api.md): Delete one or several keys of your own from the Redis of API Maker with the remove redis key system API - sessions, captchas, temporary data - a missing key is not an error. - [Reset Database Cache API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-reset-redis-cache-db-api.md): Drop the cached answers of the APIs of a table, a database or an instance with the reset database cache system API of API Maker, for one tenant or all of them. - [Reset Custom API Cache API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-reset-redis-cache-custom-api.md): Drop the cached answers of one or several custom APIs with the reset custom API cache system API of API Maker, for one tenant or all of them. - [Reset System API Cache API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-reset-redis-cache-system-api.md): Drop the cached answers of one or several system APIs with the reset system API cache system API of API Maker, for one tenant or all of them. - [Reset Third Party API Cache API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-reset-redis-cache-third-party-api.md): Drop the cached answers of the APIs of an installed third party bundle version with the reset third party API cache system API of API Maker. - [Get Table Meta API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-get-table-meta-api.md): Read the columns of a table or the fields of a collection in one common format with the get table meta system API of API Maker - names, types, counts - on every database, for migrations and dynamic code. - [Create Indexes API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-create-indexes-api.md): Create indexes on any database of the account with one system API of API Maker - the same request for MongoDB, MySQL, MariaDB, SQL Server, PostgreSQL and Oracle, safe to run again and again. - [Drop Indexes API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-drop-indexes-api.md): Drop indexes by name on any database of the account with one system API of API Maker - a missing index is reported, not an error, so the call can run again. - [Get Indexes API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-get-indexes-api.md): List the indexes of a table on any database of the account in one common format with the get indexes system API of API Maker - name, key fields with their order, unique or not. - [Emit Event API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-emit-event-api.md): Emit one or several events of API Maker over HTTP with the emit event system API - the event data reaches the listeners, and their outputs come back. - [Emit WebSocket Event API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-emit-event-ws-api.md): Push a notification to the WebSocket clients subscribed to a custom event of API Maker with the emit event WS system API, from any server or any code. - [Is Valid Data for Table API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-is-valid-data-for-table-api.md): Check data against the schema of a table without saving it with the is valid data for table system API of API Maker - the same conversions and validations as a save or an update, the errors as the answer. - [Is Valid Data for Custom API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-is-valid-data-for-custom-api.md): Check a body or query params against the request schema of a custom API without calling it, with the is valid data for custom API system API of API Maker. - [Is Valid Data for Third Party API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-is-valid-data-for-third-party-api.md): Check a body or query params against the request schema of an installed third party API with the is valid data for third party API system API of API Maker (deprecated feature). - [Multi Tenant Instance Updated API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-multi-tenant-instance-updated-api.md): Drop the connection pools of a tenant on every API Maker server after its connection string changed, with the multi tenant instance updated system API, so its next request uses the new database. - [Is Valid Connection String API](https://docs.apimaker.dev/v1/docs/apis-all/system-apis/system-generated-is-valid-connection-string-api.md): Test a database connection string before saving it with the is valid connection string system API of API Maker - MongoDB, MySQL, MariaDB, SQL Server, PostgreSQL and Oracle - the check behind the Test Instance button. ### Events and WebSockets - [Events and Listeners](https://docs.apimaker.dev/v1/docs/apis-all/events/user-created-events-api.md): Events in API Maker - named events with any number of TypeScript listeners, emitted from your code, from the emit-event system API or automatically after an API hit, with the outputs of the listeners returned and infinite chains stopped. - [WebSocket Events](https://docs.apimaker.dev/v1/docs/pages/web-socket-event-page.md): Push live updates to web and mobile apps with API Maker - connect a WebSocket with the tokens, subscribe to the answers of tables, custom, system and third party APIs or to your own events with a condition, and emit from your code with emitEventWS. ### Schedulers - [Schedulers](https://docs.apimaker.dev/v1/docs/apis-all/schedulers/user-created-schedulers-api.md): Run TypeScript on a schedule in API Maker - intervals from every second to every year or a cron expression, a time zone per interval, one run per cluster with failover, a timeout, versions, and start, stop or run now from the admin panel. ### Utility classes - [Utility Classes](https://docs.apimaker.dev/v1/docs/utility-class/utility-class.md): Share TypeScript between all your code in API Maker with utility classes - a class exported as an instance, imported with utils/Name in custom APIs, hooks, events, schedulers, migrations and test cases, with interfaces, versions and Git. ### Third party APIs (deprecated) - [Third Party APIs (deprecated)](https://docs.apimaker.dev/v1/docs/apis-all/thirdParty-apis/installed-third-party-api.md): Third party APIs are bundles of APIs installed from the API Maker store into an account, called under /api/third-party - deprecated and removed in API Maker v4, kept here for the projects which still use them. - [API Maker Store (deprecated)](https://docs.apimaker.dev/v1/docs/apis-all/thirdParty-apis/am-store.md): The API Maker store where bundles of APIs were published and installed into accounts - bundles, versions, APIs, dependencies, docs and testing - deprecated and removed in API Maker v4. ## Guides - [Guides](https://docs.apimaker.dev/v1/docs/guides/index.md): The concepts of API Maker explained one by one - schema and data, your code and its tools, security and access, settings, performance and operations with Index Maker, the connection strings of every database and the deprecated UI Maker. ### Schema and data - [Table Schema](https://docs.apimaker.dev/v1/docs/schema/schema.md): The schema of a table in API Maker - types, conversions, validations, defaults, keys, relations, virtual fields, auto increment, encryption and hashing - written in TypeScript, checked against the code, with the errors each rule gives and a field to copy for each rule. - [Auto Increment](https://docs.apimaker.dev/v1/docs/features/auto-increment.md): Sequential numbers on every database, MongoDB included - isAutoIncrementByAM in the schema, start and step, how the next value is chosen, the Auto Increments page, and what travels with Git. - [Optimistic Concurrency Control](https://docs.apimaker.dev/v1/docs/features/optimistic-concurrency-control.md): Stop lost updates with one schema flag - isConcurrencyControlField makes update by id and replace by id compare the version sent with the version stored, and refuse a stale write with a 400. - [Multi-Tenant APIs](https://docs.apimaker.dev/v1/docs/features/multi-tenant.md): One set of APIs for all your customers, each with a database of its own. Keep tenants in a table, name the tenant on every request, and give each tenant's users tokens that work for their tenant only. - [Database Migration Scripts](https://docs.apimaker.dev/v1/docs/features/database-migration.md): Migration scripts in API Maker - TypeScript with the same g as a custom API, run once per environment in order after a Git pull or a deployment hook, or by hand from the Database Migration page, with the Index Maker script among them. ### Your code - [The Global Object g](https://docs.apimaker.dev/v1/docs/pre-defined-terms/global-object-g.md): Everything your code gets in API Maker through g - the request (headers, params, query, body, auth, event data), the response (status, content type, output, headers, errors), g.sys for the database, system and cache APIs, the logger and the shared space. - [Process Initializers](https://docs.apimaker.dev/v1/docs/features/process-initializers.md): Code which runs when a sandbox process of your account starts, before any API - subscribe to MQTT or Redis, warm a cache, prepare a client - with the same g as a custom API. - [Test Cases Feature](https://docs.apimaker.dev/v1/docs/test-cases/test-cases.md): Write, run and debug test cases for custom APIs and utility classes in API Maker, with mocks, a run from the terminal (npm run test) and the code coverage of every run in VS Code and WebStorm. - [Developer Tools](https://docs.apimaker.dev/v1/docs/features/developer-tools.md): Swagger docs per API user, TypeScript interfaces from your schemas, client code in 21 languages, a debugger for sandbox code, code search and editing in your own editor. - [Git Integration](https://docs.apimaker.dev/v1/docs/Git/git.md): Your whole API Maker project in Git - branches, pull, push with a commit, status and diff of every change, revert, secrets kept out, migration scripts run after a pull, and deployment hooks for CI. - [Developer Accounts](https://docs.apimaker.dev/v1/docs/dev-accounts/dev-accounts.md): One admin user per developer in API Maker - own user path, own secrets, own branch, same Git repository - created by the root user on the Accounts page or through the management API. - [Mask Database Names](https://docs.apimaker.dev/v1/docs/features/mask-database.md): Keep the production database names in your code while your own server uses other names - a per developer mapping from the name in the code to the name on the machine. - [Code Finder](https://docs.apimaker.dev/v1/docs/features/code-finder.md): Search one word across every piece of code of the account - custom APIs and their versions, hooks, events, schedulers, migrations, process initializers, auth providers, utility classes, schemas, secrets - and edit the hit in place. - [Browsers in Custom APIs - Playwright and Puppeteer](https://docs.apimaker.dev/v1/docs/guides/browser-automation.md): Run a headless Chromium from API Maker custom APIs to make PDFs, take screenshots or read web pages - Playwright or Puppeteer on the native process, or Playwright inside the sandbox with its own Docker file. - [Notes (deprecated)](https://docs.apimaker.dev/v1/docs/notes/notes.md): Personal notes inside the admin panel of API Maker, kept on the server and never pushed to Git - a deprecated feature, listed under Deprecated Features on the dashboard. ### Security and access - [Secrets](https://docs.apimaker.dev/v1/docs/secrets/secrets.md): The secret of an API Maker account - hashing and encryption keys, the transfer key shared with apps, API user passwords, connection strings, default auth providers, multi-tenant entries - a TypeScript object kept encrypted on the server and never in Git. - [API Group Permissions](https://docs.apimaker.dev/v1/docs/apis-security/api-group-permission.md): Groups are the permission unit of API Maker - which tables, APIs and fields, which custom, system and third party APIs, which WebSocket events - given to API users and named in the groups column of your own users. - [API User Permissions](https://docs.apimaker.dev/v1/docs/apis-security/api-user-permission.md): An API user is the identity of an application which calls API Maker - its token goes in x-am-authorization, its groups decide the APIs reachable, its password can live in the secret, and it can publish Swagger docs of its APIs. - [Handle Role Based Permissions](https://docs.apimaker.dev/v1/docs/authorization/handle-role-based-permissions.md): Model every checkbox of your role screen as one small API Maker group, store group names in your own users table, and scope rows with a database level pre-hook. - [APIs Security Report & Actions](https://docs.apimaker.dev/v1/docs/apis-security/api-security-report.md): Scan an API Maker account for data leaks (unscoped collections, wide groups, weak auth providers, public APIs), fix them with one click or skip them with a reason, and keep the report in git for people and AI assistants. - [Security Features](https://docs.apimaker.dev/v1/docs/features/security-features.md): A security report of your account, encrypted payloads with a replay window, allowed origins, two-factor sign-in for the admin panel and npm package audits. - [Single Sign-On Authentication](https://docs.apimaker.dev/v1/docs/features/single-sign-on-authentication.md): Accept Google, Azure AD and AWS Cognito tokens in API Maker and map each user to your groups, or write your own token provider. - [Auth of an API User](https://docs.apimaker.dev/v1/docs/authorization/AMApiUser.md): The first gate of every call - the token of an API user in x-am-authorization, how to get and refresh it, and what g.req.auth.authAMUser gives your code. - [Auth of a Database User](https://docs.apimaker.dev/v1/docs/authorization/AMDB.md): Sign the people of your own users table in with API Maker - a DB auth provider names the table and its columns, the token API gives the person a token, x-am-user-authorization carries it, and the groups column decides what the person may call. - [Auth with AWS Cognito](https://docs.apimaker.dev/v1/docs/authorization/AWS.md): Accept the tokens of an AWS Cognito user pool in API Maker - an AWS auth provider with the pool id, the region and the token use, the person found in your table, and the token sent in x-aws-authorization. - [Auth with Azure AD](https://docs.apimaker.dev/v1/docs/authorization/Azure.md): Accept the tokens of Microsoft Entra ID (Azure AD) in API Maker - an Azure auth provider with the app id, the tenant, audience and issuer, the person found in your table, and the token sent in x-azure-authorization. - [Auth with Google](https://docs.apimaker.dev/v1/docs/authorization/Google.md): Accept Google sign-in tokens in API Maker - a Google auth provider with the OAuth client id, the person found in your table, and the token sent in x-google-authorization. ### Settings - [Database Settings](https://docs.apimaker.dev/v1/docs/settings/databaseSettings.md): Settings which apply to every table of a database in API Maker - access type, auth providers, caching, encrypted payloads - inherited by the tables and the APIs which do not override them. - [Collection Settings](https://docs.apimaker.dev/v1/docs/settings/collectionSettings.md): Settings of one table or collection in API Maker - access type, auth providers, caching, encrypted payloads - over the settings of its database, under the settings of its APIs. - [API Settings](https://docs.apimaker.dev/v1/docs/settings/apiSettings.md): Settings of one generated or schema API of a table in API Maker - access type, auth providers, encrypted payloads - the most specific level, over the table and the database. - [System API Settings](https://docs.apimaker.dev/v1/docs/settings/systemApiSettings.md): Settings of one system API of API Maker - open it over HTTP with TOKEN_ACCESS or IS_PUBLIC, require person tokens with authProviders, cache its answers, refuse plain payloads. - [Third Party API Settings (deprecated)](https://docs.apimaker.dev/v1/docs/settings/thirdPartyApiSettings.md): Settings of an installed third party API or of a whole bundle version in API Maker - access type, auth providers, caching with reset rules, encrypted payloads. Third party APIs are deprecated. - [Sandbox Settings](https://docs.apimaker.dev/v1/docs/settings/sandboxSettings.md): The sandbox of an API Maker account - how many processes run your code, the npm packages they get, the Docker image they run in, the origins allowed to call the APIs from a browser, and the automatic restart. - [API Maker Configuration](https://docs.apimaker.dev/v1/docs/am-resources/api-maker-configurations.md): Every setting of an API Maker server - ports, databases and Redis of API Maker itself, JWT and token validity, sandbox, logs, limits - in the am section of package.json, overridable from a .env file with the am__ prefix. ### Performance and operations - [Automatic Caching](https://docs.apimaker.dev/v1/docs/features/automatic-caching.md): Turn caching on for a table, a database, a custom API or a system API and API Maker answers the reads from Redis, drops the cached answers on every write through it, and lets you reset them from code or per request. - [Index Maker](https://docs.apimaker.dev/v1/extensions/index_maker/introduction.md): Record the database queries of your APIs during a scanning period, see which ones use no index with explain, and create the missing indexes. - [Automatic indexes](https://docs.apimaker.dev/v1/extensions/index_maker/automatic_indexes.md): Switch on the automatic mode of Index Maker - it records the queries of your APIs on its own, decides which slow or frequent queries on big tables deserve an index, creates it, and writes it into the migration script am_index_maker so every environment gets it on deploy. - [Redis Dashboard](https://docs.apimaker.dev/v1/docs/dashboard/redis-dashboard.md): The keys of the external Redis of an API Maker account - cached answers and your own keys - as a tree, with their value and TTL, editable, plus a flush of the whole database. - [Log Profiles](https://docs.apimaker.dev/v1/docs/logs/log-profile.md): Choose which APIs of an API Maker account write a log entry for every call - tables, custom, system and third party APIs, events, schedulers, WebSocket events - with or without the response, and read them in the Log Explorer. - [Log Explorer](https://docs.apimaker.dev/v1/docs/logs/log-table.md): Search the logged calls of an API Maker account - by time, method, status, duration, category, API user, tenant, server, client - open one with its payload, response and console output, copy it as cURL, export as CSV or JSON. - [Server Node Dashboard](https://docs.apimaker.dev/v1/docs/dashboard/node-dashboard.md): What every API Maker server of the cluster runs with - its workers, platform, memory, database connections and the configuration values it read - on the Server Node Configurations dashboard of the root user. - [Entity Relationship Diagram](https://docs.apimaker.dev/v1/docs/dashboard/diagram.md): A live diagram of every active instance, database and table of an API Maker account with the relations drawn from the schemas - primary keys, auto increments and required fields marked. - [Internationalization](https://docs.apimaker.dev/v1/docs/i18/i18.md): Answer the errors and messages of API Maker in the language of the caller - an i18n item maps every message to its translation, and the header x-am-internationalization picks it per request. - [Deploy API Maker](https://docs.apimaker.dev/v1/docs/features/deploy-api-maker.md): Upgrade API Maker on every server of the cluster from the admin panel, from npm or from a .tgz bundle, with live progress for each server. - [Operate API Maker Using API](https://docs.apimaker.dev/v1/docs/am-resources/operate-api-maker-using-api.md): Learn how to manage API Maker programmatically using its dedicated management API, secured with a communication token. ### Connection strings - [MongoDB Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/mongodb-connection-strings.md): Learn MongoDB URI formats for API Maker:- use standalone, replica-set, or sharded cluster connections with examples and parameters. - [MySQL Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/mysql-connection-strings.md): Learn how to format MySQL URI strings in API Maker—username, password, host, port, database name, and advanced options. Includes SSL, URL encoding tips, and examples for cloud-hosted services. - [MariaDB Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/mariadb-connection-strings.md): Learn how to format MariaDB URI strings in API Maker—username, password, host, port, database name, and advanced options. Includes SSL, URL encoding tips, and examples for cloud-hosted services. - [PostgreSQL Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/postgres-connection-strings.md): Learn how to format Postgres URI strings in API Maker—user, password, host, port, database name. Includes URL encoding tips for special chars. - [Oracle Database Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/oracledb-connection-strings.md): Use correct Oracle connection formats in API Maker, including host, service name, username, password, port, and admin privilege. - [SQL Server Connection Strings in API Maker](https://docs.apimaker.dev/v1/docs/Database-connection-string/sqlserver-connection-strings.md): Format SQL Server connection strings easily:- include server, credentials, trusted connection, and escape special chars like @. ### UI Maker (deprecated) - [UI Maker Introduction](https://docs.apimaker.dev/v1/extensions/ui_maker/introduction.md): Learn what UI Maker offers within API Maker:- an overview of its features and benefits. - [UI Maker Getting Started Guide](https://docs.apimaker.dev/v1/extensions/ui_maker/getting_started.md): Quick setup guide for using UI Maker to build forms and UIs in API Maker. - [Add More Fields in Grid – UI Maker](https://docs.apimaker.dev/v1/extensions/ui_maker/more_fields_in_grid.md): Learn how to add and customize additional fields within the UI Maker grid layout. - [Format Date in Grid – UI Maker](https://docs.apimaker.dev/v1/extensions/ui_maker/format_date_in_grid.md): Instructions for applying date formatting within grid views using UI Maker. - [UI Maker Forms – Getting Started](https://docs.apimaker.dev/v1/extensions/ui_maker/getting_started_with_form.md): Your step-by-step guide to start building form layouts in UI Maker. - [Add Date Field to Form – UI Maker](https://docs.apimaker.dev/v1/extensions/ui_maker/adding_date_field_in_form.md): Learn how to insert and configure date picker fields inside your UI Maker forms. - [Add Checkbox in Form – UI Maker](https://docs.apimaker.dev/v1/extensions/ui_maker/adding_checkbox_field_in_form.md): Guide for adding and configuring checkbox field types in UI Maker forms. ### UI Maker (deprecated) › Form controls - [All UI Maker Form Controls](https://docs.apimaker.dev/v1/extensions/ui_maker/list_of_all_supported_controls_in_form.md): Reference list of all form control types supported in UI Maker. - [Input Form Control Config](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/input_form_control.md) - [Input Number Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/inputNumber_form_control.md) - [Input Mask Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/inputMask_form_control.md) - [Input OTP Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/inputOtp_form_control.md) - [Password Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/password_form_control.md) - [Date Picker Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/date_picker_form_control.md) - [Textarea Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/textarea_form_control.md) - [Editor Form Control (v1.14.0+)](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/editor_form_control.md) - [Checkbox Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/checkbox_form_control.md) - [Radio Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/radio_form_control.md) - [Color Picker Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/color_picker_form_control.md) - [Dropdown Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/dropdown_form_control.md) - [Auto Complete Form Control (v1.11+)](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/auto_complete_form_control.md) - [Rating Form Control (v1.12+)](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/rating_form_control.md) - [Knob Form Control (v1.12+)](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/knob_form_control.md) - [Multi Select Form Control (v1.11+)](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/multi_select_form_control.md) - [File Upload Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/file_upload_form_control.md) - [Grid Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/grid_form_control.md) - [Divider Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/divider_form_control.md) - [Accordion Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/accordion_form_control.md) - [Tab View Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/tab_view_form_control.md) - [Button Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/button_form_control.md) - [Image Form Control](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/image_form_control.md) - [Custom HTML In Form](https://docs.apimaker.dev/v1/extensions/ui_maker/form_controls/customHTML_form_control.md) ### UI Maker (deprecated) - [Grid Example – UI Maker](https://docs.apimaker.dev/v1/extensions/ui_maker/grid_top_level.md): Learn to configure data grids with API Maker’s UI Maker—customize columns, actions, filters, pagination, grouping, and grid behavior. - [External CSS/JS via CDN](https://docs.apimaker.dev/v1/extensions/ui_maker/external_css_js_cdn.md): How to load external CSS or JavaScript libraries via CDN in UI Maker. - [UI Maker Custom Global CSS/JS](https://docs.apimaker.dev/v1/extensions/ui_maker/custom_global_css_and_js.md): Guide to embedding custom global styles and scripts within UI Maker. - [Code Separation from Config](https://docs.apimaker.dev/v1/extensions/ui_maker/code_separation_from_config.md): Best practices for keeping logic code separate from UI configuration files. - [UI Maker API Call Overrides](https://docs.apimaker.dev/v1/extensions/ui_maker/api_call_overrides.md): How to override default API calls for custom behavior in UI Maker. - [UI Maker CSV Import](https://docs.apimaker.dev/v1/extensions/ui_maker/csv_import.md): Guide on importing CSV data into your UI Maker interfaces. - [UI Maker Export to CSV](https://docs.apimaker.dev/v1/extensions/ui_maker/export_in_csv.md): How to enable exporting UI data as CSV files via UI Maker. - [UI Maker Themes Configuration](https://docs.apimaker.dev/v1/extensions/ui_maker/supported_themes.md): How to apply and customize themes in UI Maker. - [UI Maker Integrate Any Web App](https://docs.apimaker.dev/v1/extensions/ui_maker/integrate_in_application.md): Guide for embedding external web apps within UI Maker pages. - [UI Maker Nested Fields](https://docs.apimaker.dev/v1/extensions/ui_maker/fields_inside_fields.md): Learn how to create nested fields (fields inside fields) in UI Maker. ## Code examples - [Code Examples](https://docs.apimaker.dev/v1/examples/index.md): A working TypeScript snippet for every method your code can call in API Maker - g.sys.db and g.sys.db.gen for the database APIs, g.sys.system, g.sys.cache, the request and response objects, the shared space and the logger. ### Database APIs (g.sys.db) - [Get All](https://docs.apimaker.dev/v1/examples/sys/db/getAll.md): Retrieve all records from a specified collection in your database using API Maker's `g.sys.db.getAll` method. - [Get All by Stream](https://docs.apimaker.dev/v1/examples/sys/db/getAllByStream.md): Fetch all records from a collection in a streaming manner, useful for handling large datasets efficiently. - [Get by ID](https://docs.apimaker.dev/v1/examples/sys/db/getById.md): Retrieve a single record from a collection based on its unique identifier using API Maker's g.sys.db.getById method. - [Save Single/Multiple](https://docs.apimaker.dev/v1/examples/sys/db/saveSingleOrMultiple.md): Insert one or more records into a collection using API Maker's g.sys.db.save method. - [Master Save/Update](https://docs.apimaker.dev/v1/examples/sys/db/masterSave.md): Perform save or update operations on single or multiple records with master-level control using API Maker. - [Array Operations](https://docs.apimaker.dev/v1/examples/sys/db/arrayOperations.md): Manipulate array fields within documents using operations like push, pull, and pop in API Maker. - [Update by ID](https://docs.apimaker.dev/v1/examples/sys/db/updateById.md): Update a single record in a collection based on its unique identifier using API Maker's g.sys.db.updateById method. - [Update Many](https://docs.apimaker.dev/v1/examples/sys/db/updateMany.md): Update multiple records in a collection based on specified criteria using API Maker's g.sys.db.updateMany method. - [Replace by ID](https://docs.apimaker.dev/v1/examples/sys/db/replaceById.md): Replace a record in a collection with a new document based on its unique identifier using API Maker's g.sys.db.replaceById method. - [Remove by ID](https://docs.apimaker.dev/v1/examples/sys/db/removeById.md): Delete a single record from a collection based on its unique identifier using API Maker's g.sys.db.removeById method. - [Query for Get Data](https://docs.apimaker.dev/v1/examples/sys/db/query.md): Perform complex queries to retrieve data from a collection with filtering, sorting, and pagination using API Maker. - [Query for Get Data by Stream](https://docs.apimaker.dev/v1/examples/sys/db/queryByStream.md): Fetch data from a collection in a streaming manner with complex queries for efficient data retrieval. - [Remove by Query](https://docs.apimaker.dev/v1/examples/sys/db/removeByQuery.md): Delete records from a collection based on specified criteria using API Maker's g.sys.db.removeByQuery method. - [Aggregate](https://docs.apimaker.dev/v1/examples/sys/db/aggregate.md): Perform aggregation operations like count, sum, average, etc., on data within a collection using API Maker. - [Count](https://docs.apimaker.dev/v1/examples/sys/db/count.md): Get the total number of records in a collection or matching a specific query using API Maker's g.sys.db.count method. - [Distinct](https://docs.apimaker.dev/v1/examples/sys/db/distinct.md): Retrieve distinct values for a specified field in a collection using API Maker's g.sys.db.distinct method. - [Distinct with Query](https://docs.apimaker.dev/v1/examples/sys/db/distinctQuery.md): Fetch distinct values for a field based on a query filter using API Maker's g.sys.db.distinctWithQuery method. ### Generated APIs (g.sys.db.gen) - [Get All Records API](https://docs.apimaker.dev/v1/examples/sys/db/gen/getAllGen.md): Fetch all collection records quickly—perfect for admin panels and bulk processing. - [Get All Records via Stream API](https://docs.apimaker.dev/v1/examples/sys/db/gen/getAllByStreamGen.md): Stream all collection data to handle large datasets without memory overload. - [Get Record by ID API](https://docs.apimaker.dev/v1/examples/sys/db/gen/getByIdGen.md): Instantly retrieve records by unique ID for fast, targeted data access. - [Save Single/Multiple Records API](https://docs.apimaker.dev/v1/examples/sys/db/gen/saveSingleOrMultipleGen.md): Easily insert one or multiple database records with API Maker’s flexible save API—ideal for fast data creation and updates. - [Master Save and Update API](https://docs.apimaker.dev/v1/examples/sys/db/gen/masterSaveGen.md): Master-level save/update for single or multiple records with full control—perfect for robust backend data management. - [Array Field Operations API](https://docs.apimaker.dev/v1/examples/sys/db/gen/arrayOperationsGen.md): Perform push, pull, pop, and other array operations on document fields—simplify array data handling via API. - [Update Record by ID API](https://docs.apimaker.dev/v1/examples/sys/db/gen/updateByIdGen.md): Quickly update a record by its ID using API Maker—ensuring precise, efficient data modification. - [Bulk Update Records API](https://docs.apimaker.dev/v1/examples/sys/db/gen/updateManyGen.md): Effortlessly update multiple records at once based on queries—streamline batch data operations. - [Replace Record by ID API](https://docs.apimaker.dev/v1/examples/sys/db/gen/replaceByIdGen.md): Replace entire records by ID with new data—useful for complete record refreshes or corrections. - [Delete Record by ID API](https://docs.apimaker.dev/v1/examples/sys/db/gen/removeByIdGen.md): Securely delete specific records by ID with API Maker’s reliable remove API. - [Advanced Query for Get Data API](https://docs.apimaker.dev/v1/examples/sys/db/gen/queryGen.md): Run complex filtered and paginated queries to retrieve precise datasets—perfect for dynamic app needs. - [Streaming Query Data API](https://docs.apimaker.dev/v1/examples/sys/db/gen/queryByStreamGen.md): Stream large query results efficiently for improved performance and memory management. - [Delete Records by Query API](https://docs.apimaker.dev/v1/examples/sys/db/gen/removeByQueryGen.md): Delete multiple records based on filters safely—ideal for cleanup and data governance. - [Data Aggregation API](https://docs.apimaker.dev/v1/examples/sys/db/gen/aggregateGen.md): Aggregate data with counts, sums, averages, and more to gain valuable insights quickly. - [Record Count API](https://docs.apimaker.dev/v1/examples/sys/db/gen/countGen.md): Get accurate counts of records matching specific criteria—supporting reporting and analytics. - [Distinct Values Retrieval API](https://docs.apimaker.dev/v1/examples/sys/db/gen/distinctGen.md): Fetch unique field values easily—optimize filters and UI dropdowns with distinct data. - [Filtered Distinct Values API](https://docs.apimaker.dev/v1/examples/sys/db/gen/distinctQueryGen.md): Retrieve unique values based on query filters for refined data extraction. ### System APIs (g.sys.system) - [System APIs Examples](https://docs.apimaker.dev/v1/examples/sys/system/system.md): Explore practical examples of API Maker's system APIs, including encryption, hashing, token generation, external API calls, Redis operations, and more. - [Encrypt Data Example](https://docs.apimaker.dev/v1/examples/sys/system/encrypt.md): See how to securely encrypt data using API Maker’s system API with a working example. - [Decrypt Data Example](https://docs.apimaker.dev/v1/examples/sys/system/decrypt.md): Example demonstrating how to decrypt data securely using API Maker’s system API. - [Hash Data Example](https://docs.apimaker.dev/v1/examples/sys/system/hash.md): Learn how to hash data for secure storage and verification with API Maker examples. - [Get Token Example](https://docs.apimaker.dev/v1/examples/sys/system/getToken.md): Example showing how to generate authentication tokens using API Maker system APIs. - [Execute Query Example](https://docs.apimaker.dev/v1/examples/sys/system/executeQuery.md): Learn how to run SQL queries with API Maker’s executeQuery function, including DDL, DML, DQL, and joins. - [Call External API Example](https://docs.apimaker.dev/v1/examples/sys/system/callExternalApi.md): Demonstrates calling and integrating external APIs via API Maker with an example. - [Get Secret Key Example](https://docs.apimaker.dev/v1/examples/sys/system/getSecret.md): Example showing how to retrieve secret keys securely in API Maker applications. - [Get Table Meta Data Example](https://docs.apimaker.dev/v1/examples/sys/system/getTableMeta.md): Example showing how to retrieve metadata for database tables using API Maker. - [Create Indexes Example](https://docs.apimaker.dev/v1/examples/sys/system/createIndexes.md): Example showing how to create indexes on any database from custom code with g.sys.system.createIndexes, safe to run again and again. - [Drop Indexes Example](https://docs.apimaker.dev/v1/examples/sys/system/dropIndexes.md): Example showing how to drop indexes by name on any database from custom code with g.sys.system.dropIndexes. - [Get Indexes Example](https://docs.apimaker.dev/v1/examples/sys/system/getIndexes.md): Example showing how to list the indexes of a table on any database from custom code with g.sys.system.getIndexes. - [Emit Event Example](https://docs.apimaker.dev/v1/examples/sys/system/emitEvent.md): emonstrates triggering application events to initiate workflows with API Maker. - [Emit Event WS Example](https://docs.apimaker.dev/v1/examples/sys/system/emitEventWS.md): Example showing WebSocket event emission for real-time updates in API Maker. - [Validate Data for Table Example](https://docs.apimaker.dev/v1/examples/sys/system/isValidDataForTable.md): Demonstrates data validation against database tables using API Maker system APIs. - [Validate Data for Custom API Example](https://docs.apimaker.dev/v1/examples/sys/system/isValidDataForCustomAPI.md): Example showing validation of input data for custom APIs in API Maker. - [Validate Data for Third Party API Example](https://docs.apimaker.dev/v1/examples/sys/system/isValidDataForThirdPartyAPI.md): Example demonstrating how to validate data when interacting with third-party APIs. - [Multi Tenant Instance Updated Example](https://docs.apimaker.dev/v1/examples/sys/system/multiTenantInstanceUpdated.md): Tell every API Maker server that the connection string of a tenant of a multi-tenant instance changed, using API Maker's g.sys.system.multiTenantInstanceUpdated. ### Cache (g.sys.cache) - [Get Redis Key Example](https://docs.apimaker.dev/v1/examples/sys/cache/getKey.md): Example of accessing and managing Redis keys for caching with API Maker. - [Set Redis Key Example](https://docs.apimaker.dev/v1/examples/sys/cache/setKey.md): Demonstrates setting Redis keys for caching or session management in API Maker. - [Remove Redis Key Example](https://docs.apimaker.dev/v1/examples/sys/cache/removeKey.md): Example showing how to remove Redis keys to manage cache effectively. - [Reset Database Cache Example](https://docs.apimaker.dev/v1/examples/sys/cache/resetCacheDB.md): Example demonstrating how to clear and reset database cache using API Maker. - [Reset Custom API Cache Example](https://docs.apimaker.dev/v1/examples/sys/cache/resetCacheCustomApis.md): Example showing how to clear cache for custom APIs using API Maker. - [Reset System APIs Cache Example](https://docs.apimaker.dev/v1/examples/sys/cache/resetCacheSystemApis.md): Demonstrates resetting cache for system APIs with API Maker system examples. - [Reset Third Party API Cache Example](https://docs.apimaker.dev/v1/examples/sys/cache/resetCacheThirdPartyApis.md): See how to reset caches for integrated third-party APIs with API Maker examples. ### Custom APIs - [Custom API Example](https://docs.apimaker.dev/v1/examples/custom-apis/custom-api.md): Learn how to create and implement custom APIs in API Maker with this comprehensive example, including code snippets and best practices. ### Request (g.req) - [Request Body Example](https://docs.apimaker.dev/v1/examples/req/body/reqBody.md): See how to access the request payload using g.req.body in API Maker with a clear and practical example. - [Request Headers Example](https://docs.apimaker.dev/v1/examples/req/headers/reqHeaders.md): Discover how to access request headers using g.req.headers in API Maker with a clear example. - [Request Params Example](https://docs.apimaker.dev/v1/examples/req/params/reqParams.md): Learn how to access URL parameters using g.req.params in API Maker with a clear example. - [Request Query Params Example](https://docs.apimaker.dev/v1/examples/req/query/reqQueryParams.md): Learn how to access URL query parameters with g.req.query in API Maker using a clear example. - [Request Event Data Example](https://docs.apimaker.dev/v1/examples/req/event-data/reqEventData.md): See how to access event payload data using g.req.eventData in API Maker with a practical example. - [Authenticate API User Example](https://docs.apimaker.dev/v1/examples/req/auth/authAMUser.md): Learn how to validate an API user using the x-am-authorization header in API Maker with a clear, working example. - [User Auth Example](https://docs.apimaker.dev/v1/examples/req/auth/authAMDB.md): See how to authenticate a database user in API Maker using authAMDB, complete with setup and sample token data. - [AWS Auth Example](https://docs.apimaker.dev/v1/examples/req/auth/authAWS.md): View how to retrieve x-aws-authorization in API Maker using `g.req.auth.authAWS`, with a secret config example. - [Azure Auth Example](https://docs.apimaker.dev/v1/examples/req/auth/authAzure.md): See how to use Azure AD authentication in API Maker — retrieve `x-azure-authorization` via `g.req.auth.authAzure` with config sample - [Google Auth Example](https://docs.apimaker.dev/v1/examples/req/auth/authGoogle.md): Learn to validate Google auth header in API Maker with sample authGoogle code and config settings. - [Custom Auth Provider Example](https://docs.apimaker.dev/v1/examples/req/auth/authCustom.md): Build your own token provider in API Maker with jose — sign it, validate it, and read the payload from g.req.auth.authCustom. ### Response (g.res) - [Response Output Example](https://docs.apimaker.dev/v1/examples/res/output/output.md): Learn to customize API outputs using g.res.output in API Maker, including success messages and data wrapping. - [Response Status Code Example](https://docs.apimaker.dev/v1/examples/res/status-code/statusCode.md): Learn how to set custom HTTP status codes (like 200, 404, 500) using g.res.statusCode in API Maker with sample usage shown. - [Response Error Example](https://docs.apimaker.dev/v1/examples/res/errors/errors.md): See how to return structured errors in API Maker using g.res.errors, including statusCode and error format. - [Response Warnings Example](https://docs.apimaker.dev/v1/examples/res/warnings/warnings.md): See how to set warning messages in API responses using g.res.warnings—displaying codes and alerts in your output. - [Shared Response Example](https://docs.apimaker.dev/v1/examples/res/shared/shared.md): See how to use shared response structures (g.res.shared) to reuse common response formats across APIs in API Maker. - [Content Types Example](https://docs.apimaker.dev/v1/examples/res/contentType/contentType.md): Explore how different response content types like JSON, HTML, XML, YAML, text, and binary work in API Maker with practical examples. - [HTML Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/HTML.md): See a working example of returning HTML content using g.res.contentType = HTML in API Maker APIs. - [JSON Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/JSON.md): View how g.res.contentType = JSON structures your APIs’ JSON response in API Maker with status codes, data, errors, and warnings. - [Plain Text Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/TEXT.md): Learn how to return a simple plain-text response with g.res.contentType = TEXT in API Maker. - [YAML Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/YAML.md): Example of using g.res.contentType = YAML to respond in YAML format within API Maker. - [XML Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/XML.md): Demonstrates returning XML responses via g.res.contentType = XML in API Maker. - [Octet Stream Response Example](https://docs.apimaker.dev/v1/examples/res/contentType/OCTET_STREAM.md): See how to stream binary data (like file downloads) using g.res.contentType = OCTET_STREAM in API Maker. ### Shared space (g.shared) - [Global Shared Example](https://docs.apimaker.dev/v1/examples/shared/globalShared.md): See how to use g.shared to share data across APIs, pre/post-hooks, and custom code in API Maker—enable seamless data flow. ## Benchmarks - [Linode Performance Summary](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/summary.md): See how API Maker performs on Linode across CPU sizes—with real request/sec stats for different API operations and caching. ### Linode shared CPU › 1 CPU | 1 GB RAM - [Get All on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/GetAll.md): API Maker’s Get All on a 1 GB Linode—achieved ~13K requests in 60 seconds with ~5 MB data read. - [Cached GetAll on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/GetAllWithcache.md): GetAll with caching on 1 GB Linode—~94K requests in 60s, ~218 MB data read. - [Get All by Stream on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/Getallbystream.md): API Maker’s Get All by Stream on a 1 GB Linode—~34K requests in 60 seconds, ~79 MB data served. - [Custom API on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/CustomWith10.md): API Maker custom API on $5 Linode (1 GB RAM, 1 vCPU) — ~13K req in 60s, 4.94 MB read. - [GetById on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/GetbyID.md): 1 GB Linode benchmark:- API Maker’s GetById achieved ~51K requests in 60 s, reading 27.5 MB of data. - [GetById with Caching on 1 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/5-Server/GetByIdWithcache.md): GetById with caching on 1 GB Linode—~90K requests in 60 s, 58.1 MB read, supercharging read speed and efficiency. ### Linode shared CPU › 2 CPU | 4 GB RAM - [GetAll on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/GetAll.md): 4 GB Linode (2 vCPU, Mumbai) running GetAll — ~1.46K req/sec (~88K in 60s), ~195 MB read. Showcases API Maker’s efficiency. - [Cached GetAll on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/GetAllWithcache.md): Cached GetAll on 4 GB Linode — ~16K req/sec (1M in 60 s), ~225 MB read. Demonstrates extreme speed with caching. - [Get All by Stream on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/Getallbystream.md): Performance test on 4 GB Linode:- ~1,112 req/sec, 67K total in 60 s, 155 MB read. Shows API Maker’s real-time streaming efficiency. - [Custom API on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/CustomWith10.md): Custom API on 4 GB Linode (Mumbai, 2 vCPU)—~28K requests in 60s, ~10.4 MB read. Real-world performance insights. - [GetById on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/GetbyID.md): API Maker’s GetById on 4 GB Linode (2 vCPU) — ~94K requests in 60 s, ~51 MB read. Real-world performance metrics. - [GetById with Caching on 4 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/20-Server/GetByIdWithcache.md): Cached GetById on 4 GB Linode — ~180K requests in 60 seconds, ~115 MB read. Fast, efficient data retrieval. ### Linode shared CPU › 4 CPU | 8 GB RAM - [GetAll on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/GetAll.md): 8 GB Linode test:- API Maker handled ~2.7K req/sec (~166K in 60s), 368 MB read—proving its high performance under load. - [Cached GetAll on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/GetAllWithcache.md): Cached GetAll on 8 GB Linode — ~16K req/sec (~960K in 60 s), ~1.9 GB read. API Maker blazing fast under load. - [Stream Query (8 GB Linode)](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/Getallbystream.md): 8 GB Linode benchmark:- ~2.2K req/sec (~133K in 60s), 309 MB read. Demonstrates API Maker’s high-efficiency streaming capabilities. - [Custom API on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/CustomWith10.md): Custom API on 8 GB Linode (4 vCPU) — ~36K requests in 60s, 13.3 MB read. A clear view into real-world performance. - [GetById on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/GetbyID.md): 8 GB Linode benchmark:- API Maker handled ~226K GetById requests in 60 s, reading ~146 MB—high-speed, efficient data access. - [GetById with Caching (8 GB Linode)](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/40-Server/GetByIdWithcache.md): Cached GetById on 8 GB Linode — ~442K requests in 60 s, ~286 MB read. Fast and efficient data retrieval. ### Linode shared CPU › 8 CPU | 32 GB RAM - [GetAll on 32 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/GetAll.md): Linode (32 GB RAM, 8 vCPU) GetAll test handled ~272K requests in 60 s, reading ~604 MB—showcasing API Maker’s extreme high throughput. - [Cached GetAll on 32 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/GetAllWithcache.md): Cached GetAll on 32 GB Linode — 389K requests in 60 s, 904 MB data served. Lightning-fast API performance. - [GetAll by Stream on 32 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/Getallbystream.md): Stream large datasets with API Maker on 32 GB Linode — 228K requests in 60s, serving 528 MB. High-throughput efficiency. - [Custom API on 32 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/CustomWith10.md): Custom API on Linode 32 GB (8 vCPU) handled ~86K requests in 60s, reading 31.8 MB. Clear high-performance data. - [GetById on 32GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/GetbyID.md): API Maker GetById on 32GB Linode — ~296K requests in 60s, 160MB read. High-performance data retrieval. - [GetById with Caching on 32GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/960-Server/GetByIdWithcache.md): Cached GetById on 32GB Linode — ~442K requests in 60s, ~286MB read. Fast and efficient data retrieval. ### Linode dedicated CPU › 2 CPU | 4 GB RAM - [GetAll on 4GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/GetAll.md): API Maker’s GetAll on 4GB Linode — ~88K requests in 60s, ~195MB read. Efficient data retrieval at scale. - [API Maker Cached GetAll](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/GetAllWithcache.md): Optimize your API performance with cached GetAll endpoints on Linode Dedicated-CPU. - [GetAll By Stream on 4GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/Getallbystream.md): Streamed 67K requests in 60s on 4GB Linode (Mumbai) with API Maker—155MB read. Efficient data handling at scale. - [Custom API on 4GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/CustomWith10.md): Custom API on 4GB Linode (2vCPU) handled ~28K requests in 60s, reading ~10.4MB. Real-world performance insights. - [GetById on 4GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/GetbyID.md): API Maker's GetById on 4GB Linode (2vCPU) — ~66K requests in 60s, 35.8MB read. Efficient data retrieval at scale. - [GetById with Caching on 4GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/30-Server/GetByIdWithcache.md): Cached GetById on 4GB Linode — ~118K requests in 60s, ~76MB read. Demonstrates high-speed data retrieval. ### Linode dedicated CPU › 4 CPU | 8 GB RAM - [GetAll on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/GetAll.md): On 8 GB Linode (Mumbai), API Maker executed ~121K GetAll requests in 60s, reading ~269 MB—robust and scalable results. - [Cached GetAll on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/GetAllWithcache.md): 8 GB Linode (Mumbai) benchmark:- Cached Get All served ~960K requests in 60s, with ~5 GB data handled. Unmatched speed and efficiency. - [Get All by Stream on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/Getallbystream.md): 8 GB Linode (Mumbai) benchmark:- Streamed ~94K requests in 60 s, reading ~210 MB—high-efficiency streaming with API Maker. - [Custom API on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/CustomWith10.md): 8 GB Linode benchmark:- API Maker’s custom API handled 36K requests in 60s, transferring ~13.3 MB. Real-world throughput insights. - [GetById on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/GetbyID.md): 8 GB Linode (Mumbai) benchmark:- API Maker’s GetById handled ~302K requests in 60s, reading ~154 MB—high-speed efficient access. - [GetById with Caching on 8 GB Linode](https://docs.apimaker.dev/v1/docs/performance/api-maker/Linode/Dedicated-CPU/60-Server/GetByIdWithcache.md): 8 GB Linode (Mumbai) benchmark:- Cached GetById ran ~442K requests in 60s, reading ~225 MB—fast, cache-powered access efficiency. ### Older runs - [Linode, first runs](https://docs.apimaker.dev/v1/docs/performance/api-maker/server.md) - [DigitalOcean droplets](https://docs.apimaker.dev/v1/docs/performance/digital-ocean/server.md) ## Blogs - [Blogs](https://docs.apimaker.dev/v1/docs/blog/index.md): Step by step articles about API Maker - Playwright and Puppeteer in custom APIs, on the native process or in the sandbox, and MongoDB 6 as a single node replica set with Docker. - [Playwright on the native process](https://docs.apimaker.dev/v1/docs/blog/General-Blogs/Playwright.md): Install Playwright and Chromium on the API Maker server, run a custom API on the native process and turn HTML into a PDF with Playwright. - [Playwright in the API Maker sandbox](https://docs.apimaker.dev/v1/docs/blog/General-Blogs/Playwright-in-sandbox.md): Override the sandbox Docker file, add Playwright as a sandbox dependency and generate a PDF from a web page inside the API Maker sandbox. - [Puppeteer in native custom APIs](https://docs.apimaker.dev/v1/docs/blog/General-Blogs/setup-puppeteer-and-use-in-Native-custom-APIs.md): Install the libraries Chromium needs on an Ubuntu server, add Puppeteer to API Maker and turn HTML into a PDF from a custom API on the native process. - [MongoDB 6 Single Replica Setup](https://docs.apimaker.dev/v1/docs/blog/MongoDB_6_Start_database_with_single_replica.md): Set up MongoDB 6 single replica for API Maker deployment—fast and reliable. ## Release notes - [API Maker Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/release_notes_summary.md): Every API Maker release from v1.0.0 (Dec 2023) to v3.3.0 - the date, the number of features, improvements and fixes, and the highlights of each version. ### v3 - [API Maker v3.3.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v3.3.0.md): What’s new in v3.3.0:- APIs Security Report & Actions, Index Maker automatic indexes with the migration script am_index_maker, index system APIs createIndexes / dropIndexes / getIndexes, a redesigned Index Maker page, null values are allowed for encrypted & hashed fields. - [API Maker v3.2.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v3.2.0.md): What’s new in v3.2.0:- API Maker user tokens shared across admin users - [API Maker v3.1.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v3.1.0.md): What’s new in v3.1.0:- Git history per item, request history, unified diff, analytics dashboard, log explorer, MFA login - [API Maker v3.0.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v3.0.0.md): What’s new in v3.0.0:- Authorization related improvements, DB Token Generators - [API Maker v2 to v3 repository migration prompt](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2-to-v3-prompt.md): It contains AI prompt to migration any repository from API Maker v2 to v3 ### v2 - [API Maker v2.3.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2.3.0.md): What’s new in v2.3.0:- Table viewer added - [API Maker v2.2.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2.2.0.md): What’s new in v2.2.0:- Bug fixing & small improvements - [API Maker v2.1.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2.1.1.md): What’s new in v2.1.1:- Bug fixing & small improvements - [API Maker v2.1.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2.1.0.md): What’s new in v2.1.0:- Bug fixing & small improvements - [API Maker v2.0.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v2.0.1.md): What’s new in v1.22.0:- Breaking Change & Improvement & bug fixing ### v1 - [API Maker v1.21.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.21.0.md): What’s new in v1.21.0:- Encrypt Strings & PDF export in UI Maker & More improvements - [API Maker v1.20.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.20.3.md): What’s new in v1.20.3:- Bug fixing & improvements - [API Maker v1.20.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.20.2.md): What’s new in v1.20.2:- Bug fixing & performance improvements - [API Maker v1.20.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.20.0.md): What’s new in v1.20.0:- Index Maker released & Multi tenant architecture supported out of the box. - [API Maker v1.19.8 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.8.md): What’s new in v1.19.8:- g.req.headers support added & bug fixing - [API Maker v1.19.7 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.7.md): What’s new in v1.19.7:- Empty sandbox related issue fixed - [API Maker v1.19.6 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.6.md): What’s new in v1.19.6:- Updates in postgresql schema generation - [API Maker v1.19.5 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.5.md): What’s new in v1.19.5:- Diagram not loading table header fixed. - [API Maker v1.19.4 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.4.md): What’s new in v1.19.4:- Schema generation improvements. - [API Maker v1.19.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.3.md): What’s new in v1.19.3:- UI & performance improvements - [API Maker v1.19.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.1.md): What’s new in v1.19.1:- Local client running issue fix. - [API Maker v1.19.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.19.0.md): What’s new in v1.19.0:- Debugging support added for user's code. - [API Maker v1.18.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.18.3.md): What’s new in v1.18.3:- Local client support and utilize AI features of local IDE - [API Maker v1.17.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.17.2.md): What’s new in v1.17.2:- stability updates and fixes. Read the changes at a glance. - [API Maker v1.17.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.17.1.md): What’s new in v1.17.1:- incremental fixes and improvements for reliability. - [API Maker v1.17.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.17.0.md): What’s new in v1.17.0:- updates, optimizations, and quality improvements. - [API Maker v1.16.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.16.0.md): What’s new in v1.16.0:- enhancements, bug fixes, and performance tweaks. - [API Maker v1.15.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.15.1.md): What’s new in v1.15.1:- minor fixes and refinements to improve stability. - [API Maker v1.15.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.15.0.md): What’s new in v1.15.0:- feature upgrades plus performance and UX improvements. - [API Maker v1.14.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.14.0.md): What’s new in v1.14.0:- new capabilities, fixes, and developer experience updates. - [API Maker v1.13.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.13.0.md): What’s new in v1.13.0:- platform enhancements and important bug fixes. - [API Maker v1.12.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.12.0.md): What’s new in v1.12.0:- improvements to performance, reliability, and workflow. - [API Maker v1.11.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.11.0.md): What’s new in v1.11.0:- feature updates and maintenance fixes for smoother dev. - [API Maker v1.10.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.10.0.md): What’s new in v1.10.0:- new env vars, dashboard tweaks, caching & bug fixes. - [API Maker v1.9.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.9.0.md): What’s new in v1.9.0:- enhancements, fixes, and performance optimizations. - [API Maker v1.8.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.8.3.md): What’s new in v1.8.3:- patch release with targeted fixes and refinements. - [API Maker v1.8.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.8.2.md): What’s new in v1.8.2:- minor updates, bug fixes, and stability improvements. - [API Maker v1.8.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.8.0.md): What’s new in v1.8.0:- new features plus key fixes to streamline development. - [API Maker v1.7.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.7.0.md): What’s new in v1.7.0:- improvements across APIs, caching, and tooling. - [API Maker v1.6.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.6.0.md): What’s new in v1.6.0:- quality updates, bug fixes, and developer UX gains. - [API Maker v1.5.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.5.3.md): What’s new in v1.5.3:- patch fixes and minor enhancements for stability. - [API Maker v1.5.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.5.2.md): What’s new in v1.5.2:- bug fixes and small improvements for a smoother run. - [API Maker v1.5.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.5.0.md): What’s new in v1.5.0:- feature updates and performance improvements. - [API Maker v1.4.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.4.0.md): What’s new in v1.4.0:- enhancements, fixes, and workflow polishing. - [API Maker v1.3.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.3.3.md): What’s new in v1.3.3:- targeted patches and incremental refinements. - [API Maker v1.3.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.3.2.md): What’s new in v1.3.2:- patch updates focused on reliability and fixes. - [API Maker v1.3.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.3.1.md): What’s new in v1.3.1:- minor bug fixes and performance tuning. - [API Maker v1.3.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.3.0.md): What’s new in v1.3.0:- new features plus improvements and fixes. - [API Maker v1.2.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.2.1.md): What’s new in v1.2.1:- small but important fixes for stability. - [API Maker v1.2.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.2.0.md): What’s new in v1.2.0:- enhancements and reliability improvements. - [API Maker v1.1.1 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.1.1.md): What’s new in v1.1.1:- patch-level fixes and refinements. - [API Maker v1.1.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.1.0.md): What’s new in v1.1.0:- feature upgrades and key fixes. - [API Maker v1.0.5 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.0.5.md): What’s new in v1.0.5:- minor fixes to improve stability and UX. - [API Maker v1.0.3 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.0.3.md): What’s new in v1.0.3:- targeted bug fixes and polish. - [API Maker v1.0.2 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/v1.0.2.md): What’s new in v1.0.2:- initial patches and improvements after launch. - [API Maker v1.0.0 Release Notes](https://docs.apimaker.dev/v1/docs/blog/release-notes/API-Maker-1.0.0-Released.md): Initial 1.0.0 release:- core features, APIs, and first set of capabilities. ## Other pages - [Convert "API Maker UI Maker" (JSON-config-driven grid + form) to hand-written Angular + PrimeNG](https://docs.apimaker.dev/prompts/UI_Maker_to_primeng_conversion.md) - [v1/abbr.md](https://docs.apimaker.dev/v1/abbr.md) - [Compare Code](https://docs.apimaker.dev/v1/docs/features/code-comparator.md): See what changed in the code of the account before it is pushed - the Git status lists every modified file, the compare editor shows two versions side by side, one diff shows everything. - [*Generate APIs*](https://docs.apimaker.dev/v1/examples/sys/db/gen.md) - [System APIs from Code](https://docs.apimaker.dev/v1/examples/sys/db/systemApis.md): The system APIs of API Maker called from your code - the examples live on the system APIs page. - [API Maker + Extensions](https://docs.apimaker.dev/v1/extensions/index.md): API Maker + Extensions is the API Maker package installed with a license key. It adds Index Maker, which records the queries of your APIs and creates the indexes they need, and the deprecated UI Maker.