Products
List products
GET
/
products
List products
curl --request GET \
--url https://api.connectadesk.com/api/v1/products \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.connectadesk.com/api/v1/products"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.connectadesk.com/api/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.connectadesk.com/api/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.connectadesk.com/api/v1/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.connectadesk.com/api/v1/products")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.connectadesk.com/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 305,
"name": "Monitor 27 polegadas 4K",
"sku": "MONITOR-27-POLEGADAS-4K",
"price": "1299.90",
"description": "IPS panel, 60 Hz, HDMI and DisplayPort input.",
"image": "https://cdn.exemplo.com/products/305.png",
"isActive": true,
"categoryId": 7,
"category": {
"id": 7,
"name": "Periféricos",
"color": "#0E7490",
"createdAt": "2026-03-11T14:20:00.000Z",
"updatedAt": "2026-03-11T14:20:00.000Z"
},
"createdAt": "2026-04-02T11:15:00.000Z",
"updatedAt": "2026-08-18T10:40:00.000Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"hasMore": true
}
}{
"error": {
"code": "ERR_API_UNAUTHORIZED",
"message": "Token de API ausente ou inválido."
}
}{
"error": {
"code": "ERR_API_FORBIDDEN_SCOPE",
"message": "O token não tem permissão para este método neste módulo. A mensagem real nomeia os dois."
}
}{
"error": {
"code": "ERR_API_RATE_LIMIT",
"message": "Limite de requisições por minuto excedido para esta empresa."
}
}Authorizations
API token in the sk_live_… format.
Query Parameters
Page number, starting at 1. An invalid value is treated as 1.
Required range:
x >= 1Number of items per page. The maximum depends on the environment (default 100).
Required range:
1 <= x <= 100Search by name, SKU or description.
Category the product belongs to.
Filters by active product. An inactive product does not show up in search and cannot be linked to a card.
Minimum price, inclusive.
Maximum price, inclusive.
Returns products created from this date on. The day starts in your company's time zone.
Returns products created up to this date. The day ends at 23:59:59 in your company's time zone.
⌘I
List products
curl --request GET \
--url https://api.connectadesk.com/api/v1/products \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.connectadesk.com/api/v1/products"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.connectadesk.com/api/v1/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.connectadesk.com/api/v1/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.connectadesk.com/api/v1/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.connectadesk.com/api/v1/products")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.connectadesk.com/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 305,
"name": "Monitor 27 polegadas 4K",
"sku": "MONITOR-27-POLEGADAS-4K",
"price": "1299.90",
"description": "IPS panel, 60 Hz, HDMI and DisplayPort input.",
"image": "https://cdn.exemplo.com/products/305.png",
"isActive": true,
"categoryId": 7,
"category": {
"id": 7,
"name": "Periféricos",
"color": "#0E7490",
"createdAt": "2026-03-11T14:20:00.000Z",
"updatedAt": "2026-03-11T14:20:00.000Z"
},
"createdAt": "2026-04-02T11:15:00.000Z",
"updatedAt": "2026-08-18T10:40:00.000Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"hasMore": true
}
}{
"error": {
"code": "ERR_API_UNAUTHORIZED",
"message": "Token de API ausente ou inválido."
}
}{
"error": {
"code": "ERR_API_FORBIDDEN_SCOPE",
"message": "O token não tem permissão para este método neste módulo. A mensagem real nomeia os dois."
}
}{
"error": {
"code": "ERR_API_RATE_LIMIT",
"message": "Limite de requisições por minuto excedido para esta empresa."
}
}
