List Garments
curl --request GET \
--url https://api.example.com/api/v1/garmentsimport requests
url = "https://api.example.com/api/v1/garments"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/garments', 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.example.com/api/v1/garments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/garments"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/garments")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/garments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"garments": [
{
"id": "<string>",
"name": "<string>",
"brand": "<string>",
"category": "<string>",
"basePrice": 123,
"currency": "<string>",
"colors": [
{}
],
"sizes": [
{}
],
"printZones": [
{}
],
"images": {}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<string>"
}
}Endpoints
List Garments
Browse available garment blanks
GET
/
api
/
v1
/
garments
List Garments
curl --request GET \
--url https://api.example.com/api/v1/garmentsimport requests
url = "https://api.example.com/api/v1/garments"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/garments', 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.example.com/api/v1/garments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/garments"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/garments")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/garments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"garments": [
{
"id": "<string>",
"name": "<string>",
"brand": "<string>",
"category": "<string>",
"basePrice": 123,
"currency": "<string>",
"colors": [
{}
],
"sizes": [
{}
],
"printZones": [
{}
],
"images": {}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<string>"
}
}List Garments
Retrieve available garment blanks with colors, sizes, and print zone information.This endpoint is free — no tokens required.
Endpoint
GET https://garmint.app/api/v1/garments
Query Parameters
string
Filter by category:
t-shirts, hoodies, tanks, long-sleeves, etc.number
default:"50"
Number of results to return (max 100).
string
Pagination cursor from previous response.
Response
array
Array of garment objects.
Show Garment properties
Show Garment properties
string
Unique garment identifier.
string
Product name (e.g., “Gildan 5000 Heavy Cotton Tee”).
string
Brand name (e.g., “Gildan”, “Bella+Canvas”).
string
Product category.
number
Starting price in USD.
string
Currency code (always “USD”).
array
Available color variants.
array
Available sizes (e.g., [“S”, “M”, “L”, “XL”, “2XL”]).
array
Available print areas with dimensions.
object
Thumbnail and full-size image URLs.
object
Example
curl https://garmint.app/api/v1/garments?category=t-shirts&limit=10 \
-H "Authorization: Bearer gm_live_xxx"
const response = await fetch(
'https://garmint.app/api/v1/garments?category=t-shirts&limit=10',
{
headers: {
'Authorization': `Bearer ${GARMINT_API_KEY}`,
},
}
);
const { garments, pagination } = await response.json();
import requests
response = requests.get(
'https://garmint.app/api/v1/garments',
headers={'Authorization': f'Bearer {GARMINT_API_KEY}'},
params={'category': 't-shirts', 'limit': 10}
)
data = response.json()
garments = data['garments']
Response Example
{
"garments": [
{
"id": "gildan-5000",
"name": "Gildan 5000 Heavy Cotton Tee",
"brand": "Gildan",
"category": "t-shirts",
"basePrice": 12.99,
"currency": "USD",
"colors": [
{
"name": "Black",
"hex": "#000000",
"imageUrl": "https://cdn.shopify.com/.../black.png",
"available": true
},
{
"name": "White",
"hex": "#FFFFFF",
"imageUrl": "https://cdn.shopify.com/.../white.png",
"available": true
}
],
"sizes": ["S", "M", "L", "XL", "2XL"],
"printZones": [
{
"id": "front",
"name": "Front",
"maxWidth": 12,
"maxHeight": 14,
"position": { "x": 50, "y": 35 }
},
{
"id": "back",
"name": "Back",
"maxWidth": 12,
"maxHeight": 14,
"position": { "x": 50, "y": 35 }
}
],
"images": {
"thumbnail": "https://cdn.shopify.com/.../thumb.png",
"full": "https://cdn.shopify.com/.../full.png"
}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "eyJsYXN0SWQiOiJnaWxkYW4tNTAwMCJ9"
}
}
Pagination
To fetch all garments, loop through pages using the cursor:async function getAllGarments() {
const garments = [];
let cursor: string | undefined;
do {
const url = new URL('https://garmint.app/api/v1/garments');
url.searchParams.set('limit', '100');
if (cursor) url.searchParams.set('cursor', cursor);
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${API_KEY}` },
});
const data = await response.json();
garments.push(...data.garments);
cursor = data.pagination.hasMore ? data.pagination.nextCursor : undefined;
} while (cursor);
return garments;
}
Get Single Garment
Fetch details for a specific garment:GET https://garmint.app/api/v1/garments/:id
curl https://garmint.app/api/v1/garments/gildan-5000 \
-H "Authorization: Bearer gm_live_xxx"
⌘I