Fruitask API
  • Welcome!
  • Quick Start
  • Reference
    • Limitation
    • Response Code
    • Webhook
    • Resources
Powered by GitBook
On this page
  • Authentication
  • Endpoints
  • Lets start your first request
  • Create Row
  • Update Row
  • Update Cell
  • Get all rows
  • Get Row
  • Get Quota
  • Get Collaborators
  • Delete Row

Quick Start

It provides guidance and examples to assist you in integrating our API seamlessly into your projects.

PreviousWelcome!NextLimitation

Last updated 2 months ago

Authentication

To ensure secure access to our API, all requests must be authenticated using API keys. Any request made without including an API key will result in an error response.

Please make sure to include your unique API key in the request headers or as a query parameter for every API call. This authentication mechanism helps protect your data and ensures that only authorized requests are processed.

Keep your API key confidential and do not share it with unauthorized individuals. If you suspect any misuse or need assistance regarding API key management, please contact our support team.

You can find your api_keys key in your , you just easily copy and paste it. It will serve as your authentication to access data from your projects. Make sure not to share it with anyone.

Endpoints

Tip: We highly recommend using POSTMAN for testing and interacting with our API during the development of your projects. POSTMAN provides a user-friendly interface that allows you to send API requests, inspect responses, and manage your API testing workflow efficiently. It's a valuable tool to ensure smooth integration and debugging of your API interactions.

Lets start your first request

Create Row

POST https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API

You can create a new row to your project with values or empty row. To create empty row just leave the body request blank.

Note: Use raw body request type instead of form-data or x-www-urlencoded-form.

Path Parameters

Name
Type
Description

api_key*

String

YOUR_API

Headers

Name
Type
Description

Content-Type

String

application/json

Request Body

Name
Type
Description

{"Name":"John Doe","Info":"Hello Fruitask","Status":"Completed"}

JSON

Value

See sample create row code snippets.

curl -X POST 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API' \
     -H 'Content-Type: application/json' \
     -d '{
        "name": "John Doe",
        "email": "john@example.com",
        "age": 30
     }'
// API endpoint URL
$url = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API';

// Request payload
$data = array(
    'name' => 'John Doe',
    'email' => 'john@example.com',
    'age' => 30
);

// Set headers
$headers = array(
    'Content-Type: application/json'
);

// Initialize cURL session
$curl = curl_init();

// Set cURL options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// Execute the request
$response = curl_exec($curl);

// Check for errors
if (curl_errno($curl)) {
    $error = curl_error($curl);
    // Handle the error
    echo "cURL Error: " . $error;
} else {
    // Process the response
    echo $response;
}

// Close the cURL session
curl_close($curl);
const url = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API';

// Request payload
const data = {
    name: 'John Doe',
    email: 'john@example.com',
    age: 30
};

// Set headers
const headers = {
    'Content-Type': 'application/json'
};

// Make the API request
fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
    // Process the response
    console.log(data);
})
.catch(error => {
    // Handle any errors
    console.error(error);
});
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class APIClient {
    public static void main(String[] args) throws IOException {
        String apiUrl = "https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API";
        
        // Request payload
        String payload = "{\"name\":\"John Doe\",\"email\":\"john@example.com\",\"age\":30}";
        
        URL url = new URL(apiUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        
        // Set request method
        connection.setRequestMethod("POST");
        
        // Set request headers
        connection.setRequestProperty("Content-Type", "application/json");
        
        // Enable output and set request body
        connection.setDoOutput(true);
        try (OutputStream outputStream = connection.getOutputStream()) {
            outputStream.write(payload.getBytes());
        }
        
        // Get response
        int responseCode = connection.getResponseCode();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        
        // Close connection
        connection.disconnect();
        
        // Process the response
        System.out.println("Response Code: " + responseCode);
        System.out.println("Response Body: " + response.toString());
    
import requests
import json

# API endpoint URL
url = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API'

# Request payload
data = {
    'name': 'John Doe',
    'email': 'john@example.com',
    'age': 30
}

# Set headers
headers = {
    'Content-Type': 'application/json'
}

# Make the POST request
response = requests.post(url, json=data, headers=headers)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")

Update Row

PUT https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API

You can update a row values to your project using row id.

Path Parameters

Name
Type
Description

id*

Integer

Query Parameters

Name
Type
Description

api_key*

String

YOUR_API

Headers

Name
Type
Description

Content-type*

String

application/json

Request Body

Name
Type
Description

{"Name":"John Doe","Info":"Hello Fruitask","Status":"On-going"}*

JSON

Updated value

curl -X PUT 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API' \
     -H 'Content-Type: application/json' \
     -d '{
        "name": "John Doe",
        "email": "john@example.com",
        "age": 30
     }'
// API endpoint URL
$url = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

// Request payload
$data = array(
    'name' => 'John Doe',
    'email' => 'john@example.com',
    'age' => 30
);

// Set headers
$headers = array(
    'Content-Type: application/json'
);

// Initialize cURL session
$curl = curl_init();

// Set cURL options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// Execute the request
$response = curl_exec($curl);

// Check for errors
if (curl_errno($curl)) {
    $error = curl_error($curl);
    // Handle the error
    echo "cURL Error: " . $error;
} else {
    // Process the response
    echo $response;
}

// Close the cURL session
curl_close($curl);
const url = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

// Request payload
const data = {
    name: 'John Doe',
    email: 'john@example.com',
    age: 30
};

// Set headers
const headers = {
    'Content-Type': 'application/json'
};

// Make the API request
fetch(url, {
    method: 'PUT',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
    // Process the response
    console.log(data);
})
.catch(error => {
    // Handle any errors
    console.error(error);
});
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class APIClient {
    public static void main(String[] args) throws IOException {
        String apiUrl = "https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API";

        // Request payload
        String payload = "{\"name\":\"John Doe\",\"email\":\"john@example.com\",\"age\":30}";

        URL url = new URL(apiUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        // Set request method
        connection.setRequestMethod("PUT");

        // Set request headers
        connection.setRequestProperty("Content-Type", "application/json");

        // Enable output and set request body
        connection.setDoOutput(true);
        try (OutputStream outputStream = connection.getOutputStream()) {
            outputStream.write(payload.getBytes());
        }

        // Get response
        int responseCode = connection.getResponseCode();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }

        // Close connection
        connection.disconnect();

        // Process the response
        System.out.println("Response Code: " + responseCode);
        System.out.println("Response Body: " + response.toString());
    }
}
import requests
import json

# API endpoint URL
url = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API'

# Request payload
data = {
    'name': 'John Doe',
    'email': 'john@example.com',
    'age': 30
}

# Set headers
headers = {
    'Content-Type': 'application/json'
}

# Make the PUT request
response = requests.put(url, json=data, headers=headers)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")

Update Cell

PUT https://api.fruitask.com/v3/tables/{token}/update/{id}/?api_key=YOUR_API

Path Parameters

Name
Type
Description

token*

String

Project token

id*

integer

Your row id position

Query Parameters

Name
Type
Description

api_key*

String

YOUR_API

Request Body

Name
Type
Description

{"column_name":"Info", "value": "Hey there!" }*

JSON

Your new value and the column

{
    "success": true,
    "result": "Cell updated successfully.",
    "row": 7
}

See sample update row code snippets.

Get all rows

GET https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API

You can pull all rows from your project.

Originally the value is encrypted, but once it fetch with your API keys, it should auto decrypt the values. See sample of encrypted values. Don't worry if live API request it is decrypted.

Query Parameters

Name
Type
Description

api_key*

String

{
    "success": true,
    "result": [
        {
            "Name": "VzhWY25kcFJNSW1DYnJVPQ",
            "Info": "Uk45TWxkNEZEWkNmZlBoNW9rc0cvbWVpQncyTXQxMWhpZ0Y1TTNoOHVMcXM3T1QvS2VRPQ",
            "Status": "Vk1WRGlOc1VEWnlW",
            "Sample": "Zjk1YWlNUkxWdGFYYWExOXQxZ2U4RDJvQmdlRHUwOW1pZ2RqZlhKcStieTg3dTdwY3ZIQ2s3UEpoZWM9"
        },
        {
            "Name": "Uk10RGlOc1VXYjJRYjdrPQ",
            "Info": "UXRwQ2w5WVZXWmlmZi9oeHAxQVp1MmVqREVyY3MwWnZqbE56UFhwNy9hYTk",
            "Status": "Ujg5QW5ONGZIZz09",
            "Sample": "Zjk1YWlNUkxWdGFYYWExOXQxZ2U4RDJvQmdlRHUwOW1pZ2RqZlhKcStieTg3dTdwY3VEQ3llM1hqQT09"
        },
        {
            "Name": "V3RNTHlvY2xISlNCZDdsZ3BnPT0",
            "Info": "",
            "Status": "",
            "Sample": ""
        },
        {
            "Name": "",
            "Info": "",
            "Status": "",
            "Sample": ""
        }
    ]
}
curl -X GET 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API'
// API endpoint URL
$url = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=Your_Key';

// Set headers
$headers = array(
    'Content-Type: application/json'
);

// Initialize cURL session
$curl = curl_init();

// Set cURL options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// Execute the request
$response = curl_exec($curl);

// Check for errors
if (curl_errno($curl)) {
    $error = curl_error($curl);
    // Handle the error
    echo "cURL Error: " . $error;
} else {
    // Process the response
    echo $response;
}

// Close the cURL session
curl_close($curl);
const apiUrl = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API_KEY';

fetch(apiUrl)
  .then(response => response.json())
  .then(data => {
    console.log(data); // Do something with the retrieved data
  })
  .catch(error => {
    console.error('Error:', error);
  });
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class APIClient {
    public static void main(String[] args) {
        String apiUrl = "https://api.fruitask.com/v3/tables/{token}/rows/?api_key=YOUR_API_KEY";

        try {
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // Set request method to GET
            connection.setRequestMethod("GET");

            // Get response code
            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            // Read response
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            // Print response
            System.out.println("Response: " + response.toString());

            // Close the connection
            connection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import requests

# API endpoint URL
url = 'https://api.fruitask.com/v3/tables/{token}/rows/?api_key=Your_Key'

# Set headers
headers = {
    'Content-Type': 'application/json'
}

# Make the GET request
response = requests.get(url, headers=headers)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")

Get Row

GET https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API

You can pull a specific row data with row id.

Path Parameters

Name
Type
Description

id*

integer

Row position from your project

Query Parameters

Name
Type
Description

api_key*

String

YOUR_API

{
    "success": true,
    "result": {
        "Name": "Uk10RGlOc1VXYjJRYjdrPQ",
        "Info": "UXRwQ2w5WVZXWmlmZi9oeHAxQVp1MmVqREVyY3MwWnZqbE56UFhwNy9hYTk",
        "Status": "Ujg5QW5ONGZIZz09",
        "Sample": "Zjk1YWlNUkxWdGFYYWExOXQxZ2U4RDJvQmdlRHUwOW1pZ2RqZlhKcStieTg3dTdwY3VEQ3llM1hqQT09"
    }
}
{
    "success": true,
    "result": null
}
curl -X GET 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API'
$apiUrl = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    echo $response; // This will output the response data
}

curl_close($ch);
const apiUrl = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

fetch(apiUrl)
  .then(response => response.text())
  .then(data => {
    console.log(data); // Output the response data
  })
  .catch(error => {
    console.error('Error:', error);
  });
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpURLConnectionExample {
    public static void main(String[] args) {
        String apiUrl = "https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API";

        try {
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("GET");

            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            System.out.println("Response: " + response.toString());

            connection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import requests

# API endpoint URL
api_url = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API'

# Make the GET request
response = requests.get(api_url)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")

Get Quota

GET https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API

Get workplace/table limit. Remember a single project is limited to 60KB overall data counts per letters.

Path Parameters

Name
Type
Description

token*

String

Project token

Query Parameters

Name
Type
Description

api_key*

String

Account API key

{
    "success": true,
    "result": {
        "used_limit": 21,
        "max_limit": 60,
        "by_percentage": 32
    }
}
curl -X GET 'https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API'
$apiUrl = 'https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    echo $response; // This will output the response data
}

curl_close($ch);
const apiUrl = 'https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API';

fetch(apiUrl)
  .then(response => response.json())
  .then(data => {
    console.log(data); // Output the response data
  })
  .catch(error => {
    console.error('Error:', error);
  });
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpURLConnectionExample {
    public static void main(String[] args) {
        String apiUrl = "https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API";

        try {
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("GET");

            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            System.out.println("Response: " + response.toString());

            connection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import requests

# API endpoint URL
api_url = 'https://api.fruitask.com/v3/quota/{token}/?api_key=YOUR_API'

# Make the GET request
response = requests.get(api_url)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")

Get Collaborators

GET https://api.fruitask.com/v3/users/{token}/?api_key=YOUR_API

Path Parameters

Name
Type
Description

token*

String

YOUR PROJECT TOKEN

Query Parameters

Name
Type
Description

api_key*

String

YOUR API KEY

Delete Row

DELETE https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API

You can delete a specific row using row id.

Path Parameters

Name
Type
Description

id*

Integer

Row position

Query Parameters

Name
Type
Description

api_key*

String

YOUR_API

{
    "success": true,
    "result": "Row deleted successfully.",
    "row": 17
}
curl -X DELETE 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API'
$apiUrl = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

$ch = curl_init();

// Set the URL
curl_setopt($ch, CURLOPT_URL, $apiUrl);

// Set the custom HTTP method to DELETE
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');

// Return the response instead of outputting it directly
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute the request and capture the response
$response = curl_exec($ch);

// Check for errors
if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    echo $response; // Output the response data
}

// Close the cURL session
curl_close($ch);
const apiUrl = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API';

fetch(apiUrl, {
  method: 'DELETE', // Specify the DELETE method
})
  .then(response => response.json())
  .then(data => {
    console.log(data); // Output the response data
  })
  .catch(error => {
    console.error('Error:', error);
  });
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpURLConnectionExample {
    public static void main(String[] args) {
        String apiUrl = "https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API";

        try {
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("DELETE");

            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            System.out.println("Response: " + response.toString());

            connection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import requests

# API endpoint URL
api_url = 'https://api.fruitask.com/v3/tables/{token}/rows/{id}/?api_key=YOUR_API'

# Make the DELETE request
response = requests.delete(api_url)

# Check if the request was successful
if response.status_code == 200:
    # Process the response
    print(response.text)
else:
    # Handle the error
    print(f"Error: {response.status_code}, {response.text}")
account page
4KB
Fruitask API.postman_collection.json
Download our POSTMAN API collection.