{"id":55488,"date":"2026-08-06T13:13:08","date_gmt":"2026-08-06T20:13:08","guid":{"rendered":"https:\/\/www.griddb.net\/?p=55488"},"modified":"2026-08-13T13:35:22","modified_gmt":"2026-08-13T20:35:22","slug":"create-a-pokemon-api-service-with-n8n-automation","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/","title":{"rendered":"Create A Pokemon API Service With n8n Automation"},"content":{"rendered":"<h2 id=\"introduction\">Introduction<\/h2>\n<p>\nGridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal for automation workloads. In this guide, we show how to pair GridDB with n8n to create a simple Pok\u00e9mon API service with minimal code.\n<\/p>\n<p>\nWe&#8217;ll set up a local n8n environment, connect it to GridDB, and build a reusable workflow so you can adapt it for another application. Whether you&#8217;re experimenting with AI-assisted operations or building production-ready automations, the steps below will help you get started quickly and confidently.\n<\/p>\n<h2 id=\"what-will-we-build\">What will we build?<\/h2>\n<p>\nIn this project, we will build a Pok\u00e9mon API service using n8n automation.\n<\/p>\n<h2 id=\"why-n8n\">Why n8n?<\/h2>\n<p>\nn8n is a workflow automation platform that provides technical teams with the flexibility of code and the speed of no-code. Its core is source-available under the Sustainable Use License, which allows you to view, use, and modify the code, but it also imposes business restrictions. However, for our use case, the community edition is more than enough for development.\n<\/p>\n<h2 id=\"how-to-run-the-project\">How to run the project<\/h2>\n<p>\nYou need n8n installed on your system. Please look into this <a href=\"#install-n8n-on-local-machine\">section<\/a> for the n8n installation.\n<\/p>\n<h3 id=\"1-download-the-n8n-workflow-from-the-repository\">1. Download the n8n workflow from the repository<\/h3>\n<p>\nThe n8n workflow file can be downloaded from <a href=\"https:\/\/github.com\/junwatu\/pokemon-griddb-n8n\/tree\/main\/apps\/n8n\">here<\/a>.\n<\/p>\n<h3 id=\"2-import-the-workflow-into-the-n8n-dashboard\">2. Import the workflow into the n8n dashboard<\/h3>\n<p>\nOpen the n8n workspace, create a new workflow, and then import the downloaded n8n workflow file.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/import-n8n.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/import-n8n.png\" alt=\"\" width=\"536\" height=\"367\" class=\"aligncenter size-full wp-image-55480\" srcset=\"\/wp-content\/uploads\/2026\/08\/import-n8n.png 536w, \/wp-content\/uploads\/2026\/08\/import-n8n-300x205.png 300w\" sizes=\"(max-width: 536px) 100vw, 536px\" \/><\/a><\/p>\n<h3 id=\"3-set-up-the-griddb-credentials\">3. Set up the GridDB credentials<\/h3>\n<p>\nIn n8n community edition, you can use the <strong>Credentials<\/strong> feature, but it&#8217;s still not supported base64 cred encoding, so in our project, we need to set the credentials manually for each HTTP Request.\n<\/p>\n<p>\nHere are the n8n nodes you need to set:\n<\/p>\n<ul>\n<li>GridDB Check Connection<\/li>\n<li>Check Containers<\/li>\n<li>Create Container<\/li>\n<li>Get All Data<\/li>\n<li>Insert\/Update\/Delete Data<\/li>\n<li>Get Data by ID<\/li>\n<\/ul>\n<p>\nDouble-click the node and then replace the value after <code>Basic<\/code> with your base64 encoding of username and password.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/basic-creds.png\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/basic-creds.png\" alt=\"\" width=\"633\" height=\"156\" class=\"aligncenter size-full wp-image-55470\" srcset=\"\/wp-content\/uploads\/2026\/08\/basic-creds.png 633w, \/wp-content\/uploads\/2026\/08\/basic-creds-300x74.png 300w, \/wp-content\/uploads\/2026\/08\/basic-creds-600x148.png 600w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/a><\/p>\n<p>\nIn Mac or Linux, you can use this command to encode username and password using base64 encoding:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ echo -n &#x27;username:password&#x27; | base64<\/code><\/pre>\n<\/div>\n<p>\nOther than credentials, you also need to change the GridDB Cloud URL in each <strong>HTTP Request<\/strong> nodes.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url.png\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url.png\" alt=\"\" width=\"807\" height=\"451\" class=\"aligncenter size-full wp-image-55486\" srcset=\"\/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url.png 807w, \/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url-300x168.png 300w, \/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url-768x429.png 768w, \/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url-150x85.png 150w, \/wp-content\/uploads\/2026\/08\/set-griddb-cloud-url-600x335.png 600w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><\/p>\n<p>\nTo test the workflow, you can run the tests command from this <a href=\"#workflow-tests\">section<\/a>.\n<\/p>\n<h2 id=\"prerequisites\">Prerequisites<\/h2>\n<h3 id=\"nodejs\">Node.js<\/h3>\n<p>\nThe project sample in this article is using Node.js. Make sure to install the latest <a href=\"https:\/\/nodejs.org\/en\/download\">Node.js LTS<\/a> version on your machine.\n<\/p>\n<h3 id=\"griddb\">GridDB<\/h3>\n<h4 id=\"sign-up-for-griddb-cloud-free-plan\">Sign Up for GridDB Cloud Free Plan<\/h4>\n<p>\nIf you would like to sign up for a GridDB Cloud Free instance, you can do so at the following link: <a href=\"https:\/\/form.ict-toshiba.jp\/download_form_griddb_cloud_freeplan_e\">https:\/\/form.ict-toshiba.jp\/download_form_griddb_cloud_freeplan_e<\/a>.\n<\/p>\n<p>\nAfter successfully signing up, you will receive a free instance along with the necessary details to access the GridDB Cloud Management GUI, including the <strong>GridDB Cloud Portal URL<\/strong>, <strong>Contract ID<\/strong>, <strong>Login<\/strong>, and <strong>Password<\/strong>.\n<\/p>\n<h4 id=\"griddb-webapi-url\">GridDB WebAPI URL<\/h4>\n<p>\nGo to the GridDB Cloud Portal and copy the WebAPI URL from the <strong>Clusters<\/strong> section. It should look like this:\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-scaled.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-scaled.png\" alt=\"\" width=\"2560\" height=\"1265\" class=\"aligncenter size-full wp-image-55477\" srcset=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-scaled.png 2560w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-300x148.png 300w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-1024x506.png 1024w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-768x380.png 768w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-1536x759.png 1536w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-2048x1012.png 2048w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-portal-600x297.png 600w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><\/p>\n<h4 id=\"griddb-username-and-password\">GridDB Username and Password<\/h4>\n<p>\nGo to the <strong>GridDB Users<\/strong> section of the GridDB Cloud portal and create or copy the username. The password is set when the user is created for the first time. Use this as the password.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-users-scaled.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-users-scaled.png\" alt=\"\" width=\"2560\" height=\"1351\" class=\"aligncenter size-full wp-image-55478\" srcset=\"\/wp-content\/uploads\/2026\/08\/griddb-cloud-users-scaled.png 2560w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-300x158.png 300w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-1024x540.png 1024w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-768x405.png 768w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-1536x810.png 1536w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-2048x1080.png 2048w, \/wp-content\/uploads\/2026\/08\/griddb-cloud-users-600x317.png 600w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><\/p>\n<p>\nFor more details, to get started with GridDB Cloud, please follow this <a href=\"https:\/\/griddb.net\/en\/blog\/griddb-cloud-quick-start-guide\/\">quick start guide<\/a>.\n<\/p>\n<h4 id=\"ip-whitelist\">IP Whitelist<\/h4>\n<p>\nWhen running this project, please ensure that the IP address where the project is running is whitelisted. Failure to do so will result in a 403 status code or forbidden access.\n<\/p>\n<p>\nYou can use a website like <a href=\"https:\/\/whatismyipaddress.com\/\">What Is My IP Address<\/a> to find your public IP address.\n<\/p>\n<p>\nTo whitelist the IP, go to the GridDB Cloud Admin and navigate to the <strong>Network Access<\/strong> menu.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/ip-whitelist-scaled.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/ip-whitelist-scaled.png\" alt=\"\" width=\"2560\" height=\"1095\" class=\"aligncenter size-full wp-image-55482\" srcset=\"\/wp-content\/uploads\/2026\/08\/ip-whitelist-scaled.png 2560w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-300x128.png 300w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-1024x438.png 1024w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-768x329.png 768w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-1536x657.png 1536w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-2048x876.png 2048w, \/wp-content\/uploads\/2026\/08\/ip-whitelist-600x257.png 600w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><\/p>\n<h3 id=\"install-n8n-on-local-machine\">Install n8n on Local Machine<\/h3>\n<p>\nYou need to run an n8n instance to try the automation workflow. The n8n can be hosted on the cloud or locally. For this article, we will install the n8n community edition locally.\n<\/p>\n<p>\nTo install it, follow these steps:\n<\/p>\n<h4 id=\"1-clone-the-source-code\">1. Clone the source code<\/h4>\n<p>\nGo to the n8n GitHub repository and then clone it. Currently, the latest release version of n8n is 1.113.3.\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ git clone --branch 1.113.3 https:\/\/github.com\/n8n-io\/n8n.git<\/code><\/pre>\n<\/div>\n<h4 id=\"2-install-deps\">2. Install deps<\/h4>\n<p>\nThe n8n basically is a runnable npm package, and it needs <code>pnpm<\/code> to build and run.\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ cd n8n\r\n$ pnpm install<\/code><\/pre>\n<\/div>\n<h4 id=\"3-build-and-run\">3. Build and run<\/h4>\n<p>\nIt&#8217;s better to build the n8n first so you will run much faster if you want to run it again at other times.\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-plaintext\">pnpm build\r\npnpm run dev<\/code><\/pre>\n<\/div>\n<p>\nOnce the n8n is running, by default, you can access it in the URL <code>http:\/\/localhost:5678<\/code>.\n<\/p>\n<p>\nIf you want to deploy it to the cloud and expose it to the public, there are a few environment variable settings that will override the n8n default settings. Please read their <a href=\"https:\/\/docs.n8n.io\/hosting\/configuration\/environment-variables\/deployment\/\">official documentation for deployment<\/a> for more information.\n<\/p>\n<h2 id=\"project\">Project<\/h2>\n<p>\nBefore we dig deeper into the app project, it&#8217;s valuable to know what main operations we will use in this n8n automation related to access to the GridDB database.\n<\/p>\n<h3 id=\"setup-griddb-connection\">Setup GridDB Connection<\/h3>\n<p>\nThis n8n workflow will check the connection to the GridDB database. It will respond with a <code>200<\/code> HTTP status code if the connection is successful.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/griddb-check-connection.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/griddb-check-connection.png\" alt=\"\" width=\"712\" height=\"317\" class=\"aligncenter size-full wp-image-55476\" srcset=\"\/wp-content\/uploads\/2026\/08\/griddb-check-connection.png 712w, \/wp-content\/uploads\/2026\/08\/griddb-check-connection-300x134.png 300w, \/wp-content\/uploads\/2026\/08\/griddb-check-connection-600x267.png 600w\" sizes=\"(max-width: 712px) 100vw, 712px\" \/><\/a><\/p>\n<p>\nThe <strong>Webhook<\/strong> node is the entry node for automation. In this node, we can set the HTTP operation and authentication. It also gives us a test and production address where the client can access it publicly. For our project, this will be local. For example:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639<\/code><\/pre>\n<\/div>\n<p>\nThe <strong>GridDB Check Connection<\/strong> node basically is a GET HTTP call to the GridDB Cloud, another form of this <code>curl<\/code> command:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request GET &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/checkConnection&#x27; --header &#x27;Authorization: Basic base64(username:password)&#x27;<\/code><\/pre>\n<\/div>\n<p>\nFor real production, replace the GridDB cloud address and make sure to encode the username and password into the base64 encoding.\n<\/p>\n<h3 id=\"check-containers\">Check containers<\/h3>\n<p>\nThe basic <code>curl<\/code> command to check the existing containers in GridDB is as follows:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request GET &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/containers?limit=100&#x27; --header &#x27;Authorization:Basic base64(username:password)&#x27; --header &#x27;Content-Type: application\/json<\/code><\/pre>\n<\/div>\n<p>\nThe above command can be converted to n8n automation very easily by using the <strong>HTTP Request<\/strong> node (using the  <strong>import cURL<\/strong> button).\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/check-containers.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/check-containers.png\" alt=\"\" width=\"1852\" height=\"944\" class=\"aligncenter size-full wp-image-55471\" srcset=\"\/wp-content\/uploads\/2026\/08\/check-containers.png 1852w, \/wp-content\/uploads\/2026\/08\/check-containers-300x153.png 300w, \/wp-content\/uploads\/2026\/08\/check-containers-1024x522.png 1024w, \/wp-content\/uploads\/2026\/08\/check-containers-768x391.png 768w, \/wp-content\/uploads\/2026\/08\/check-containers-1536x783.png 1536w, \/wp-content\/uploads\/2026\/08\/check-containers-600x306.png 600w\" sizes=\"(max-width: 1852px) 100vw, 1852px\" \/><\/a><\/p>\n<h3 id=\"create-containers\">Create containers<\/h3>\n<p>\nTo create a new container, we can use <code>curl<\/code> directly as long as we have the right credentials. Ok, now let&#8217;s create a container named &#8220;pokemon&#8221;:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST \\\r\n$  &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/containers&#x27; \\\r\n$     --header &#x27;Authorization: Basic base64(username:password)&#x27; \\\r\n$     --header &#x27;Content-Type: application\/json&#x27; \\\r\n$     --data &#x27;{\r\n$  &quot;container_name&quot;: &quot;pokemon&quot;,\r\n$  &quot;container_type&quot;: &quot;COLLECTION&quot;,\r\n$  &quot;rowkey&quot;: true,\r\n$  &quot;columns&quot;: [\r\n$          {&quot;name&quot;: &quot;id&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;index&quot;: []},\r\n$          {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;index&quot;: []},\r\n$          {&quot;name&quot;: &quot;skills&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;index&quot;: []},\r\n$          {&quot;name&quot;: &quot;level&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;index&quot;: []}\r\n$      ]\r\n$  }&#x27;<\/code><\/pre>\n<\/div>\n<p>\nIn the n8n automation workflow, we can put the node after checking the existing container, and if it doesn&#8217;t exist, then we can create it.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/create-container.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/create-container.png\" alt=\"\" width=\"1120\" height=\"587\" class=\"aligncenter size-full wp-image-55473\" srcset=\"\/wp-content\/uploads\/2026\/08\/create-container.png 1120w, \/wp-content\/uploads\/2026\/08\/create-container-300x157.png 300w, \/wp-content\/uploads\/2026\/08\/create-container-1024x537.png 1024w, \/wp-content\/uploads\/2026\/08\/create-container-768x403.png 768w, \/wp-content\/uploads\/2026\/08\/create-container-600x314.png 600w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" \/><\/a><\/p>\n<h3 id=\"get-all-data\">Get all data<\/h3>\n<p>\nTo get data from a known container, we can use this <code>curl<\/code> command to get all data:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/tql\/&#x27; --header &#x27;Authorization: Basic base64(username:password)&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &#x27;[{&quot;name&quot;:&quot;pokemon&quot;,&quot;stmt&quot;:&quot;select * limit 10&quot;,&quot;columns&quot;:null,&quot;hasPartialExecution&quot;:true}]&#x27;<\/code><\/pre>\n<\/div>\n<p>\nThe command uses TQL to select all data from GridDB <code>pokemon<\/code> container. As with the other operations, the read data can also be easily implemented in the n8n using the <strong>HTTP Request<\/strong> node.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/get-data.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/get-data.png\" alt=\"\" width=\"1718\" height=\"1074\" class=\"aligncenter size-full wp-image-55475\" srcset=\"\/wp-content\/uploads\/2026\/08\/get-data.png 1718w, \/wp-content\/uploads\/2026\/08\/get-data-300x188.png 300w, \/wp-content\/uploads\/2026\/08\/get-data-1024x640.png 1024w, \/wp-content\/uploads\/2026\/08\/get-data-768x480.png 768w, \/wp-content\/uploads\/2026\/08\/get-data-1536x960.png 1536w, \/wp-content\/uploads\/2026\/08\/get-data-600x375.png 600w\" sizes=\"(max-width: 1718px) 100vw, 1718px\" \/><\/a><\/p>\n<h3 id=\"get-specific-data\">Get Specific Data<\/h3>\n<p>\nTo get specific data from the GridDB database, for example, by its ID, you can use this <code>curl<\/code> command:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST \\\r\n$  &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/tql\/&#x27; \\\r\n$       --header &#x27;Authorization: Basic base64(username:password)&#x27; \\\r\n$       --header &#x27;Content-Type: application\/json&#x27; \\\r\n$       --data &#x27;[{&quot;name&quot;:&quot;pokemon&quot;,&quot;stmt&quot;:&quot;select * where id = 4167 limit 100&quot;,&quot;columns&quot;:null,&quot;hasPartialExecution&quot;:true}]&#x27;<\/code><\/pre>\n<\/div>\n<p>\nIn n8n, the <code>curl<\/code> can also be easily converted into the n8n node using the <strong>HTTP Request<\/strong> node.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/get-data-by-id.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/get-data-by-id.png\" alt=\"\" width=\"1486\" height=\"839\" class=\"aligncenter size-full wp-image-55474\" srcset=\"\/wp-content\/uploads\/2026\/08\/get-data-by-id.png 1486w, \/wp-content\/uploads\/2026\/08\/get-data-by-id-300x169.png 300w, \/wp-content\/uploads\/2026\/08\/get-data-by-id-1024x578.png 1024w, \/wp-content\/uploads\/2026\/08\/get-data-by-id-768x434.png 768w, \/wp-content\/uploads\/2026\/08\/get-data-by-id-150x85.png 150w, \/wp-content\/uploads\/2026\/08\/get-data-by-id-600x339.png 600w\" sizes=\"(max-width: 1486px) 100vw, 1486px\" \/><\/a><\/p>\n<h3 id=\"insert-update-and-delete-data\">Insert, Update, and Delete data<\/h3>\n<p>\nThere are a few ways to insert data in GridDB using web API endpoints:\n<\/p>\n<ul>\n<li><code>\/sql\/dml\/update<\/code>: accepts any SQL DML (INSERT\/UPDATE\/DELETE).<\/li>\n<li><code>\/tql\/<\/code>: processes TQL statements, including PUT (&#8230;) for row upserts and SELECT queries.<\/li>\n<li><code>\/containers\/<name>\/rows<\/code>: writes raw row arrays directly. Ideal for bulk inserts, and you must send values in column order.<\/li>\n<\/ul>\n<p>\nWe will use the <code>\/sql\/dml\/update<\/code> in this n8n automation because we will support 3 data operations, which are: <strong>INSERT<\/strong>, <strong>UPDATE<\/strong>, and <strong>DELETE<\/strong>.\n<\/p>\n<h4 id=\"insert\">Insert<\/h4>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/sql\/dml\/update&#x27; --header &#x27;Authorization: Basic base64(username:password)&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;[{\\&quot;stmt\\&quot;:\\&quot;INSERT INTO pokemon(id, name, skills, level) VALUES (26, &#x27;Charmander&#x27;, &#x27;Flamethrower,Dragon Breath&#x27;, &#x27;Starter&#x27;)\\&quot;}]&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"update\">Update<\/h4>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/sql\/dml\/update&#x27; --header &#x27;Authorization: Basic base64(username:password)&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;[{\\&quot;stmt\\&quot;:\\&quot;UPDATE pokemon SET level = &#x27;Master&#x27; WHERE id = 25\\&quot;}]&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"delete\">Delete<\/h4>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;https:\/\/cloud5197.griddb.com:443\/griddb\/v2\/cluster-name\/dbs\/db-name\/sql\/dml\/update&#x27; --header &#x27;Authorization: Basic base64(username:password)&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;[{\\&quot;stmt\\&quot;:\\&quot;DELETE FROM pokemon WHERE id = 26\\&quot;}]&quot;<\/code><\/pre>\n<\/div>\n<p>\nFrom all the <code>curl<\/code> commands above, each can be easily converted into the n8n node using the <strong>HTTP Request<\/strong> node, or we can use just one n8n node and make the <code>stmt<\/code> a variable.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/insert-update-delete.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/insert-update-delete.png\" alt=\"\" width=\"854\" height=\"553\" class=\"aligncenter size-full wp-image-55481\" srcset=\"\/wp-content\/uploads\/2026\/08\/insert-update-delete.png 854w, \/wp-content\/uploads\/2026\/08\/insert-update-delete-300x194.png 300w, \/wp-content\/uploads\/2026\/08\/insert-update-delete-768x497.png 768w, \/wp-content\/uploads\/2026\/08\/insert-update-delete-600x389.png 600w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><\/p>\n<p>\nShouldn&#8217;t there be three nodes?\n<\/p>\n<p>\nIt&#8217;s not necessary because the only changing part in the command is the SQL statement, and the other parts are pretty much the same.\n<\/p>\n<p>\nSo, for the user to be able to insert, update, or delete data, the user or client needs to send a SQL statement in the payload data.\n<\/p>\n<h2 id=\"full-n8n-workflow\">Full n8n Workflow<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all.png\" alt=\"\" width=\"2032\" height=\"1161\" class=\"aligncenter size-full wp-image-55483\" srcset=\"\/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all.png 2032w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-300x171.png 300w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-1024x585.png 1024w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-768x439.png 768w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-1536x878.png 1536w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-150x85.png 150w, \/wp-content\/uploads\/2026\/08\/n8n-griddb-pokemon-all-600x343.png 600w\" sizes=\"(max-width: 2032px) 100vw, 2032px\" \/><\/a><\/p>\n<p>\nThe full basic n8n workflow for our Pok\u00e9mon app service can be accessed by using the webhook node. This webhook is basically an exposed or public URL that can be used by the client, and you also need to activate the workflow by clicking the <strong>Active<\/strong> toggle menu (top right).\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/webhook.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/webhook.png\" alt=\"\" width=\"698\" height=\"411\" class=\"aligncenter size-full wp-image-55487\" srcset=\"\/wp-content\/uploads\/2026\/08\/webhook.png 698w, \/wp-content\/uploads\/2026\/08\/webhook-300x177.png 300w, \/wp-content\/uploads\/2026\/08\/webhook-600x353.png 600w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<h3 id=\"data-payload\">Data Payload<\/h3>\n<p>\nAny user or client that uses n8n needs to send data with either this payload format:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ {\r\n$   &quot;container&quot;: &quot;container_name&quot;,\r\n$   &quot;operation&quot;: &quot;data_operation&quot;,\r\n$   &quot;id&quot;: id_integer,\r\n$   &quot;statement&quot;: &quot;SQLStatement&quot;\r\n$ }<\/code><\/pre>\n<\/div>\n<p><strong>Fields<\/strong>:<\/p>\n<ul>\n<li>For the <code>get_all_data<\/code> operation, the required fields are <code>container<\/code> and <code>operation<\/code>.<\/li>\n<li>For the <code>get_data_by_id<\/code> operation, the required fields are <code>container<\/code>, <code>operation<\/code>, and <code>id<\/code>.<\/li>\n<li>For the <code>insert<\/code>, <code>update<\/code>, and <code>delete<\/code> operations, you need to add a TQL statement.<\/li>\n<\/ul>\n<p>\nTo grasp how the workflow works with data, please look into the tests below.\n<\/p>\n<h3 id=\"workflow-tests\">Workflow Tests<\/h3>\n<p>\nTo test the n8n workflow, you can also use the <code>curl<\/code> command or other tools such as Postman. In this blog post, we use <code>curl<\/code> for portability and this webhook URL:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639<\/code><\/pre>\n<\/div>\n<h4 id=\"get-all-data-test\">Get All Data Test<\/h4>\n<p>\nUse this command to get all data:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;{\\&quot;container\\&quot;:\\&quot;pokemon\\&quot;,\\&quot;operation\\&quot;:\\&quot;get_all_data\\&quot;}&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"get-data-by-id-test\">Get Data by Id Test<\/h4>\n<p>\nTo get specific data using its ID:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;{\\&quot;container\\&quot;:\\&quot;pokemon\\&quot;, \\&quot;operation\\&quot;:\\&quot;get_data_by_id\\&quot;,\\&quot;id\\&quot;:25}&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"insert-data-test\">Insert Data Test<\/h4>\n<p>\nTo insert data:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;{\\&quot;container\\&quot;:\\&quot;pokemon\\&quot;,\\&quot;operation\\&quot;:\\&quot;insert\\&quot;,\\&quot;statement\\&quot;:\\&quot;INSERT INTO pokemon(id, name, skills, level) VALUES (26, &#x27;Charmander&#x27;, &#x27;Flamethrower,Dragon Breath&#x27;, &#x27;Starter&#x27;)\\&quot;}&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"update-data-test\">Update Data Test<\/h4>\n<p>\nTo update existing data, for example, a data with the <code>id<\/code> is 25:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;{\\&quot;container\\&quot;:\\&quot;pokemon\\&quot;,\\&quot;operation\\&quot;:\\&quot;update\\&quot;,\\&quot;id\\&quot;:25,\\&quot;statement\\&quot;:\\&quot;UPDATE pokemon SET level = &#x27;Master&#x27; WHERE id = 25\\&quot;}&quot;<\/code><\/pre>\n<\/div>\n<h4 id=\"delete-data-test\">Delete Data Test<\/h4>\n<p>\nTo delete the data, use this <code>curl<\/code> command:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ curl -i --location --request POST &#x27;http:\/\/localhost:5678\/webhook\/35f92470-024d-49da-8c2f-63a2f212e639&#x27; --header &#x27;Content-Type: application\/json&#x27; --data &quot;{\\&quot;container\\&quot;:\\&quot;pokemon\\&quot;, \\&quot;operation\\&quot;:\\&quot;delete\\&quot;,\\&quot;id\\&quot;:26,\\&quot;statement\\&quot;:\\&quot;DELETE FROM pokemon WHERE id = 26\\&quot;}<\/code><\/pre>\n<\/div>\n<h3 id=\"logs\">Logs<\/h3>\n<p>\nn8n also provides Logs for every workflow execution. If something goes wrong, this is the best place to check which node is causing the error.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/08\/n8n-logs.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/n8n-logs.png\" alt=\"\" width=\"1545\" height=\"947\" class=\"aligncenter size-full wp-image-55485\" srcset=\"\/wp-content\/uploads\/2026\/08\/n8n-logs.png 1545w, \/wp-content\/uploads\/2026\/08\/n8n-logs-300x184.png 300w, \/wp-content\/uploads\/2026\/08\/n8n-logs-1024x628.png 1024w, \/wp-content\/uploads\/2026\/08\/n8n-logs-768x471.png 768w, \/wp-content\/uploads\/2026\/08\/n8n-logs-1536x941.png 1536w, \/wp-content\/uploads\/2026\/08\/n8n-logs-600x368.png 600w\" sizes=\"(max-width: 1545px) 100vw, 1545px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal for automation workloads. In this guide, we show how to pair GridDB with n8n to create a simple Pok\u00e9mon API service with minimal code. We&#8217;ll set up a local n8n environment, connect it to [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":55472,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-55488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-06T20:13:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-13T20:35:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2026\/08\/cover.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Create A Pokemon API Service With n8n Automation\",\"datePublished\":\"2026-08-06T20:13:08+00:00\",\"dateModified\":\"2026-08-13T20:35:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\"},\"wordCount\":1529,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2026\/08\/cover.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\",\"url\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\",\"name\":\"Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2026\/08\/cover.jpg\",\"datePublished\":\"2026-08-06T20:13:08+00:00\",\"dateModified\":\"2026-08-13T20:35:22+00:00\",\"description\":\"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2026\/08\/cover.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2026\/08\/cover.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.griddb.net\/en\/#website\",\"url\":\"https:\/\/www.griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/www.griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT","description":"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/","og_locale":"en_US","og_type":"article","og_title":"Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT","og_description":"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal","og_url":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2026-08-06T20:13:08+00:00","article_modified_time":"2026-08-13T20:35:22+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2026\/08\/cover.jpg","type":"image\/jpeg"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"griddb-admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#article","isPartOf":{"@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/"},"author":{"name":"griddb-admin","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Create A Pokemon API Service With n8n Automation","datePublished":"2026-08-06T20:13:08+00:00","dateModified":"2026-08-13T20:35:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/"},"wordCount":1529,"commentCount":0,"publisher":{"@id":"https:\/\/www.griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/08\/cover.jpg","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/","url":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/","name":"Create A Pokemon API Service With n8n Automation | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/www.griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/08\/cover.jpg","datePublished":"2026-08-06T20:13:08+00:00","dateModified":"2026-08-13T20:35:22+00:00","description":"Introduction GridDB combines the horizontal scalability of a distributed key-value store with the queryability of a relational database, making it ideal","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/en\/blog\/create-a-pokemon-api-service-with-n8n-automation\/#primaryimage","url":"\/wp-content\/uploads\/2026\/08\/cover.jpg","contentUrl":"\/wp-content\/uploads\/2026\/08\/cover.jpg","width":2560,"height":1440},{"@type":"WebSite","@id":"https:\/\/www.griddb.net\/en\/#website","url":"https:\/\/www.griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/www.griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/www.griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=55488"}],"version-history":[{"count":2,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55488\/revisions"}],"predecessor-version":[{"id":55491,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55488\/revisions\/55491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/55472"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=55488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=55488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=55488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}