Ressources
Catégories
Chaque point de terminaison Catégories, avec la portée qu'il impose, le corps qu'il accepte, une réponse lisible et les refus qu'il peut renvoyer.
Lister les catégories de produits.
get
/categories- Portée
- Aucune portée requise
Idempotency-Key- Non accepté
- Renvoie
- 200
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
Requête
curl "https://passportcraft.com/api/v1/categories" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"Réponse · 200
{
"object": "list",
"data": [
{
"object": "category",
"id": "general",
"name": "categories/general",
"display_name": "General Product",
"schema_version": "1.0.0-draft",
"field_count": 28
},
{
"object": "category",
"id": "textile",
"name": "categories/textile",
"display_name": "Textile / Apparel",
"schema_version": "1.0.0-draft",
"field_count": 51
},
{
"object": "category",
"id": "battery",
"name": "categories/battery",
"display_name": "Battery",
"schema_version": "1.0.0-draft",
"field_count": 92
}
],
"has_more": false,
"next_cursor": null
}GET /categories
Récupérer le schéma de champs d’une catégorie.
get
/categories/{category}/schema- Portée
- Aucune portée requise
Idempotency-Key- Non accepté
- Renvoie
- 200
Paramètres de chemin
categorystringObligatoireUn identifiant de catégorie, tel que renvoyé par la liste des catégories.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
Requête
curl "https://passportcraft.com/api/v1/categories/textile/schema" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"Réponse · 200
{
"object": "category_schema",
"id": "textile",
"name": "categories/textile/schema",
"category": "textile",
"display_name": "Textile / Apparel",
"schema_version": "1.0.0-draft",
"field_groups": [
{
"object": "field_group",
"id": "identification",
"label": "Product Identification",
"description": "Core identifiers and descriptors for the product"
},
{
"object": "field_group",
"id": "manufacturer",
"label": "Manufacturer / Economic Operator",
"description": "Details of the manufacturer or EU responsible person"
},
{
"object": "field_group",
"id": "sustainability",
"label": "Environmental Data",
"description": "Carbon footprint and material recycling data"
},
{
"object": "field_group",
"id": "compliance",
"label": "Regulatory Compliance",
"description": "Substances of concern and conformity declarations"
},
{
"object": "field_group",
"id": "end_of_life",
"label": "End of Life",
"description": "Recycling and disposal guidance for the product"
},
{
"object": "field_group",
"id": "circular_economy",
"label": "Circular Economy",
"description": "Recyclability, disassembly, and end-of-life information"
},
{
"object": "field_group",
"id": "materials",
"label": "Material Composition",
"description": "Fiber content and testing methodology for textile materials"
},
{
"object": "field_group",
"id": "care",
"label": "Care Instructions",
"description": "ISO 3758 care symbols and human-readable care guidance"
},
{
"object": "field_group",
"id": "manufacturing",
"label": "Manufacturing Details",
"description": "Country of manufacture, production date, and batch traceability"
},
{
"object": "field_group",
"id": "durability",
"label": "Durability & Repairability",
"description": "Lifetime estimates, repairability score, and repair resources"
}
],
"fields": [
{
"object": "field",
"name": "product_name",
"type": "text",
"required": true,
"access_tier": "public",
"group": "identification",
"label": "Product Name",
"description": "Commercial name of the product",
"hint": "Shown as the headline on the public passport and in search.",
"requirement": "required",
"functional_basis": "Record identity — the passport cannot identify its product without a name.",
"regulatory_basis": [
{
"regulation": "ESPR (Reg (EU) 2024/1781)",
"reference": "Annex III(a)",
"status": "anticipated",
"note": "Product identifier/name — DA-gated for textiles."
}
]
},
{
"object": "field",
"name": "recyclable_content_percentage",
"type": "number",
"required": false,
"access_tier": "public",
"group": "sustainability",
"label": "Recyclable Content (%)",
"description": "Percentage of the product that is recyclable at end of life",
"min": 0,
"max": 100
},
{
"object": "field",
"name": "conformity_declaration_url",
"type": "url",
"required": false,
"access_tier": "authority",
"group": "compliance",
"label": "Declaration of Conformity URL",
"description": "Link to the EU Declaration of Conformity document, or upload the PDF.",
"document_types": [
"conformity_declaration"
],
"document_id_key": "conformity_declaration_url__document_id"
}
]
}GET /categories/textile/schema