Difference between a pull and an API call [2025]

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.

User PULL and Scheduled PULL

  • User Pull.- A pull that is initiated by the user by entering their credentials into the widget or into the available service (on-demand).

  • Scheduled Pull.- A pull that is initiated programmatically by Syncfy. This occurs once a day unless the client opts out of this automatic service.

How is a PULL generated?

There are four endpoints that initiate a data extraction:
  • POST to /v1/credentials/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.
  • POST to /v1/jobs/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:/pulls - This endpoint can be used for two use cases:
    1. To update the key or password, you only have to enter a new key (this is for when the credential is no longer valid at the source and the key needs to be updated)
    2. To execute the credential, the Pull is executed with the previously stored credentials.

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

When is a pull counted?

  • A “pull” is counted every time an execution is performed to download information from the source, including, but not limited to, bank transactions and documents, which we refer to as a successful pull.
  • A successful pull is one that successfully downloads information from the source or does not end in a connection error attributable to the source or to Syncfy.
  • A failed pull means that the extraction of the information was not successful due to errors at the source or due to errors attributable to Syncfy, as determined by Syncfy.
  • Errors attributable to the end user (400-series errors), such as a 401 error, are considered a successful pull and are counted toward consumption.
  • A pull includes the download of up to 3,000 banking transactions, 500 invoices (fiscal), or 1 document (fiscal). If there are more than 3,000 transactions, 500 invoices, or 1 document, an additional pull is counted until the total number of invoices, documents, or transactions has been extracted/completed.
  • By default, a pull downloads all available (visible) information in the source system.