Pull records from your ERP
Starts pulling records from your connected ERP into Tabs. This is the same pull the Sync button in your dashboard starts. You don’t pass an ERP or an account: Tabs uses the ERP connected to the account your API key belongs to.
What gets pulled
- With no body, every entity type your ERP supports (listed below).
- With
entityTypes, only those types, for example["CUSTOMER", "ITEM"]. Each one must be in your ERP’s list. - For each entity type, the pull fetches records created or changed in your ERP since the last successful pull of that type, going back at least 24 hours. The first pull of a type fetches every record.
- If you have never pulled from your ERP, run one pull with no body before pulling single entity types. Items and customers can’t be saved until the accounts, currencies, departments, locations and ERP settings (
METADATA) they refer to have been pulled.
Entity types each ERP accepts
- QuickBooks:
ACCOUNT,CLASS,DEPARTMENT,ITEM,CUSTOMER,INVOICE,PAYMENT,METADATA - NetSuite:
CURRENCY,ACCOUNT,DEPARTMENT,LOCATION,ITEM,CUSTOMER,INVOICE,PAYMENT,METADATA - Sage Intacct:
ACCOUNT,CLASS,DEPARTMENT,LOCATION,ITEM,CUSTOMER,PROJECT,ADDRESS_CONTACT,INVOICE,PAYMENT,METADATA - Campfire:
METADATA,ACCOUNT,DEPARTMENT,ITEM,CUSTOMER,INVOICE,PAYMENT
Pulling from Rillet isn’t supported.
One pull at a time
Only one pull runs for your account at a time. If a pull is already running, including one started from the dashboard, the request returns 409 and starts nothing. Try again once it finishes.
Checking the result
The pull runs in the background. Poll GET /v3/jobs/{jobId} with the returned jobId. The job’s type is SYNC.
NEWorIN_PROGRESS: the pull hasn’t finished.SUCCESS: the pull finished.results.dataholds totals (createdCount,updatedCount,skippedCount,errorCount,totalCount) and one entry per entity type inresults.data.entities. If one entity type fails, the others still run and the job is stillSUCCESS, so checkresults.data.success, anderroron each entry inresults.data.entities.FAILURE: the pull stopped, or never started. If it started,results.data.errorsays why. NetSuite accounts connected with OAuth 2.0 getFAILUREuntil the one-time subsidiary setup in the dashboard is finished.
Authentication
Request
Entity types to pull. Leave out to pull every type your ERP supports. Each type must be one your connected ERP accepts; any other returns 400 and starts nothing.
- QuickBooks:
ACCOUNT,CLASS,DEPARTMENT,ITEM,CUSTOMER,INVOICE,PAYMENT,METADATA - NetSuite:
CURRENCY,ACCOUNT,DEPARTMENT,LOCATION,ITEM,CUSTOMER,INVOICE,PAYMENT,METADATA - Sage Intacct:
ACCOUNT,CLASS,DEPARTMENT,LOCATION,ITEM,CUSTOMER,PROJECT,ADDRESS_CONTACT,INVOICE,PAYMENT,METADATA - Campfire:
METADATA,ACCOUNT,DEPARTMENT,ITEM,CUSTOMER,INVOICE,PAYMENT
Response
Boolean with true=success, false=failure
Plain-text description of the result

