Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/supplier-certifications?supplierId={uuid} | List certifications for one supplier |
GET | /api/v1/supplier-certifications/{id} | Get a single certification |
POST | /api/v1/supplier-certifications?supplierId={uuid} | Add a certification to a supplier |
PATCH | /api/v1/supplier-certifications/{id} | Update a certification |
DELETE | /api/v1/supplier-certifications/{id} | Remove a certification |
Warning
Both GET (list) and POST require the supplierId query parameter. Omitting it returns 400 Bad Request.
GET /api/v1/supplier-certifications
Lists all certifications attached to a given supplier.
| Query parameter | Type | Required | Description |
|---|---|---|---|
supplierId | uuid | ✅ | The supplier whose certifications to return |
Shell
curl "{{BASE_URL}}/api/v1/supplier-certifications?supplierId=3f2b9a1c-…"
Response 200 OK — JSON array of SupplierCertificationDto.
GET /api/v1/supplier-certifications/{id}
Fetches a single certification.
200 OK—SupplierCertificationDto.404 Not Found— no such certification in your tenant.
POST /api/v1/supplier-certifications
Attaches a certification to a supplier. supplierId must be passed both as a query parameter and inside the request body.
Request body (CreateSupplierCertificationDto)
| Field | Type | Required | Description |
|---|---|---|---|
supplierId | uuid | ✅ | Supplier to attach the certification to |
certificationType | string | ✅ | e.g. GOTS, GRS, OEKO_TEX, REACH, ISO_14001 |
certificateNumber | string | — | Number printed on the certificate |
certificateExpiry | string | — | Expiry (ISO date or date-time) |
documentId | string | — | Reference to an uploaded certificate document |
isDigitallySigned | boolean | — | Whether the PDF is digitally signed |
signatureVerified | boolean | — | Whether signature verification has been performed |
verificationStatus | string | — | Free-form status (e.g. PENDING, VERIFIED, REJECTED) |
verificationDetails | string | — | Detailed explanation of the verification outcome |
Shell
curl -X POST "{{BASE_URL}}/api/v1/supplier-certifications?supplierId=3f2b9a1c-…" \-H "Content-Type: application/json" \-d '{"supplierId": "3f2b9a1c-4d2e-4b6e-9c1a-6f5b8e2d7c10","certificationType": "GOTS","certificateNumber": "GOTS-2026-0001","certificateExpiry": "2027-04-21T00:00:00.000Z","isDigitallySigned": true}'
201 Created— the createdSupplierCertificationDto.404 Not Found—supplierIddoes not exist in your tenant.
PATCH /api/v1/supplier-certifications/{id}
Partially updates a certification.
Shell
curl -X PATCH {{BASE_URL}}/api/v1/supplier-certifications/… \-H "Content-Type: application/json" \-d '{ "verificationStatus": "VERIFIED", "signatureVerified": true }'
200 OK— updatedSupplierCertificationDto.404 Not Found— certification does not exist in your tenant.
DELETE /api/v1/supplier-certifications/{id}
Removes a single certification.
204 No Content— deleted.404 Not Found— certification does not exist in your tenant.
Certification schema
SupplierCertificationDto:
JSON
{"id": "6d1b2e0a-91fa-4e13-bdc0-5a9b7d3c08a1","supplierId": "3f2b9a1c-4d2e-4b6e-9c1a-6f5b8e2d7c10","certificationType": "GOTS","certificateNumber": "GOTS-2026-0001","certificateExpiry": "2027-04-21T00:00:00.000Z","documentId": "doc_01HXYZ...","isDigitallySigned": true,"signatureVerified": true,"verificationStatus": "VERIFIED","verificationDetails": "Chain of trust OK","verifiedAt": "2026-04-21T10:02:00.000Z","createdAt": "2026-04-21T10:00:00.000Z","updatedAt": "2026-04-21T10:02:00.000Z"}