Grid Squid (1.0.0)

Download OpenAPI description
Languages
Servers
Mock server
https://gridsquid.redocly.app/_mock/openapi/
https://{yourDomain}.gridsquid.io/

Companies

group of users pointing to a specific CRM instance

Operations

Users

individual associated with a company in Grid Squid. Each user must authenticate with their individual CRM credentials (e.g., username and password or access tokens) to access CRM data, objects, and activities. Users share access to mappings and bulk imports created within their company.

Operations

Mappings

customizable workflow designed to extract, transform, and prepare CRM data for integration with other applications. Users can specify the CRM object (e.g., leads, opportunities) and define the fields required by the target system. Advanced transformations, such as validations, filtering and data quality checks, can be implemented using custom JavaScript. Mappings are created within a company and shared among all its users. The data retrieved through a mapping respects the access level and permissions of the individual user in the CRM.

Operations

Events

Notifications of changes occurring on the CRM side.

Operations

Records - Transformed

Manage CRM records applying your own mappings

Operations

Records - Raw

Manage CRM records without applying your own mappings

Operations

Bulks

retrieval of large volumes of data from a CRM for a specific object.

Operations

Create bulk job

Request

Path
user_idstring(uuid)(User Id)required
Bodyapplication/jsonrequired
badger_object_namestring(Badger Object Name)required
Example: "customers"
whereWhere (string) or Where (null)(Where)
Any of:
string(Where)
limitLimit (integer) or Limit (null)(Limit)
Any of:
integer(Limit)
webhook_urlWebhook Url (string) or Webhook Url (null)(Webhook Url)
Any of:
string(Webhook Url)
curl -i -X POST \
  'https://gridsquid.redocly.app/_mock/openapi/users/{user_id}/bulks' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "badger_object_name": "customers",
    "where": "string",
    "limit": 0,
    "webhook_url": "string"
  }'

Responses

Successful Response

Bodyapplication/json
company_idstring(uuid)(Company Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
mapping_idstring(uuid)(Mapping Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
requester_user_idstring(uuid)(Requester User Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
provider_idstring(Provider Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
webhook_urlWebhook Url (string) or Webhook Url (null)(Webhook Url)required
Any of:
string(Webhook Url)
idstring(uuid)(Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
file_pathstring(File Path)required
Example: "https://hosting.com/file.json"
raw_file_pathstring(Raw File Path)required
Example: "https://hosting.com/file.json"
created_atstring(date-time)(Created At)required
Example: "2025-01-14T14:15:22Z"
updated_atstring(date-time)(Updated At)required
Example: "2025-01-14T14:15:22Z"
urlUrl (string) or Url (null)(Url)
Any of:
string(Url)
raw_urlRaw Url (string) or Raw Url (null)(Raw Url)
Any of:
string(Raw Url)
Response
application/json
{ "company_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "mapping_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "requester_user_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "provider_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "webhook_url": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "file_path": "https://hosting.com/file.json", "raw_file_path": "https://hosting.com/file.json", "created_at": "2025-01-14T14:15:22Z", "updated_at": "2025-01-14T14:15:22Z", "url": "string", "raw_url": "string" }

Get job status

Request

Path
user_idstring(uuid)(User Id)required
bulk_job_idstring(uuid)(Bulk Job Id)required
curl -i -X GET \
  'https://gridsquid.redocly.app/_mock/openapi/users/{user_id}/bulks/{bulk_job_id}/status' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
bulk_job_idstring(uuid)(Bulk Job Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
statestring(BulkState)required

Represents the various states of a bulk operation

Enum"PENDING""PROVIDER_IN_PROGRESS""PROVIDER_FINISHED""MAPPING""ABORTED""COMPLETED""FAILED"
Example: "PENDING"
number_records_processedinteger(Number Records Processed)required
Example: 67523675
error_messagestring(Error Message)
Default ""
Example: "Failed"
Response
application/json
{ "bulk_job_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "state": "PENDING", "number_records_processed": 67523675, "error_message": "Failed" }

Get job result

Request

Path
user_idstring(uuid)(User Id)required
bulk_job_idstring(uuid)(Bulk Job Id)required
curl -i -X GET \
  'https://gridsquid.redocly.app/_mock/openapi/users/{user_id}/bulks/{bulk_job_id}/result' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
company_idstring(uuid)(Company Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
mapping_idstring(uuid)(Mapping Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
requester_user_idstring(uuid)(Requester User Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
provider_idstring(Provider Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
webhook_urlWebhook Url (string) or Webhook Url (null)(Webhook Url)required
Any of:
string(Webhook Url)
idstring(uuid)(Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
file_pathstring(File Path)required
Example: "https://hosting.com/file.json"
raw_file_pathstring(Raw File Path)required
Example: "https://hosting.com/file.json"
created_atstring(date-time)(Created At)required
Example: "2025-01-14T14:15:22Z"
updated_atstring(date-time)(Updated At)required
Example: "2025-01-14T14:15:22Z"
urlUrl (string) or Url (null)(Url)
Any of:
string(Url)
raw_urlRaw Url (string) or Raw Url (null)(Raw Url)
Any of:
string(Raw Url)
Response
application/json
{ "company_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "mapping_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "requester_user_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "provider_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "webhook_url": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "file_path": "https://hosting.com/file.json", "raw_file_path": "https://hosting.com/file.json", "created_at": "2025-01-14T14:15:22Z", "updated_at": "2025-01-14T14:15:22Z", "url": "string", "raw_url": "string" }

Get bulk jobs

Request

Path
company_idstring(uuid)(Company Id)required
curl -i -X GET \
  'https://gridsquid.redocly.app/_mock/openapi/companies/{company_id}/bulks' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
itemsArray of objects(Items)required
items[].​company_idstring(uuid)(Company Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​mapping_idstring(uuid)(Mapping Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​requester_user_idstring(uuid)(Requester User Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​provider_idstring(Provider Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​webhook_urlWebhook Url (string) or Webhook Url (null)(Webhook Url)required
Any of:
string(Webhook Url)
items[].​idstring(uuid)(Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​file_pathstring(File Path)required
Example: "https://hosting.com/file.json"
items[].​raw_file_pathstring(Raw File Path)required
Example: "https://hosting.com/file.json"
items[].​created_atstring(date-time)(Created At)required
Example: "2025-01-14T14:15:22Z"
items[].​updated_atstring(date-time)(Updated At)required
Example: "2025-01-14T14:15:22Z"
items[].​urlUrl (string) or Url (null)(Url)
Any of:
string(Url)
items[].​raw_urlRaw Url (string) or Raw Url (null)(Raw Url)
Any of:
string(Raw Url)
Response
application/json
{ "items": [ {} ] }

Get bulk status jobs

Request

Path
company_idstring(uuid)(Company Id)required
curl -i -X GET \
  'https://gridsquid.redocly.app/_mock/openapi/companies/{company_id}/status' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
itemsArray of objects(Items)required
items[].​bulk_job_idstring(uuid)(Bulk Job Id)required
Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
items[].​statestring(BulkState)required

Represents the various states of a bulk operation

Enum"PENDING""PROVIDER_IN_PROGRESS""PROVIDER_FINISHED""MAPPING""ABORTED""COMPLETED""FAILED"
Example: "PENDING"
items[].​number_records_processedinteger(Number Records Processed)required
Example: 67523675
items[].​error_messagestring(Error Message)
Default ""
Example: "Failed"
Response
application/json
{ "items": [ {} ] }

Authentication

Connect your users to access the CRM on their behalf.

Operations

Mass Update

Update several records with just one API call using your mappings.

Operations

Metadata

Retrieve CRM metadata such as Objects, fields and users.

Operations

Netsuite Integration Credentials

Authenticate your Netsuite users.

Operations

Insightly Integration Credentials

Authenticate your Insightly users.

Operations

Netsuite Script Deployment

Set up your Netsuite Scripts to be run on mappings.

Operations