FAQ

Where is the API hosted?

All Tulip API services are hosted securely in a cloud environment supporting secure web API transport mechanisms.

Is my information secure?

Data in Tulip follows strict PCI and GDPR compliance guidelines for hosting and transmission.

How do I update records?

Users of the Tulip API have options to upload and update records, in bulk or directly. Either the core API, or the Bulk Load API and is supported. The core Tulip API is being updated to include bulk support and operate as the single source for inbound integrations.

Bulk API provides the ability to update records en masse. However, to update records, you must first ensure that they actually exist — by either using GET requests or, alternatively, by noting and maintaining your data records' Tulip IDs that are generated upon record creation. Currently Tulip checks the existence of unique keys per record, and if the target record (the one to be updated) is not identified by a record ID, skips it.

For updating or deleting single records, use Tulip’s Direct API service.

What HTTP methods are supported?

GET, PUT, POST and (in isolated cases) DELETE methods are supported. PATCH support is coming soon.

Can I update a single record?

Yes, you can use Tulip’s Core API for updating single records.

Can I delete a record?

Yes, you can use Tulip’s Core API service for deleting records.

What is the difference between Server-to-Server API and Bulk Load API?

The Tulip core API leverages a fully RESTful API with best in class performance and robustness. The core API is allows for both bulk and singleton operations and will serve as the primary integration layer into Tulip going forward. Entities are currently being built into the core API, with Customers complete, catalog retrieval complete, and stores, employees, orders and catalog updates under way.

Another major difference: Bulk API does not support the DELETE method, whereas the Direct API does. This is particularly useful when, after the initial upload of business data, clients wish to update a mapping (such as a Client Book association between a customer and a store associate).

Clients can call a DELETE method on an existing relationship and create a new one using a PUT with the Server-to-Server API endpoint.

What is the right size of the Bulk API request payload?

We recommend sending records in page sizes of 500 to 1000. You can send multiple requests concurrently; however, they may interfere with each other after a certain point, so staggering batches is recommended. See Best Practices for using Tulip’s Bulk API Service for details.

Why do I have to format the API payload as a newline delimited JSON format?

For performance reasons, JSON batches must internally be organized as NDJSON formats.
See Bulk API Request Format for details.

What is the throughput rate of the API requests?

Depending on the type and size of request (such as Price vs Customer) payloads, the throughput ranges from 1000 - 5000 records per minute.

How many records can be added to a single DAL request?

DAL requests have a max payload size as described above, but no record limit. However, it should be noted that the file importer which uses DAL has a max size of 30-50k records. If you are using the file importer, therefore, you should ensure you add no more than 30-50k records per request.

Does Tulip Support UPSERTS?

Using the latest version of the Tulip Bulk API, clients may always invoke the PUT endpoint and Tulip will perform a check internally and create a new record if the External ID doesn’t exist in Tulip. However in order for this to succeed, all existing resources in Tulip must be unique on the Client’s external ID. PATCH support is being built into the core API.