> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.syncspider.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# When to use Custom API / External API?

## TABLE OF CONTENTS

* [Custom API](#Custom-API)
* [External API](#External-API)
* [Conclusion](#Conclusion)

---

In SyncSpider, one module can be used:

* as a source integration which receives data from that source system
* as a target integration which prepare or push data to the target destination
* or as both source and target.

A user has a choice to set it up to suit their needs.

# Custom API

Custom API allows you to customizes the SyncSpider API and uses it as a storage for data.

In the module, the data is modeled to meet certain expected structure and SyncSpider then exposes a REST service that allows external systems to push and pull data to/from SyncSpider (as storage).

In this case, you can think of SyncSpider just as a storage for data.

Of course, it is much more than that, because a user can then say what should be done using some other integration once the data comes to the storage (e.g. sync data to another system).

# External API

External API allows you to connect every supported SyncSpider module with external API's systems.

You can:

⦁ Define external system API point

⦁ Define the request method

⦁ Define the auth type

⦁ Define the payload to API point

⦁ Define the fields type in schema (Optional)

With the External API a user makes SyncSpider push data to the generic external API.

# Conclusion

When connecting a systems that don't have an existing standard integration modules often the best approach is to do the following:

1.Create a Custom API module that will handle the data pushed from your external API systems

2.Add an External API module that will push the data back to your external API systems.