Difference between a pull and an API call [2023]

What is an API CALL?

An "API call" (Application Programming Interface call) is a request made by a program or application to an Application Programming Interface (API) to access a specific service or resource.

When a program needs to access the functionality or data provided by an API, it makes a call to that API. This involves sending a request with specific parameters over a communication protocol (such as HTTP) to the API’s server.

An API call can be a request to read, write, modify, or delete information, depending on the capabilities and permissions provided by the API in question. The result of the API call can be a response containing the requested data or information about the status of the operation performed.

When is a PULL generated?

Every time there is a need to initiate a data extraction from the source/information origin. This can be due to a request from the end user who enters their credentials to perform a synchronization, or in the case where the credential exists (and is authorized) from a call to an endpoint.

How is a PULL generated?

There are four endpoints that initiate a data extraction:
  • POST to /v1/credentials - In this endpoint, credentials need to be provided and it’s typically called by the end user, but it can also be from backend to backend.
  • POST to /v1/pulls - In this endpoint, credentials need to be provided, and it’s typically called by the end user, but it can also be from backend to backend. Unlike /v1/credentials, this one is used to retrieve information that doesn’t have a structure of accounts and transactions, such as documents.
  • PUT to /v1/credentials/:id_credential - In this endpoint, you only need to enter a new key (this is for when the credential is no longer valid at the source, and the password needs to be updated).
  • PUT to /v1/credentials/:id_credential/sync - In this endpoint, you don’t need to enter the credentials; the Pull is executed with the credentials previously stored.

NOTE: You can also use POST to /v1/credentials to update the password, but you also need to provide the username.

When is a pull counted?

  • A ‘pull’ is counted each time a successful API call is made to download information from the source, including but not limited to banking transactions and documents.

  • A successful pull is one that successfully downloads the information from the source.

  • A failed pull means that the extraction of information was unsuccessful due to errors in the source, errors in user access credentials, or errors attributable to Syncfy, as determined by Syncfy.

  • A pull includes the download of up to 5,000 transactions or documents of the same type. If there are more than 5,000 documents of the same type in a pull, an additional pull will be counted until the total number of documents is extracted/completed.

  • By default, a pull downloads all available (visible) information in the source system.