# How to create API endpoints without coding

**URL:** <https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231>\
**Category:** Articles\
**Created:** [January 22, 2023, 4:52pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231 "2023-01-22T16:52:17Z")\
**Posts on this page:** 10\
**Page:** 2

<div class="post-metadata">

**Author:** ![Luis\_Hernandez](https://community.easymorph.com/letter_avatar_proxy/v4/letter/l/74df32/32.png) [@Luis\_Hernandez](https://community.easymorph.com/u/Luis_Hernandez)\
**Post date:** [April 4, 2023, 1:50pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/21 "2023-04-04T13:50:12Z")

</div>

Thanks, everything working now, my bad sending wrong http method!!

---

<div class="post-metadata">

**Author:** ![cgr-stez](https://community.easymorph.com/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@cgr-stez](https://community.easymorph.com/u/cgr-stez)\
**Post date:** [May 16, 2023, 1:34pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/22 "2023-05-16T13:34:57Z")

</div>

Hi, is there a way to return a response immediately and continue a long time job in background ?

 ![test_endpoint_em](https://community.easymorph.com/uploads/default/original/2X/7/7e4cedbab3a824f513f6fe1dafb01cb838c0085f.png)

---

<div class="post-metadata">

**Author:** ![dgudkov](https://community.easymorph.com/user_avatar/community.easymorph.com/dgudkov/32/5_2.png) [@dgudkov](https://community.easymorph.com/u/dgudkov)\
**Post date:** [May 16, 2023, 2:26pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/23 "2023-05-16T14:26:17Z")

</div>

> [@cgr-stez](#):
>
> long time job

What would be the result of that long time job?

---

<div class="post-metadata">

**Author:** ![cgr-stez](https://community.easymorph.com/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@cgr-stez](https://community.easymorph.com/u/cgr-stez)\
**Post date:** [May 16, 2023, 3:39pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/24 "2023-05-16T15:39:10Z")

</div>

The Job produces some files and then sends a teams and email notification on his completion. I need only an http 200 result response.

---

<div class="post-metadata">

**Author:** ![dgudkov](https://community.easymorph.com/user_avatar/community.easymorph.com/dgudkov/32/5_2.png) [@dgudkov](https://community.easymorph.com/u/dgudkov)\
**Post date:** [May 16, 2023, 6:10pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/25 "2023-05-16T18:10:13Z")

</div>

That looks very much like a webhook. Here is how you can handle webhooks in EasyMorph.

### Method 1: Use the task reload webhooks.

A Server task (in the "Tasks" tab) can have a unique URL for triggering a task reload upon a GET request to that URL. The URL is disabled by default and should be enabled in the task settings.

 ![image](https://community.easymorph.com/uploads/default/original/2X/e/e53c7b1ee7a841842381b18b7b5fc5a7d61c999a.png)

The reload URL can have URL parameters to assign task parameters.

### Method 2: Use the EasyMorph Gateway

The [EasyMorph Gateway](https://help.easymorph.com/doku.php?id=gateway:start) is an optional [separately billed service](https://easymorph.com/buy.html#gateway-pricing) to handle more sophisticated scenarios, where a webhook is sent from a cloud application, or when a webhook is sent using POST or another method with a request body (payload).

For more details, read: [How to configure a connection to EasyMorph Gateway](https://community.easymorph.com/t/how-to-configure-a-connection-to-easymorph-gateway/2945)

### Method 3: Use a custom job queue

Use a custom API endpoint to receive a request and put it into a job queue (the queue can be a database table, or a dataset, or a file, or [Shared memory](https://community.easymorph.com/t/preview-shared-memory/2892)) and quickly return HTTP 200 OK. The queue can contain, for instance, a list of file paths to process. Every new request appends a new line to the job queue.

Schedule a Server task to check the job queue, pick a job from it, and process it asynchronously. Handling a custom job queue can be a non-trivial task because you would have to ensure that the same job isn't processed twice or remains in the queue if the task fails.

### See also

> [@8 ways to trigger a Server task remotely](https://community.easymorph.com/t/8-ways-to-trigger-a-server-task-remotely/3652):
>
> Here is the full list of all possible ways to trigger a task on EasyMorph Server: Use the [ems-cmd utility](https://github.com/easymorph/server-cmd) from the command-line (cross-platform) Use the "Reload webhook" URL in the task settings (will be replaced with custom API endpoints in v5.3) Use the [Server .NET SDK](https://github.com/easymorph/server-sdk) in a .NET application Use the Server's REST API from any application that has network connectivity with the Server Use the ["EasyMorph Server command" action](https://help.easymorph.com/doku.php?id=transformations:morphservercommand) in an EasyMorph workflow (the free edition is supported too) By sendi…

---

<div class="post-metadata">

**Author:** ![ckononenko](https://community.easymorph.com/user_avatar/community.easymorph.com/ckononenko/32/7044_2.png) [@ckononenko](https://community.easymorph.com/u/ckononenko)\
**Post date:** [May 17, 2023, 10:10am UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/26 "2023-05-17T10:10:22Z")

</div>

Also, you could move long-running processes into one or more EasyMorph tasks. In the API endpoint project, parse and validate the incoming request and then call the EasyMorph task in the fire-and-forget mode.  
Remember to set the Simultaneous runs to Unlimited and enable the Retry task on failure.  
However, using the EasyMorph Webhook gateway or a separate queue will be more robust.

 ![image](https://community.easymorph.com/uploads/default/original/2X/c/c855bdae7e23dbddd77780de6e53826a1cb9aaf9.png)  
 ![image](https://community.easymorph.com/uploads/default/original/2X/d/d9b54718ff68697bb21215509c418641e46d9532.png)

---

<div class="post-metadata">

**Author:** ![cgr-stez](https://community.easymorph.com/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@cgr-stez](https://community.easymorph.com/u/cgr-stez)\
**Post date:** [May 17, 2023, 12:38pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/27 "2023-05-17T12:38:50Z")

</div>

Thanks a lot, it's the solution i looking for.

---

<div class="post-metadata">

**Author:** ![Shaheed\_Fazal](https://community.easymorph.com/user_avatar/community.easymorph.com/shaheed_fazal/32/1241_2.png) [@Shaheed\_Fazal](https://community.easymorph.com/u/Shaheed_Fazal)\
**Post date:** [December 19, 2023, 11:10pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/28 "2023-12-19T23:10:37Z")

</div>

I want to call the API from an external  
Cloud based application that supports web request. Has anyone achieved this? Any idea on how to do it? I appreciate there are security concerns also so any advice would be appreciated.

---

<div class="post-metadata">

**Author:** ![dgudkov](https://community.easymorph.com/user_avatar/community.easymorph.com/dgudkov/32/5_2.png) [@dgudkov](https://community.easymorph.com/u/dgudkov)\
**Post date:** [December 19, 2023, 11:35pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/29 "2023-12-19T23:35:30Z")

</div>

You can create a VPN or HTTP tunnel to your EasyMorph Server but that requires good network security skills.

Instead, consider making the cloud application send a cloud webhook through [EasyMorph Gateway](https://help.easymorph.com/doku.php?id=gateway:start) that will trigger a Server task that will _push_ the necessary data into the cloud application. So it's a "push" integration schema rather than "pull".

---

<div class="post-metadata">

**Author:** ![dgudkov](https://community.easymorph.com/user_avatar/community.easymorph.com/dgudkov/32/5_2.png) [@dgudkov](https://community.easymorph.com/u/dgudkov)\
**Post date:** [August 25, 2026, 8:30pm UTC](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231/30 "2026-08-25T20:30:08Z")

</div>

A post was split to a new topic: [API endpoint timeout](https://community.easymorph.com/t/api-endpoint-timeout/6776)

[Previous page](https://community.easymorph.com/t/how-to-create-api-endpoints-without-coding/4231.md?page=1)
