Introduction
Sweep&Go - Open API description
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
Access token
API endpoints for generating and getting authentication token
Get Webhook URLs
This endpoint returns API token and urls.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/token_generate/access_tokens" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_TOKEN" \
--data "{
\"organization_id\": \"2\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/token_generate/access_tokens"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
};
let body = {
"organization_id": "2"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/token_generate/access_tokens';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer YOUR_TOKEN',
],
'json' => [
'organization_id' => '2',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/token_generate/access_tokens'
payload = {
"organization_id": "2"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{{
"token":"************************************************************XLtm",
"webhooks_url":"https:\/\/console.log"
"enabled_events":"client:client_onboarding_onetime,client:client_recurring_employee_portal"
}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Generate API token
This endpoint is use for generate API token.
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/token_generate/access_token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_TOKEN" \
--data "{
\"organization_id\": 2,
\"webhooks_url\": \"https:\\/\\/console.log\",
\"enabled_events\": null,
\"description\": \"You can enter here description for endpoint\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/token_generate/access_token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
};
let body = {
"organization_id": 2,
"webhooks_url": "https:\/\/console.log",
"enabled_events": null,
"description": "You can enter here description for endpoint"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/token_generate/access_token';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer YOUR_TOKEN',
],
'json' => [
'organization_id' => 2,
'webhooks_url' => 'https://console.log',
'enabled_events' => null,
'description' => 'You can enter here description for endpoint',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/token_generate/access_token'
payload = {
"organization_id": 2,
"webhooks_url": "https:\/\/console.log",
"enabled_events": null,
"description": "You can enter here description for endpoint"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{"token":"lrLxIj3PmNkSKdsFdTYYrfLFSungwVl4vXUk9alQo3Zu6cCGpslCGfHI9k2wXLtm", '_id'=> 12}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get API token after generated
This endpoint returns API token and events.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/token_generate/access_token/ullam" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_TOKEN"
const url = new URL(
"https://openapi.sweepandgo.com/api/token_generate/access_token/ullam"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/token_generate/access_token/ullam';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer YOUR_TOKEN',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/token_generate/access_token/ullam'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"token":lrLxIj3PmNkSKdsFdTYYrfLFSungwVl4vXUk9alQo3Zu6cCGpslCGfHI9k2wXLtm"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete API token endpoint
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/token_generate/access_token/est/delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_TOKEN"
const url = new URL(
"https://openapi.sweepandgo.com/api/token_generate/access_token/est/delete"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/token_generate/access_token/est/delete';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer YOUR_TOKEN',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/token_generate/access_token/est/delete'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"success": "success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tests
API endpoints for health check of API
Health check for API
This endpoint is api status health check
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/health" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_TOKEN"
const url = new URL(
"https://openapi.sweepandgo.com/api/health"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/health';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer YOUR_TOKEN',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/health'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"status": "OK",
"version": "v1"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Test webhooks locally
requires authentication
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/test" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/test"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/test';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/test'
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": "test"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Test API method for v1 endpoints - does not do anything, just returns what it received and triggers test webhooks.
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/welcome" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/welcome"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/welcome';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/welcome'
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"errors": [
"API key is not valid"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Test API method for v2 endpoints - didn't do anything, just returns what it received.
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/welcome" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/welcome"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/welcome';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/welcome'
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"errors": [
"API key is not valid"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Clients list
API endpoints for getting clients
Get active clients
requires authentication
This endpoint retuns all active clients with pagination.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/clients/active?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/clients/active"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/clients/active';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/clients/active'
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"client": "rcl_MTPQPRUUUY7G",
"status": "active",
"type": "employee_portal",
"email": "demo@mail.com",
"first_name": "John",
"last_name": "Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": null,
"cell_phone": 2344328676,
"subscription_names": "2w-3d,Deodorising",
"one_time_client": false,
"channel": "sms",
"on_the_way": true,
"completed": true,
"off_schedule": false,
"tracking_field": "utm_campaign=blog_post &utm_medium=social&utm_source=facebook",
"service_days": "Monday",
"assigned_to": "Alissa Doe",
"cleanup_frequency": "once_a_week",
}
],
"paginate": {
"total": 1,
"count": 1,
"per_page": 10,
"current_page": 1,
"total_pages": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get active clients with no active subscription
requires authentication
This endpoint returns all active clients with no active subscription and pagination.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/clients/active_no_subscription?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": \"sequi\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/clients/active_no_subscription"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": "sequi"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/clients/active_no_subscription';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
'json' => [
'organization_id' => 'sequi',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/clients/active_no_subscription'
payload = {
"organization_id": "sequi"
}
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"data": [
{
"client": "rcl_MTPQPRUUUY7G",
"status": "active",
"type": "employee_portal",
"email": "demo@mail.com",
"first_name": "John",
"last_name": "Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": null,
"cell_phone": 2344328676,
"channel": "sms",
"on_the_way": true,
"completed": true,
"off_schedule": false,
"subscription_names": "2w-3d,Deodorising",
"one_time_client": false,
"tracking_field": "utm_campaign=blog_post &utm_medium=social&utm_source=facebook",
"service_days": "Monday",
"assigned_to": "Alissa Doe",
"cleanup_frequency": "once_a_week",
}
],
"paginate": {
"total": 1,
"count": 1,
"per_page": 10,
"current_page": 1,
"total_pages": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get inactive clients
requires authentication
This endpoint returns all inactive clients for specific page of results.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/clients/inactive?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/clients/inactive"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/clients/inactive';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/clients/inactive'
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"client": "rcl_MTPQPRUUUY7G",
"status": "inactive",
"type": "employee_portal",
"email": "demo@mail.com",
"first_name": "John",
"last_name": "Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": null,
"cell_phone": 2344328676,
"channel": "sms",
"on_the_way": true,
"completed": true,
"off_schedule": false,
"subscription_names": "",
"one_time_client": false,
"tracking_field": "utm_campaign=blog_post &utm_medium=social&utm_source=facebook",
"service_days": "Monday",
"assigned_to": "Alissa Doe",
"cleanup_frequency": "once_a_week",
}
],
"paginate": {
"total": 1,
"count": 1,
"per_page": 10,
"current_page": 1,
"total_pages": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get payments and client details
requires authentication
Get all payments for specific client and client details.
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/clients/client_details" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"client\": \"rcl_MTPQPRUUUY7G\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/clients/client_details"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"client": "rcl_MTPQPRUUUY7G"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/clients/client_details';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'client' => 'rcl_MTPQPRUUUY7G',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/clients/client_details'
payload = {
"client": "rcl_MTPQPRUUUY7G"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{"client": "rcl_MTPQPRUUUY7G",
"status": "active",
"type": "employee_portal",
"email": "demo@mail.com",
"first_name": "John",
"last_name": "Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": 2344328656,
"cell_phone": 2344328676,
"channel": "sms",
"on_the_way": true,
"completed": true,
"off_schedule": false,
"tracking_field": "utm_campaign=blog_post &utm_medium=social&utm_source=facebook",
"service_days": "Monday",
"assigned_to": "Alissa Doe",
"cleanup_frequency": "once_a_week",
"sum_payments": 10.00,
"payments": {
{
"id": 1049219,
"date": "2024-05-01",
"amount": 139.43,
"tip_amount": "5.00",
"status": "succeeded",
"type": "credit_card",
"description": "Payment for invoice(s) 199-66362-240501-2-1294170",
"created_at": "2024-05-01 11:19:38"
},
{
"id": 1048709,
"date": "2024-05-01",
"amount": 139.43,
"tip_amount": "0.00",
"status": "failed",
"type": "credit_card",
"description": "Payment for invoice(s) 199-66362-240501-2-1294170",
"created_at": "2024-05-01 11:11:13"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search client
requires authentication
Search client by email to get client details.
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/clients/client_search" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john@doe.com\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/clients/client_search"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john@doe.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/clients/client_search';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'john@doe.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/clients/client_search'
payload = {
"email": "john@doe.com"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{"client": "rcl_MTPQPRUUUY7G",
"status": "active",
"type": "employee_portal",
"email": "john@doe.com",
"first_name": "John",
"last_name": "Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": 2344328656,
"cell_phone": 2344328676,
"channel": "sms",
"on_the_way": true,
"completed": true,
"off_schedule": false,
"tracking_field": "utm_campaign=blog_post &utm_medium=social&utm_source=facebook",
"service_days": "Monday",
"assigned_to": "Alissa Doe",
"cleanup_frequency": "once_a_week",
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Onboarding new clients
API endpoints for onboarding new clients
Onboarding new client within Sweep&Go application
requires authentication
This endpoint is used for new client registration within Sweep&Go application
Example request:
curl --request PUT \
"https://openapi.sweepandgo.com/api/v1/residential/onboarding" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"zip_code\": 12110,
\"number_of_dogs\": 2,
\"last_time_yard_was_thoroughly_cleaned\": \"one_week\",
\"clean_up_frequency\": \"once_a_week\",
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"mail@email.com\",
\"home_address\": \"1494 Ben Street\",
\"city\": \"Latham\",
\"state\": \"TX\",
\"home_phone_number\": \"7897666790\",
\"cell_phone_number\": \"9897633690\",
\"initial_cleanup_required\": true,
\"cleanup_notification_type\": \"completed,on_the_way,completed\",
\"cleanup_notification_channel\": \"sms\",
\"how_heard_about_us\": \"social_media\",
\"how_heard_answer\": \"Facebook\",
\"additional_comment\": \"Please clean my yard.\",
\"credit_card_token\": \"tok_5678967890678 or 678987678909876\",
\"name_on_card\": \"John Doe\",
\"cvv\": \"112\",
\"postal\": \"28301\",
\"expiry\": \"0924\",
\"dog_name\": [
\"Max\",
\"Oskar\"
],
\"safe_dog\": [
\"yes\",
\"no\"
],
\"dog_breed\": [
\"Poodle\",
\"Bulldog\"
],
\"dog_comment\": [
\"nice and kind\",
\"very aggressive\"
],
\"areas_to_clean\": \"Front Yard, Back Yard\",
\"gated_community\": \"67890\",
\"gate_location\": \"left\",
\"gate_code\": \"1234\",
\"tracking_field\": \"utm_campaign=blog_post&utm_medium=social&utm_source=facebook\",
\"cross_sells\": [
1,
2,
5
]
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/residential/onboarding"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"zip_code": 12110,
"number_of_dogs": 2,
"last_time_yard_was_thoroughly_cleaned": "one_week",
"clean_up_frequency": "once_a_week",
"first_name": "John",
"last_name": "Doe",
"email": "mail@email.com",
"home_address": "1494 Ben Street",
"city": "Latham",
"state": "TX",
"home_phone_number": "7897666790",
"cell_phone_number": "9897633690",
"initial_cleanup_required": true,
"cleanup_notification_type": "completed,on_the_way,completed",
"cleanup_notification_channel": "sms",
"how_heard_about_us": "social_media",
"how_heard_answer": "Facebook",
"additional_comment": "Please clean my yard.",
"credit_card_token": "tok_5678967890678 or 678987678909876",
"name_on_card": "John Doe",
"cvv": "112",
"postal": "28301",
"expiry": "0924",
"dog_name": [
"Max",
"Oskar"
],
"safe_dog": [
"yes",
"no"
],
"dog_breed": [
"Poodle",
"Bulldog"
],
"dog_comment": [
"nice and kind",
"very aggressive"
],
"areas_to_clean": "Front Yard, Back Yard",
"gated_community": "67890",
"gate_location": "left",
"gate_code": "1234",
"tracking_field": "utm_campaign=blog_post&utm_medium=social&utm_source=facebook",
"cross_sells": [
1,
2,
5
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/residential/onboarding';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'zip_code' => 12110,
'number_of_dogs' => 2,
'last_time_yard_was_thoroughly_cleaned' => 'one_week',
'clean_up_frequency' => 'once_a_week',
'first_name' => 'John',
'last_name' => 'Doe',
'email' => 'mail@email.com',
'home_address' => '1494 Ben Street',
'city' => 'Latham',
'state' => 'TX',
'home_phone_number' => '7897666790',
'cell_phone_number' => '9897633690',
'initial_cleanup_required' => true,
'cleanup_notification_type' => 'completed,on_the_way,completed',
'cleanup_notification_channel' => 'sms',
'how_heard_about_us' => 'social_media',
'how_heard_answer' => 'Facebook',
'additional_comment' => 'Please clean my yard.',
'credit_card_token' => 'tok_5678967890678 or 678987678909876',
'name_on_card' => 'John Doe',
'cvv' => '112',
'postal' => '28301',
'expiry' => '0924',
'dog_name' => [
'Max',
'Oskar',
],
'safe_dog' => [
'yes',
'no',
],
'dog_breed' => [
'Poodle',
'Bulldog',
],
'dog_comment' => [
'nice and kind',
'very aggressive',
],
'areas_to_clean' => 'Front Yard, Back Yard',
'gated_community' => '67890',
'gate_location' => 'left',
'gate_code' => '1234',
'tracking_field' => 'utm_campaign=blog_post&utm_medium=social&utm_source=facebook',
'cross_sells' => [
1,
2,
5,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/residential/onboarding'
payload = {
"zip_code": 12110,
"number_of_dogs": 2,
"last_time_yard_was_thoroughly_cleaned": "one_week",
"clean_up_frequency": "once_a_week",
"first_name": "John",
"last_name": "Doe",
"email": "mail@email.com",
"home_address": "1494 Ben Street",
"city": "Latham",
"state": "TX",
"home_phone_number": "7897666790",
"cell_phone_number": "9897633690",
"initial_cleanup_required": true,
"cleanup_notification_type": "completed,on_the_way,completed",
"cleanup_notification_channel": "sms",
"how_heard_about_us": "social_media",
"how_heard_answer": "Facebook",
"additional_comment": "Please clean my yard.",
"credit_card_token": "tok_5678967890678 or 678987678909876",
"name_on_card": "John Doe",
"cvv": "112",
"postal": "28301",
"expiry": "0924",
"dog_name": [
"Max",
"Oskar"
],
"safe_dog": [
"yes",
"no"
],
"dog_breed": [
"Poodle",
"Bulldog"
],
"dog_comment": [
"nice and kind",
"very aggressive"
],
"areas_to_clean": "Front Yard, Back Yard",
"gated_community": "67890",
"gate_location": "left",
"gate_code": "1234",
"tracking_field": "utm_campaign=blog_post&utm_medium=social&utm_source=facebook",
"cross_sells": [
1,
2,
5
]
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"success": "success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Leads list
API endpoints for getting leads
Get all Leads
requires authentication
This endpoint returns all leads with pagination.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/leads/list?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": \"ipsa\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/leads/list"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": "ipsa"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/leads/list';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
'json' => [
'organization_id' => 'ipsa',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/leads/list'
payload = {
"organization_id": "ipsa"
}
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"data": [
{
"lead": "rld_MTPQPRUUUY7G",
"status": "active",
"type": "onboarding_form",
"email": "demo@mail.com",
"name": "John Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": null,
"cell_phone": 2344328676,
}
],
"paginate": {
"total": 1,
"count": 1,
"per_page": 10,
"current_page": 1,
"total_pages": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Out of area leads
requires authentication
This endpoint returns all leads who are Out of area with pagination
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/leads/out_of_service?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/leads/out_of_service"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/leads/out_of_service';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/leads/out_of_service'
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"lead": "rld_MTPQPRUUUY7G",
"status": "lead",
"type": "out_of_area",
"email": "demo@mail.com",
"name": "John Doe",
"address": "3289 Summit Street",
"zip_code": "52801",
"home_phone": null,
"cell_phone": 2344328676,
}
],
"paginate": {
"total": 1,
"count": 1,
"per_page": 10,
"current_page": 1,
"total_pages": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Dispatch Board
API endpoints for getting list of jobs
Dispatch Board
requires authentication
This endpoint returns jobs list for a selected date - Dispatch Board for selected date.
If returned id is bigger than zero that means that the job is already dispatched. If it’s zero, it means that job is not dispatched.
Job status can be: pending(1), completed(2), skipped(3), missed(4), started(5) and dispatched(6)
Job type can be: custom, initial, one_time, reclean and recurring
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/dispatch_board/jobs_for_date?date=2022-03-28" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date\": \"2024-11-19\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/dispatch_board/jobs_for_date"
);
const params = {
"date": "2022-03-28",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date": "2024-11-19"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/dispatch_board/jobs_for_date';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'date' => '2022-03-28',
],
'json' => [
'date' => '2024-11-19',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/dispatch_board/jobs_for_date'
payload = {
"date": "2024-11-19"
}
params = {
'date': '2022-03-28',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": 0,
"client_location_id": 2603,
"client_id": null,
"commercial_location_id": 142,
"commercial_client_id": 84,
"pricing_plan_name": "Pet waste stations",
"commercial": 1,
"full_name": "Little Lambs Foundation for Kids",
"address": "1011 W 400 N",
"city": "Logan",
"zip": "84321",
"state_name": "Utah",
"clean_up_frequency": "1xW",
"count_cross_sells": 1,
"assigned_to_name": "Bart Cage",
"assigned_to_id": 265,
"estimate_time": "00:15",
"type": "recurring",
"end_time": null,
"start_time": null,
"status_id": 1,
"status_name": "pending",
"duration": "-",
"gate_code": null,
"gated_community": null,
"lat": 41.7389868,
"lng": -111.860119,
"number_of_dogs": null,
"safe_dogs": null,
"home_phone": "5678904567",
"cell_phone": "4567845678",
"email": "demo@demo.com"
},
{
"id": 0,
"client_location_id": 2726,
"client_id": 1580,
"commercial_location_id": null,
"commercial_client_id": null,
"pricing_plan_name": "Regular Plan",
"commercial": 0,
"full_name": "Cara Deen",
"address": "625 South 100 West",
"city": "Garland",
"zip": "84312",
"state_name": "Utah",
"clean_up_frequency": "two_times_a_week",
"count_cross_sells": 0,
"assigned_to_name": "Richard Dawson",
"assigned_to_id": 258,
"estimate_time": "00:15",
"type": "recurring",
"end_time": null,
"start_time": null,
"status_id": 1,
"status_name": "pending",
"duration": "-",
"gate_code": null,
"gated_community": null,
"lat": 41.7344582,
"lng": -112.1634671,
"number_of_dogs": 2,
"safe_dogs": "",
"home_phone": "5678904567",
"cell_phone": "4567845678",
"email": "demo@demo.com"
},
{
"id": 156608,
"client_location_id": 2325,
"type": "recurring",
"organization_id": 158,
"client_id": null,
"full_name": "Community Garden",
"address": "468 1/2 S 200 W",
"city": "Logan",
"zip": "84321",
"state_name": "Utah",
"assigned_to_id": 265,
"assigned_to_name": "Bart Cage",
"end_time": null,
"start_time": null,
"status_id": 6,
"lat": 41.7228185,
"lng": -111.8397648,
"estimate_time": "00:15",
"job_image": null,
"image_for_client": null,
"note": null,
"note_for_client": null,
"order": 1,
"arrival": 4,
"distance": "3.00",
"skip_reason_title": null,
"gate_code": null,
"count_cross_sells": 1,
"number_of_dogs": null,
"safe_dogs": null,
"gated_community": null,
"commercial": 1,
"work_areas": null,
"commercial_client_id": 76,
"commercial_location_id": 127,
"start_lat": null,
"start_lng": null,
"start_distance": null,
"clean_up_frequency": null,
"end_lat": null,
"end_lng": null,
"end_distance": null,
"skip_lat": null,
"skip_lng": null,
"skip_distance": null,
"status_name": "dispatched",
"duration": "-",
"home_phone": "5678904567",
"cell_phone": "4567845678",
"email": "demo@demo.com"
},
{
"id": 156890,
"client_location_id": 2578,
"type": "custom",
"organization_id": 158,
"client_id": 1567,
"full_name": "Carolina Wozniacki",
"address": "149 W 300 N",
"city": "Logan",
"zip": "84321",
"state_name": "Utah - UT",
"assigned_to_id": 246,
"assigned_to_name": "Ena Adamz",
"end_time": "2022-03-29 08:24:07",
"start_time": "2022-03-29 08:22:08",
"status_id": 2,
"lat": 41.7374576,
"lng": -111.8385534,
"estimate_time": "00:15",
"job_image": null,
"image_for_client": null,
"note": "",
"note_for_client": "",
"order": 5,
"arrival": null,
"distance": null,
"skip_reason_title": null,
"gate_code": null,
"count_cross_sells": 0,
"number_of_dogs": 1,
"safe_dogs": "",
"gated_community": null,
"commercial": 0,
"work_areas": null,
"commercial_client_id": null,
"commercial_location_id": null,
"start_lat": null,
"start_lng": null,
"start_distance": null,
"clean_up_frequency": "bi_weekly",
"end_lat": null,
"end_lng": null,
"end_distance": null,
"skip_lat": null,
"skip_lng": null,
"skip_distance": null,
"status_name": "completed",
"duration": "00:21",
"home_phone": "5678904567",
"cell_phone": "4567845678",
"email": "demo@demo.com"
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Access Token checker
API endpoint for check Access tokens
Show access token details
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/check_token?token=vUcSxeEgTgg0I65bPEgKBqU0AjBRz8cy61843egzKkI3hAcYJ9ErNYe2MTEoIEWo" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"ratione\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/check_token"
);
const params = {
"token": "vUcSxeEgTgg0I65bPEgKBqU0AjBRz8cy61843egzKkI3hAcYJ9ErNYe2MTEoIEWo",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "ratione"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/check_token';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'token' => 'vUcSxeEgTgg0I65bPEgKBqU0AjBRz8cy61843egzKkI3hAcYJ9ErNYe2MTEoIEWo',
],
'json' => [
'token' => 'ratione',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/check_token'
payload = {
"token": "ratione"
}
params = {
'token': 'vUcSxeEgTgg0I65bPEgKBqU0AjBRz8cy61843egzKkI3hAcYJ9ErNYe2MTEoIEWo',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{"webhooks_url": "https://google.com", "_id":1, "enabled_events":'["lead:in_service_area","lead:delete","client:changed_status"]'}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Multi organization zip code check
API endpoint for multi organization zip code check
Calculate nearest organization and organizations who serve specific zip area
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/check_zip_code_multi_organizations?zip_code=12345&slugs=slugs%5B%5D%3D50-scoopers-mvizn%26slugs%5B%5D%3Dena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"zip_code\": \"54179\",
\"slugs\": \"fuga\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/check_zip_code_multi_organizations"
);
const params = {
"zip_code": "12345",
"slugs": "slugs[]=50-scoopers-mvizn&slugs[]=ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"zip_code": "54179",
"slugs": "fuga"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/check_zip_code_multi_organizations';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'zip_code' => '12345',
'slugs' => 'slugs[]=50-scoopers-mvizn&slugs[]=ena-adamz-midmc',
],
'json' => [
'zip_code' => '54179',
'slugs' => 'fuga',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/check_zip_code_multi_organizations'
payload = {
"zip_code": "54179",
"slugs": "fuga"
}
params = {
'zip_code': '12345',
'slugs': 'slugs[]=50-scoopers-mvizn&slugs[]=ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"url": "https://google.com",
"slug": "ena-adamz-midmc",
"out_of_area": 1
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check is organization premium - only premium organization have access to Wordpress plugin
requires authentication
Onboarding form
The client onboarding workflow helps dog owners get a free quote and sign up for service on their own.
Each account has its own unique and prebuilt client onboarding url which you may want to use as a reference. To obtain your url, please visit Employee portal > Settings > Client Onboarding > View in Browser then copy the url shown in the address bar. The form should look like this: https://client.sweepandgo.com/unique-slug/register
Get price, tax percent, cross sells, cross sells placement, custom price and more
requires authentication
If the zip code is within the account service area, you may obtain price based on account (organization) slug, number of dogs, zip code, cleanup frequency and the last time the yard was cleaned.
If the initial and one time cleanup prices do not depend on the number of dogs and when the yard was cleaned last time, the account may set custom prices.
The regular price can be displayed per cleanup or as fixed price per default billing interval. To choose how to display your pricing on your client onboarding form go to Employee Portal > Settings > Billing > Onboarding Price display section > Edit > select price display option > Save.
The account special offers and important disclaimers may be highlighted within the price display. To update them go to Settings > Client Onboarding > Callouts & Disclaimers.
If the account offers additional services such as odor eliminator or kitty litter exchange you may also display those prices on the client onboarding form. To add additional services, go to Employee Portal > Settings > Additional Services > Add New.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/price_registration_form?organization=ena-adamz-midmc&last_time_yard_was_thoroughly_cleaned=one_week&clean_up_frequency=two_times_a_week&number_of_dogs=2&zip_code=12345" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"temporibus\",
\"number_of_dogs\": \"quia\",
\"zip_code\": \"79762\",
\"clean_up_frequency\": \"neque\",
\"last_time_yard_was_thoroughly_cleaned\": \"hic\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/price_registration_form"
);
const params = {
"organization": "ena-adamz-midmc",
"last_time_yard_was_thoroughly_cleaned": "one_week",
"clean_up_frequency": "two_times_a_week",
"number_of_dogs": "2",
"zip_code": "12345",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "temporibus",
"number_of_dogs": "quia",
"zip_code": "79762",
"clean_up_frequency": "neque",
"last_time_yard_was_thoroughly_cleaned": "hic"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/price_registration_form';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'ena-adamz-midmc',
'last_time_yard_was_thoroughly_cleaned' => 'one_week',
'clean_up_frequency' => 'two_times_a_week',
'number_of_dogs' => '2',
'zip_code' => '12345',
],
'json' => [
'organization' => 'temporibus',
'number_of_dogs' => 'quia',
'zip_code' => '79762',
'clean_up_frequency' => 'neque',
'last_time_yard_was_thoroughly_cleaned' => 'hic',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/price_registration_form'
payload = {
"organization": "temporibus",
"number_of_dogs": "quia",
"zip_code": "79762",
"clean_up_frequency": "neque",
"last_time_yard_was_thoroughly_cleaned": "hic"
}
params = {
'organization': 'ena-adamz-midmc',
'last_time_yard_was_thoroughly_cleaned': 'one_week',
'clean_up_frequency': 'two_times_a_week',
'number_of_dogs': '2',
'zip_code': '12345',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"price": {
"value": "85.00",
"category": "prepaid",
"billing_interval": "monthly"
},
"tax_percent": "10.250",
"tax_percent_others": 1,
"pricing_zip_code_type": "regular",
"custom_price": {
"short_description": "title",
"long_description": "desc"
},
"show_price_options": {
"show_per_cleanup": 1,
"show_per_billing_interval": 1,
"default_billing_interval": "monthly"
},
"cross_sells": [
{
"id": 1,
"name": "Deodorizing",
"description": "Eliminate poop and urine smell!",
"unit": "Monthly Treatment (up to 1/4 acre)",
"unit_amount": "39.99",
"taxable": 1,
"service": 1,
"tax_percent": "0.000",
"count_clients": 28
},
{
"id": 2,
"name": "Kitty Litter Exchange",
"description": null,
"unit": "1",
"unit_amount": "20.00",
"taxable": 0,
"service": 0,
"tax_percent": "0.000",
"count_clients": 2
},
{
"id": 3,
"name": "Dog Walking",
"description": null,
"unit": "15",
"unit_amount": "30.00",
"taxable": 0,
"service": 1,
"tax_percent": "0.000",
"count_clients": 1
},
{
"id": 4,
"name": "Yard Size XL",
"description": "3/4 Acre Surcharge",
"unit": "Monthly",
"unit_amount": "30.00",
"taxable": 0,
"service": 1,
"tax_percent": "0.000",
"count_clients": 0
},
{
"id": 5,
"name": "Yard Size XXL",
"description": "1 Acre Surcharge",
"unit": "Monthly",
"unit_amount": "40.00",
"taxable": 0,
"service": 1,
"tax_percent": "0.000",
"count_clients": 0
},
{
"id": 6,
"name": "Front Yard",
"description": null,
"unit": "Weekly",
"unit_amount": "10.00",
"taxable": 0,
"service": 1,
"tax_percent": "0.000",
"count_clients": 1
},
{
"id": 7,
"name": "Front Yard",
"description": null,
"unit": "Monthly",
"unit_amount": "40.00",
"taxable": 0,
"service": 1,
"tax_percent": "0.000",
"count_clients": 0
}
],
"cross_sells_placement": "top"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get onboarding form filed, terms of use, callout and disclaimer and list of states
requires authentication
The length of the signup form and the fields to fill out depend on your signup form settings.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/service_registration_form?organization=ena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"veritatis\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/service_registration_form"
);
const params = {
"organization": "ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "veritatis"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/service_registration_form';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'ena-adamz-midmc',
],
'json' => [
'organization' => 'veritatis',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/service_registration_form'
payload = {
"organization": "veritatis"
}
params = {
'organization': 'ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"form_fields": [
{
"value": "",
"required": false,
"step": 2,
"frontend_name": "Coupon Code",
"frontend_type": "textfield",
"slug": "coupon_code",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "1,2,3,4,5",
"required": true,
"step": 2,
"frontend_name": "Number Of Dogs",
"frontend_type": "select_single",
"slug": "number_of_dogs",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "two_times_a_week,once_a_week,bi_weekly,once_a_month,one_time",
"required": true,
"step": 2,
"frontend_name": "Cleanup Frequency",
"frontend_type": "select_single",
"slug": "clean_up_frequency",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "one_week,two_weeks,three_weeks,one_month,two_months,3-4_months,5-6_months,7-9_months,10+_months",
"required": true,
"step": 2,
"frontend_name": "Last Time Yard Was Thoroughly Cleaned",
"frontend_type": "select_single",
"slug": "last_time_yard_was_thoroughly_cleaned",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "First Name",
"frontend_type": "textfield",
"slug": "first_name",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Last Name",
"frontend_type": "textfield",
"slug": "last_name",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Your Email Address",
"frontend_type": "textfield",
"slug": "your_email_address",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Confirm Email Address",
"frontend_type": "textfield",
"slug": "confirm_email_address",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": false,
"step": 3,
"frontend_name": "Home Phone Number",
"frontend_type": "textfield",
"slug": "home_phone_number",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Cell Phone Number",
"frontend_type": "textfield",
"slug": "cell_phone_number",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Home Address",
"frontend_type": "textfield",
"slug": "home_address",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "City",
"frontend_type": "textfield",
"slug": "city",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "State",
"frontend_type": "state",
"slug": "state_province_region",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": false,
"step": 3,
"frontend_name": "Dogs Name",
"frontend_type": "textfield",
"slug": "dogs_name",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "yes,no",
"required": true,
"step": 3,
"frontend_name": "Is it safe for us to be in the yard with your dog?",
"frontend_type": "select_single",
"slug": "safe_dog",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": false,
"step": 3,
"frontend_name": "Breed",
"frontend_type": "textfield",
"slug": "dogs_breeds",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": false,
"frontend_description": ""
},
{
"value": "",
"required": false,
"step": 3,
"frontend_name": "Additional comment for dog",
"frontend_type": "textfield",
"slug": "comments_for_each_dog",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "left,right,alley,no_gate,other",
"required": true,
"step": 3,
"frontend_name": "Where is your gate located?",
"frontend_type": "select_single",
"slug": "gate_location",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": true,
"step": 3,
"frontend_name": "Gated community",
"frontend_type": "textfield",
"slug": "gated_community",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": "Please insert the code if any"
},
{
"value": "Back Yard,Flower Beds,Deck/Patio,Dog Run,Garden,Side Yard (Left),Side Yard (Right),Area with Mulch,Area with Rocks",
"required": true,
"step": 3,
"frontend_name": "Which areas should we clean?",
"frontend_type": "select_multiple",
"slug": "areas_to_clean",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "off_schedule,on_the_way,completed",
"required": true,
"step": 3,
"frontend_name": "Cleanup Notifications",
"frontend_type": "select_multiple",
"slug": "cleanup_notification_type",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": "What cleanup message would you like to receive?"
},
{
"value": "email,sms,call",
"required": false,
"step": 3,
"frontend_name": "Notification Type",
"frontend_type": "select_single",
"slug": "cleanup_notification_chanel",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": "How would you like to receive cleanup notifications?"
},
{
"value": "credit_card,check",
"required": true,
"step": 3,
"frontend_name": "Please select your payment method",
"frontend_type": "select_single",
"slug": "payment_method",
"organization_form_id": 289,
"one_time": false,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "search_engine,previous_client,referred_by_family_or_friend,directory_listing,social_media,vehicle_signage,radio_ad,local_event,gift_certificate,other",
"required": true,
"step": 3,
"frontend_name": "Please tell us how you heard about us",
"frontend_type": "select_single",
"slug": "how_heard_about_us",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
},
{
"value": "",
"required": false,
"step": 3,
"frontend_name": "Additional comments",
"frontend_type": "textfield",
"slug": "additional_comment",
"organization_form_id": 289,
"one_time": true,
"recurring": true,
"show": true,
"frontend_description": ""
}
],
"terms_of_use": {
"content": "<p>As the client, you are responsible for maintaining safe access into and out of the yard (if we are unable to clean due to access, you will be charged for that cleanup), immediate notification of any changes in the number of pets and prompt payment of balances due.</p><p><br></p><p>Inclement weather may make it hazardous or impossible to make a scheduled cleanup. In this event, we will be responsible for servicing your yard as soon as possible.</p><p><br></p><p>If for any reason your pet(s) will not be using the yard for a certain period (i.e. vacation, illness, etc.) and you do not wish to be charged for an unnecessary visit(s), please let us know in advance to pause the service. </p><p><br></p><p>We assume no liabilities for damages to yards, gates, pets or other properties.</p><p><br></p><p>Fees and Promotions are subject to change at any time. In this rare circumstance, you will be notified at least two (2) weeks prior to any changes.</p><p><br></p><p>Either party may terminate service (in writing) at any time. Unpaid balances are due within 15 days.</p><p><br></p><p>By initiating service, both parties agree to the above terms and responsibilities.</p>"
},
"callout_disclaimer": {
"callout": "Our Best Rate! You and Your pet will love our service.",
"disclaimer": "We do not offer refunds for missed cleanups due to holidays, snow days or thunderstorms - Displayed pricing is for an average backyard up to an 1/8 of an acre - A valid credit card on file is required for recurring service."
},
"states": [
{
"id": 1,
"name": "Alabama - AL"
},
{
"id": 2,
"name": "Alaska - AK"
},
{
"id": 3,
"name": "Arizona - AZ"
},
{
"id": 4,
"name": "Arkansas - AR"
},
{
"id": 5,
"name": "California - CA"
},
{
"id": 6,
"name": "Colorado - CO"
},
{
"id": 7,
"name": "Connecticut - CT"
},
{
"id": 8,
"name": "Delaware - DE"
},
{
"id": 9,
"name": "District of Columbia - DC"
},
{
"id": 10,
"name": "Florida - FL"
},
{
"id": 11,
"name": "Georgia - GA"
},
{
"id": 12,
"name": "Hawaii - HI"
},
{
"id": 13,
"name": "Idaho - ID"
},
{
"id": 14,
"name": "Illinois - IL"
},
{
"id": 15,
"name": "Indiana - IN"
},
{
"id": 16,
"name": "Iowa - IA"
},
{
"id": 17,
"name": "Kansas - KS"
},
{
"id": 18,
"name": "Kentucky - KY"
},
{
"id": 19,
"name": "Louisiana - LA"
},
{
"id": 20,
"name": "Maine - ME"
},
{
"id": 33,
"name": "Maryland - MD"
},
{
"id": 34,
"name": "Massachusetts - MA"
},
{
"id": 35,
"name": "Michigan - MI"
},
{
"id": 36,
"name": "Minnesota - MN"
},
{
"id": 37,
"name": "Mississippi - MS"
},
{
"id": 38,
"name": "Missouri - MO"
},
{
"id": 21,
"name": "Montana - MT"
},
{
"id": 22,
"name": "Nebraska - NE"
},
{
"id": 23,
"name": "Nevada - NV"
},
{
"id": 24,
"name": "New Hampshire - NH"
},
{
"id": 25,
"name": "New Jersey - NJ"
},
{
"id": 26,
"name": "New Mexico - NM"
},
{
"id": 27,
"name": "New York - NY"
},
{
"id": 28,
"name": "North Carolina - NC"
},
{
"id": 29,
"name": "North Dakota - ND"
},
{
"id": 30,
"name": "Ohio - OH"
},
{
"id": 31,
"name": "Oklahoma - OK"
},
{
"id": 32,
"name": "Oregon - OR"
},
{
"id": 39,
"name": "Pennsylvania - PA"
},
{
"id": 40,
"name": "Rhode Island - RI"
},
{
"id": 41,
"name": "South Carolina - SC"
},
{
"id": 42,
"name": "South Dakota - SD"
},
{
"id": 43,
"name": "Tennessee - TN"
},
{
"id": 44,
"name": "Texas - TX"
},
{
"id": 45,
"name": "Utah - UT"
},
{
"id": 46,
"name": "Vermont - VT"
},
{
"id": 47,
"name": "Virginia - VA"
},
{
"id": 48,
"name": "Washington - WA"
},
{
"id": 49,
"name": "West Virginia - WV"
},
{
"id": 50,
"name": "Wisconsin - WI"
},
{
"id": 51,
"name": "Wyoming - WY"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get organization branding info
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/organization_data?organization=magnificent-scoopers-777-p4ycx" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"eum\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/organization_data"
);
const params = {
"organization": "magnificent-scoopers-777-p4ycx",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "eum"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/organization_data';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'magnificent-scoopers-777-p4ycx',
],
'json' => [
'organization' => 'eum',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/organization_data'
payload = {
"organization": "eum"
}
params = {
'organization': 'magnificent-scoopers-777-p4ycx',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{"organization":
{analytic_enabled:1,
branding_color:"#39A597",
business_address:"1502 Morse St",
business_city:"Houston",
business_lat:"29.7521804",
business_lng:"-95.4058215",
business_name:"Magnificent Scoopers 777",
business_phone:"2071459875",
business_state:"Texas",
business_website:"https://www.sweepandgo.com/",
business_zip:"77019",
can_call_company_phone_client_portal:"1",
can_text_company_phone_client_portal:"1",
card_connect_site:null,
charges_enabled:1,
commercial_inventory_tracking:"0",
ga_tracking_id:"null",
logo:"",
organization:"magnificent-scoopers-777-p4ycx",
organization_can_have_onboarding:true,
organization_id:161
organization_name:"Magnificent Scoopers 777",
organization_status:"active",
pay_period:"monthly",
payroll_filter:"years_in_service,revenue,revenue_adjustment,distance,overtime_hours,vacation_hours,tips,reimbursement,deduction,number_of_jobs,number_of_complaints,mileage_rate,base_percentage,fixed_rate",
rating_tipping:"enabled_all"
send_invoice_email:"1",
show_company_address_client_portal:"1",
show_company_email_client_portal:"1",
show_company_phone_client_portal:"1",
show_logo_onboarding:"1",
show_name_onboarding:"0",
show_on_list:"0",
show_payroll_filed_tech:"1",
show_rating_comment_fieldtech:"1",
subscription_package:"Professional",
website:"http://www.superskooopers.com"}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get default onboarding coupon if exists
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find_default?organization=ena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": \"alias\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find_default"
);
const params = {
"organization": "ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": "alias"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find_default';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'ena-adamz-midmc',
],
'json' => [
'organization_id' => 'alias',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find_default'
payload = {
"organization_id": "alias"
}
params = {
'organization': 'ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check coupon code valid
requires authentication
If the account runs any special promos new clients may enter a coupon code. To create promos and coupon codes, go to Employee Portal > Billing > Coupons > New.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find?coupon_id=SPRING&organization=ena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": \"ut\",
\"coupon_id\": \"voluptatem\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find"
);
const params = {
"coupon_id": "SPRING",
"organization": "ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": "ut",
"coupon_id": "voluptatem"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'coupon_id' => 'SPRING',
'organization' => 'ena-adamz-midmc',
],
'json' => [
'organization_id' => 'ut',
'coupon_id' => 'voluptatem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/coupon_find'
payload = {
"organization_id": "ut",
"coupon_id": "voluptatem"
}
params = {
'coupon_id': 'SPRING',
'organization': 'ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"coupon": {
"percent_off": "25.00",
"amount_off": null,
"duration_in_months": 3,
"duration": "repeating",
"coupon_id": "SPRING",
"coupon_name": "Spring Sale NEW"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check organization premium - only premium organization have access to Wordpress plugin
requires authentication
Check if the account is using the highest plan. If not, please ask the account holder to upgrade to the highest plan within Employee Portal > Settings > Subscription Details to gain access to Sweep&Go API.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_client_email_exists?slug=" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"esse\",
\"email\": \"zrowe@example.net\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_client_email_exists"
);
const params = {
"slug": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "esse",
"email": "zrowe@example.net"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_client_email_exists';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'slug' => '',
],
'json' => [
'organization' => 'esse',
'email' => 'zrowe@example.net',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_client_email_exists'
payload = {
"organization": "esse",
"email": "zrowe@example.net"
}
params = {
'slug': '',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"valid": true,
"name": "Ena adamz"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get thank you messages to show up on complete onboarding client
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/thank_you_pages?slug=ena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"slug\": \"voluptatem\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/thank_you_pages"
);
const params = {
"slug": "ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"slug": "voluptatem"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/thank_you_pages';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'slug' => 'ena-adamz-midmc',
],
'json' => [
'slug' => 'voluptatem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/thank_you_pages'
payload = {
"slug": "voluptatem"
}
params = {
'slug': 'ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"thank_you_pages": [
{
"type": "credit_card_sign_up",
"content": "<p>Thank You For Signing Up</p><br><p>We have just sent you an email confirmation and login information to our client portal. We will also contact you to confirm your information and schedule a start date!</p><br>Payment Details:<ul><li>You have enrolled in our subscription payment option.</li><li>By far, the easiest way to pay for services</li><li>Your card will be charged after the completion the initial cleanup.</li><li>We will send you invoices according to your billing option and billing cycle and your card will be auto-debited according to NET terms on your account.</li></ul><br><p>If at any time, you have questions about your service or would like to change your card information or cancel monthly service, please contact us via client portal, email or phone.</p><br><p>Thank you.</p>"
},
{
"type": "check_payment_sign_up",
"content": "<p>Thank You for Signing Up</p><br><p>We have just sent you an email confirmation and login information to our client portal. We will also contact you to confirm your information and schedule a start date!</p><br>Payment Details:<ul><li>You have chosen to pay by check for your services.</li><li>Payment is required for the initial cleanup on completion. Your technician can collect a check at time of cleanup. If you will not be home, please leave a check for the larger amount of the Estimated Initial Cleanup (please see your confirmation email for estimate).</li><li>For regular services, we will email your recurring invoices according to your billing option and cycle, payment is due according to NET terms on your account.</li><li>If you would like to switch to auto pay, please just enter you credit card details within your client portal. </li></ul><br><p>If at any time, you have questions about your service, please contact us via email or phone.</p><br><p>Thank you.</p>"
},
{
"type": "one_time_clean_up",
"content": "<p>Thank you for Requesting a One Time Cleanup</p><br><p>We have just sent you an email confirmation and login information to our client portal. We will also contact you to confirm your information and schedule your cleanup.</p><br><p>Thank you.</p>"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Out of area form fields
requires authentication
If the zip code is not within your service area, your prospect will be asked to fill out a short form so you could research more. After the form is submitted, the account will receive an email with lead information.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form?organization=ena-adamz-midmc" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"excepturi\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form"
);
const params = {
"organization": "ena-adamz-midmc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "excepturi"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'ena-adamz-midmc',
],
'json' => [
'organization' => 'excepturi',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form'
payload = {
"organization": "excepturi"
}
params = {
'organization': 'ena-adamz-midmc',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{{
"form_fields": [
{
"id": 4658,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "zip_code",
"step": 3,
"frontend_name": "Zip code",
"backend_name": "Zip code",
"one_time": true,
"recurring": true,
"show": true,
"required": true,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 27,
"frontend_sort": 27,
"locked_options": false,
"hint": ""
},
{
"id": 4659,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "name",
"step": 3,
"frontend_name": "Name",
"backend_name": "Name",
"one_time": true,
"recurring": true,
"show": true,
"required": true,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 28,
"frontend_sort": 28,
"locked_options": false,
"hint": ""
},
{
"id": 4660,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "email_address",
"step": 3,
"frontend_name": "Email address",
"backend_name": "Email address",
"one_time": true,
"recurring": true,
"show": true,
"required": true,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 29,
"frontend_sort": 29,
"locked_options": false,
"hint": ""
},
{
"id": 4662,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "phone",
"step": 3,
"frontend_name": "Phone number",
"backend_name": "Phone number",
"one_time": true,
"recurring": true,
"show": true,
"required": false,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 30,
"frontend_sort": 30,
"locked_options": false,
"hint": ""
},
{
"id": 4661,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "address",
"step": 3,
"frontend_name": "Address",
"backend_name": "Address",
"one_time": true,
"recurring": true,
"show": true,
"required": true,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 31,
"frontend_sort": 31,
"locked_options": false,
"hint": ""
},
{
"id": 4663,
"organization_form_id": 290,
"frontend_type": "textfield",
"frontend_description": "",
"backend_description": "",
"slug": "comment",
"step": 3,
"frontend_name": "Comment",
"backend_name": "Comment",
"one_time": true,
"recurring": true,
"show": true,
"required": false,
"optional_show": true,
"optional_required": false,
"backend_type": "textfield",
"value": "",
"options": "",
"locked": false,
"backend_sort": 32,
"frontend_sort": 32,
"locked_options": false,
"hint": ""
}
]
}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Submit out of service area leads
requires authentication
Send an email out of service area leads.
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"ena-adamz-midmc\",
\"name\": \"Ena Doe\",
\"address\": \"1502 Morse St\",
\"email_address\": \"ena@doe.com\",
\"zip_code\": \"12345\",
\"comment\": \"Demo comment\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "ena-adamz-midmc",
"name": "Ena Doe",
"address": "1502 Morse St",
"email_address": "ena@doe.com",
"zip_code": "12345",
"comment": "Demo comment"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization' => 'ena-adamz-midmc',
'name' => 'Ena Doe',
'address' => '1502 Morse St',
'email_address' => 'ena@doe.com',
'zip_code' => '12345',
'comment' => 'Demo comment',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/out_of_service_form'
payload = {
"organization": "ena-adamz-midmc",
"name": "Ena Doe",
"address": "1502 Morse St",
"email_address": "ena@doe.com",
"zip_code": "12345",
"comment": "Demo comment"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"success": "success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check zip code exists in your account
requires authentication
To get started you may want to validate that the client zip codes exists in your account or accounts.
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_zip_code_exists?organization=ena-adamz-midmc&value=12345" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": \"quae\",
\"value\": \"aspernatur\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_zip_code_exists"
);
const params = {
"organization": "ena-adamz-midmc",
"value": "12345",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": "quae",
"value": "aspernatur"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_zip_code_exists';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization' => 'ena-adamz-midmc',
'value' => '12345',
],
'json' => [
'organization' => 'quae',
'value' => 'aspernatur',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/client_on_boarding/check_zip_code_exists'
payload = {
"organization": "quae",
"value": "aspernatur"
}
params = {
'organization': 'ena-adamz-midmc',
'value': '12345',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"exists": "not_exists"
}
Example response (200):
{
"exists": "exists"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
One time charge for invoice using credit cards
API endpoints for one-time charges
Check status of invoice
requires authentication
This endpoint is used for check status of invoice
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/one_time_payment/check_invoice?invoice_number=3-3-190207-2-4" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"invoice_number\": \"ut\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/one_time_payment/check_invoice"
);
const params = {
"invoice_number": "3-3-190207-2-4",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"invoice_number": "ut"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/check_invoice';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'invoice_number' => '3-3-190207-2-4',
],
'json' => [
'invoice_number' => 'ut',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/check_invoice'
payload = {
"invoice_number": "ut"
}
params = {
'invoice_number': '3-3-190207-2-4',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"invoice_remaining": "12.23",
"payment_gateway": "fts/stripe/none"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
One time payment using Card point
requires authentication
This endpoint is used for one time payment using Card point
Example request:
curl --request PUT \
"https://openapi.sweepandgo.com/api/v2/one_time_payment/cc_payment" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"invoice_number\": \"3-3-190207-2-4\",
\"amount\": \"67.98\",
\"name_on_card\": \"John Doe\",
\"token\": \"9422925921134242\",
\"cvv\": \"242\",
\"expiry\": \"1223\",
\"postal\": \"12345\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/one_time_payment/cc_payment"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"invoice_number": "3-3-190207-2-4",
"amount": "67.98",
"name_on_card": "John Doe",
"token": "9422925921134242",
"cvv": "242",
"expiry": "1223",
"postal": "12345"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/cc_payment';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'invoice_number' => '3-3-190207-2-4',
'amount' => '67.98',
'name_on_card' => 'John Doe',
'token' => '9422925921134242',
'cvv' => '242',
'expiry' => '1223',
'postal' => '12345',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/cc_payment'
payload = {
"invoice_number": "3-3-190207-2-4",
"amount": "67.98",
"name_on_card": "John Doe",
"token": "9422925921134242",
"cvv": "242",
"expiry": "1223",
"postal": "12345"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"status": "paid"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
One time payment using Stripe
requires authentication
This endpoint is used for one time payment using Stripe
Example request:
curl --request PUT \
"https://openapi.sweepandgo.com/api/v2/one_time_payment/stripe_payment" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"invoice_number\": \"3-3-190207-2-4\",
\"amount\": \"67.98\",
\"name_on_card\": \"John Doe\",
\"token\": \"tok_1E0rfhHLLICwofnx4bUzDZis\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/one_time_payment/stripe_payment"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"invoice_number": "3-3-190207-2-4",
"amount": "67.98",
"name_on_card": "John Doe",
"token": "tok_1E0rfhHLLICwofnx4bUzDZis"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/stripe_payment';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'invoice_number' => '3-3-190207-2-4',
'amount' => '67.98',
'name_on_card' => 'John Doe',
'token' => 'tok_1E0rfhHLLICwofnx4bUzDZis',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/one_time_payment/stripe_payment'
payload = {
"invoice_number": "3-3-190207-2-4",
"amount": "67.98",
"name_on_card": "John Doe",
"token": "tok_1E0rfhHLLICwofnx4bUzDZis"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"status": "paid"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
One time check charges
API endpoints for one-time charges
One time check payment
requires authentication
This endpoint is used for recording one time check payment
Example request:
curl --request PUT \
"https://openapi.sweepandgo.com/api/v1/invoice/one_time" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"invoice_number\": \"3-3-190207-2-4\",
\"reference_number\": \"ref_8798yhjasa\",
\"amount\": \"67.98\",
\"status\": \"successful or failed\",
\"billing_address\": \"635 Go Man Go Dr\",
\"billing_city\": \"Stafford\",
\"billing_state\": \"Texas\",
\"billing_zip\": \"77477\",
\"name\": \"John Doe\",
\"email\": \"mail@mail.com\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/invoice/one_time"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"invoice_number": "3-3-190207-2-4",
"reference_number": "ref_8798yhjasa",
"amount": "67.98",
"status": "successful or failed",
"billing_address": "635 Go Man Go Dr",
"billing_city": "Stafford",
"billing_state": "Texas",
"billing_zip": "77477",
"name": "John Doe",
"email": "mail@mail.com"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/invoice/one_time';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'invoice_number' => '3-3-190207-2-4',
'reference_number' => 'ref_8798yhjasa',
'amount' => '67.98',
'status' => 'successful or failed',
'billing_address' => '635 Go Man Go Dr',
'billing_city' => 'Stafford',
'billing_state' => 'Texas',
'billing_zip' => '77477',
'name' => 'John Doe',
'email' => 'mail@mail.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/invoice/one_time'
payload = {
"invoice_number": "3-3-190207-2-4",
"reference_number": "ref_8798yhjasa",
"amount": "67.98",
"status": "successful or failed",
"billing_address": "635 Go Man Go Dr",
"billing_city": "Stafford",
"billing_state": "Texas",
"billing_zip": "77477",
"name": "John Doe",
"email": "mail@mail.com"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"success": "success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reports
API endpoints for getting list of reports and counts
Total number of dogs
requires authentication
This endpoint returns a number of dogs for all active clients.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/report/count_dogs_for_active_clients" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 2
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/report/count_dogs_for_active_clients"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 2
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/report/count_dogs_for_active_clients';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 2,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/report/count_dogs_for_active_clients'
payload = {
"organization_id": 2
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [{
"dogs_total_active_clients":23
}]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Total active clients
requires authentication
This endpoint returns a number of active clients.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/report/count_active_clients" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 16
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/report/count_active_clients"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/report/count_active_clients';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/report/count_active_clients'
payload = {
"organization_id": 16
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [{
"total_active_clients":23
}]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Total completed jobs
requires authentication
This endpoint returns a number of completed jobs.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/report/jobs_count" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 20
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/report/jobs_count"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 20
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/report/jobs_count';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 20,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/report/jobs_count'
payload = {
"organization_id": 20
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"data": [{
"jobs_count":23
}]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List of staff
requires authentication
This endpoint returns a list of active staff.
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v2/report/staff_select_list" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 3
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/report/staff_select_list"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 3
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/report/staff_select_list';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 3,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/report/staff_select_list'
payload = {
"organization_id": 3
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
Example response (200):
{"data": [{
"id":1,
"name":"John Does",
"email":"john@does.com",
"color":"#87332",
"phone":"789789888",
},{
"id":2,
"name":"John Doe",
"email":"john@doe.com",
"color":"#87332",
"phone":"789789888"
}]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Gift card certificate
API endpoints for getting clients
Send new Gift card certificate
requires authentication
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/gift_card" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"purchaser_name\": \"John Doe\",
\"purchaser_email\": \"jon@doe.com\",
\"purchaser_phone\": \"6789876543\",
\"amount\": \"12.45\",
\"expires\": \"2024-12-23\",
\"bought\": \"2024-11-23\",
\"reference_number\": \"12c45-wa3B\",
\"recipient_name\": \"Jane Doe\",
\"recipient_email\": \"jane@doe.com\",
\"special_note\": \"For your birthday\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/gift_card"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"purchaser_name": "John Doe",
"purchaser_email": "jon@doe.com",
"purchaser_phone": "6789876543",
"amount": "12.45",
"expires": "2024-12-23",
"bought": "2024-11-23",
"reference_number": "12c45-wa3B",
"recipient_name": "Jane Doe",
"recipient_email": "jane@doe.com",
"special_note": "For your birthday"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/gift_card';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'purchaser_name' => 'John Doe',
'purchaser_email' => 'jon@doe.com',
'purchaser_phone' => '6789876543',
'amount' => '12.45',
'expires' => '2024-12-23',
'bought' => '2024-11-23',
'reference_number' => '12c45-wa3B',
'recipient_name' => 'Jane Doe',
'recipient_email' => 'jane@doe.com',
'special_note' => 'For your birthday',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/gift_card'
payload = {
"purchaser_name": "John Doe",
"purchaser_email": "jon@doe.com",
"purchaser_phone": "6789876543",
"amount": "12.45",
"expires": "2024-12-23",
"bought": "2024-11-23",
"reference_number": "12c45-wa3B",
"recipient_name": "Jane Doe",
"recipient_email": "jane@doe.com",
"special_note": "For your birthday"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"success": "success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coupon code
API endpoints for coupon codes
Create coupon for residential subscriptions
requires authentication
Example request:
curl --request POST \
"https://openapi.sweepandgo.com/api/v2/coupon" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"coupon_id\": \"5pr1nG\",
\"name\": \"Spring Season\",
\"coupon_type\": \"amount\",
\"duration\": \"repeating\",
\"percent_off\": \"20\",
\"amount_off\": \"22.51\",
\"redeem_by\": \"2024-12-23\",
\"max_redemptions\": 5,
\"number_of_months\": 2
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v2/coupon"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"coupon_id": "5pr1nG",
"name": "Spring Season",
"coupon_type": "amount",
"duration": "repeating",
"percent_off": "20",
"amount_off": "22.51",
"redeem_by": "2024-12-23",
"max_redemptions": 5,
"number_of_months": 2
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v2/coupon';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'coupon_id' => '5pr1nG',
'name' => 'Spring Season',
'coupon_type' => 'amount',
'duration' => 'repeating',
'percent_off' => '20',
'amount_off' => '22.51',
'redeem_by' => '2024-12-23',
'max_redemptions' => 5,
'number_of_months' => 2,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v2/coupon'
payload = {
"coupon_id": "5pr1nG",
"name": "Spring Season",
"coupon_type": "amount",
"duration": "repeating",
"percent_off": "20",
"amount_off": "22.51",
"redeem_by": "2024-12-23",
"max_redemptions": 5,
"number_of_months": 2
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"success": "success",
"coupon": {
"coupon_id": "UKdJ5C0W",
"name": "UKdJ5C0W"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Webhooks
Webhooks for organization. Here is the list of all webhooks for one organization. You may trigger it at any time to receive a list of all webhook types. Type list of webhooks:
- lead:out_of_service_area
- lead:in_service_area
- lead:delete
- client:changed_status
- client:changed_info
- client:changed_address
- client:client_onboarding_recurring
- client:client_onboarding_onetime
- client:subscription_created
- client:subscription_canceled
- client:invoice_finalized
- client:client_payment_declined
- client:client_payment_accepted
- notification:on_the_way_notification
- notification:off_schedule_notification
- notification:completed_job_notification
- notification:skipped_job_notification
- notification:client_not_assigned
- client:client_assigned
- client:subscription_cancel_requested
- client:notification_settings_changed
- client:reviews_automation
- staff:staff_clock_in
- staff:staff_forgot_to_clock_out
- organization:client_onboarding_form_changed
- organization:cross_sells_changed
- payroll:shift_info
- payroll:tip_info
- payroll:job_complete
List of all webhooks for one organization
requires authentication
Example request:
curl --request GET \
--get "https://openapi.sweepandgo.com/api/v1/webhooks/list?page=2" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/webhooks/list"
);
const params = {
"page": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/webhooks/list';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '2',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/webhooks/list'
params = {
'page': '2',
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"errors": [
"API key is not valid"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Retry one webhook
requires authentication
Example request:
curl --request PUT \
"https://openapi.sweepandgo.com/api/v1/webhooks/retry" \
--header "Authorization: Bearer YOUR_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"e0e03073-a1a3-4f6e-82ff-81dab3772534\"
}"
const url = new URL(
"https://openapi.sweepandgo.com/api/v1/webhooks/retry"
);
const headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "e0e03073-a1a3-4f6e-82ff-81dab3772534"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://openapi.sweepandgo.com/api/v1/webhooks/retry';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer YOUR_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 'e0e03073-a1a3-4f6e-82ff-81dab3772534',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://openapi.sweepandgo.com/api/v1/webhooks/retry'
payload = {
"id": "e0e03073-a1a3-4f6e-82ff-81dab3772534"
}
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"errors": [
"API key is not valid"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.