{"openapi":"3.0.0","info":{"version":"1.0.0","title":"Vendorvue API"},"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Vendor":{"type":"object","properties":{"vendor_id":{"type":"string","example":"ven_1234567"},"name":{"type":"string","example":"Dunder Mifflin Paper Company Inc."},"tax_id":{"type":"string","example":"BE3344556677"},"external_id":{"type":"string","nullable":true,"description":"External ID for the vendor","example":"EXT-12345"},"custom_fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom field values by field ID","example":{"1":"value1","2":"value2"}},"created_at":{"type":"string","nullable":true},"updated_at":{"type":"string","nullable":true}},"required":["vendor_id","name","tax_id","external_id","custom_fields"]},"VendorList":{"type":"array","items":{"$ref":"#/components/schemas/Vendor"}},"Incident":{"type":"object","properties":{"title":{"type":"string","example":"Missed E-mal"},"description":{"type":"string","example":"The user did not receive the email"},"severity":{"type":"string","example":"LOW"},"location":{"type":"string","example":"Building 1, Floor 2"},"time_of_incident":{"type":"string","example":"2022-01-01 00:00:00"},"vendor_id":{"type":"string","example":"ven_1234567"},"reported_by":{"type":"string","example":"usr_1234567"}},"required":["title","description","severity","location","time_of_incident","vendor_id","reported_by"]},"IncidentList":{"type":"array","items":{"$ref":"#/components/schemas/Incident"}},"MaterialUpsert":{"type":"object","properties":{"name":{"type":"string","example":"22mm lens bolt for X-range trucks"},"external_ids":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string","nullable":true,"example":"cus_1234567890"},"vendor_id":{"type":"string","nullable":true,"example":"ven_1234567"}},"required":["external_id","vendor_id"]},"example":[{"external_id":"cus_1234567890","vendor_id":"ven_1234567"},{"external_id":"ext_9876543210","vendor_id":"ven_7654321"}]},"groups":{"type":"array","items":{"type":"string"},"description":"List of material group names to assign","example":["Electronics","Critical Components"]}},"required":["name","external_ids"]},"Material":{"type":"object","properties":{"internal_id":{"type":"string","example":"acmecorp_1234567"},"name":{"type":"string","example":"22mm lens bolt for X-range trucks"},"external_ids":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string","nullable":true,"example":"cus_1234567890"},"vendor_id":{"type":"string","nullable":true,"example":"ven_1234567"}},"required":["external_id","vendor_id"]},"example":[{"external_id":"cus_1234567890","vendor_id":"ven_1234567"},{"external_id":"ext_9876543210","vendor_id":"ven_7654321"}]},"custom_fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom field values by field ID","example":{"1":"value1","2":"value2"}},"groups":{"type":"array","items":{"type":"string"},"description":"Material groups this material belongs to","example":["Tier 1","Electronics Suppliers"]}},"required":["internal_id","name","external_ids","custom_fields"]},"MaterialList":{"type":"array","items":{"$ref":"#/components/schemas/Material"}},"MaterialOriginDeclaration":{"type":"object","properties":{"declaration_id":{"type":"string","example":"dec_1234567"},"vendor_id":{"type":"string","example":"ven_1234567"},"country_code":{"type":"string","example":"US"},"valid_from":{"type":"string","example":"2022-01-01 00:00:00"},"valid_until":{"type":"string","example":"2022-12-31 00:00:00"},"submitted_at":{"type":"string","example":"2021-12-14 00:00:00"},"submitted_by":{"type":"string","example":"usr_1234567"}},"required":["declaration_id","vendor_id","country_code","valid_from","valid_until","submitted_at","submitted_by"]}},"parameters":{}},"paths":{"/v1/whoami":{"get":{"security":[{"Bearer":[]}],"summary":"Get current token information","description":"Returns information about the current API token and associated organization","tags":["General"],"responses":{"200":{"description":"Information about the current API token","content":{"application/json":{"schema":{"type":"object","properties":{"token_id":{"type":"string","description":"The ID of the API token being used","example":"tok_1234567"},"org_id":{"type":"string","description":"The organization ID associated with this token","example":"org_1234567"},"org_name":{"type":"string","description":"The name of the organization","example":"Acme Corporation"}},"required":["token_id","org_id","org_name"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/vendors":{"get":{"security":[{"Bearer":[]}],"summary":"List vendors","description":"Retrieves a paginated list of vendors","tags":["Vendors"],"parameters":[{"schema":{"type":"string","default":"1"},"required":false,"name":"page","in":"query"},{"schema":{"type":"string","default":"20"},"required":false,"name":"per_page","in":"query"}],"responses":{"200":{"description":"Retrieve vendors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorList"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/vendors/groups":{"get":{"security":[{"Bearer":[]}],"summary":"List vendor groups","description":"Retrieves all active vendor groups in the organization","tags":["Vendors"],"responses":{"200":{"description":"List of active vendor groups","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"group_id":{"type":"number","description":"The unique identifier for the vendor group","example":1},"name":{"type":"string","description":"The name of the vendor group","example":"Tier 1 Suppliers"}},"required":["group_id","name"]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/vendors/custom-fields":{"get":{"security":[{"Bearer":[]}],"summary":"List vendor custom fields","description":"Retrieves all available custom fields configured for vendors in the organization","tags":["Vendors"],"responses":{"200":{"description":"List of available custom fields for vendors","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"custom_field_id":{"type":"number","description":"The unique identifier for the custom field","example":1},"label":{"type":"string","description":"The display label for the custom field","example":"Vendor Category"},"type":{"type":"string","enum":["string","bool","text","int","email","url","date","select","multi_select"],"description":"The data type of the custom field","example":"string"}},"required":["custom_field_id","label","type"]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/vendors/{vendor_id}":{"get":{"security":[{"Bearer":[]}],"summary":"Get vendor by ID","description":"Retrieves a vendor by their vendor ID","tags":["Vendors"],"parameters":[{"schema":{"type":"string","example":"ven_1234567"},"required":true,"name":"vendor_id","in":"path"}],"responses":{"200":{"description":"Retrieve the vendor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/vendors/{vendor_id}/incidents":{"get":{"security":[{"Bearer":[]}],"summary":"List vendor incidents","description":"Retrieves all incidents associated with a specific vendor","tags":["Vendors"],"parameters":[{"schema":{"type":"string","example":"ven_1234567"},"required":true,"name":"vendor_id","in":"path"}],"responses":{"200":{"description":"Retrieve the incidents from a vendor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentList"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/vendors/external/{external_id}":{"get":{"security":[{"Bearer":[]}],"summary":"Get vendor by external ID","description":"Retrieves a vendor by their external ID","tags":["Vendors"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":255,"description":"The external ID of the vendor","example":"EXT-12345"},"required":true,"name":"external_id","in":"path"}],"responses":{"200":{"description":"Retrieve the vendor by external ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Vendor not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}},"put":{"security":[{"Bearer":[]}],"summary":"Create or update vendor by external ID","description":"Creates a new vendor or updates an existing vendor based on external ID. Returns 201 if created, 200 if updated.","tags":["Vendors"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":255,"description":"The external ID of the vendor","example":"EXT-12345"},"required":true,"name":"external_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":191,"description":"The name of the vendor","example":"Acme Corporation"},"tax_id":{"type":"string","description":"Tax identification number","example":"12-3456789"},"duns_id":{"type":"string","description":"DUNS number","example":"123456789"},"domain":{"type":"string","description":"Company domain/website","example":"acme.com"},"phone":{"type":"string","description":"Contact phone number","example":"+1-555-123-4567"},"address_line_1":{"type":"string","example":"123 Main St"},"address_line_2":{"type":"string","example":"Suite 100"},"number":{"type":"string","description":"Street number","example":"123"},"postal_code":{"type":"string","example":"12345"},"city":{"type":"string","example":"New York"},"country":{"type":"string","example":"US"},"groups":{"type":"array","items":{"type":"string"},"description":"List of vendor group names to assign","example":["Tier 1","Electronics Suppliers"]},"custom_fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom field values by field ID","example":{"1":"value1","2":"value2"}}},"required":["name"]}}}},"responses":{"200":{"description":"Vendor updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"vendor_id":{"type":"string","description":"The unique identifier of the vendor","example":"ven_1234567"},"external_id":{"type":"string","description":"The external ID of the vendor","example":"EXT-12345"}},"required":["vendor_id","external_id"]}}}},"201":{"description":"Vendor created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"vendor_id":{"type":"string","description":"The unique identifier of the vendor","example":"ven_1234567"},"external_id":{"type":"string","description":"The external ID of the vendor","example":"EXT-12345"}},"required":["vendor_id","external_id"]}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/materials/groups":{"get":{"security":[{"Bearer":[]}],"summary":"List material groups","description":"Retrieves all material groups in the organization","tags":["Materials"],"responses":{"200":{"description":"List of material groups","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"group_id":{"type":"number","description":"The unique identifier for the material group","example":1},"name":{"type":"string","description":"The name of the material group","example":"Electronics"}},"required":["group_id","name"]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/materials/custom-fields":{"get":{"security":[{"Bearer":[]}],"summary":"List material custom fields","description":"Retrieves all available custom fields configured for materials in the organization","tags":["Materials"],"responses":{"200":{"description":"List of available custom fields for materials","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"custom_field_id":{"type":"number","description":"The unique identifier for the custom field","example":1},"label":{"type":"string","description":"The display label for the custom field","example":"Material Category"},"type":{"type":"string","enum":["string","bool","text","int","email","url","date","select","multi_select"],"description":"The data type of the custom field","example":"string"}},"required":["custom_field_id","label","type"]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/materials/{material_internal_id}":{"put":{"summary":"Create or update a material","description":"Creates a new material or updates an existing material with the given internal ID","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"mat_1234567"},"required":true,"name":"material_internal_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaterialUpsert"}}}},"responses":{"200":{"description":"Material updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"material_internal_id":{"type":"string"}},"required":["material_internal_id"]}}}},"201":{"description":"Material created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"material_internal_id":{"type":"string"}},"required":["material_internal_id"]}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}},"get":{"summary":"Get a single material","description":"Retrieves a specific material by its internal ID, including all associated external IDs and vendor information","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"mat_1234567"},"required":true,"name":"material_internal_id","in":"path"}],"responses":{"200":{"description":"Retrieve the material","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Material"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/materials":{"get":{"summary":"List all materials","description":"Retrieves a paginated list of all materials with their external IDs and vendor associations","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","default":"1"},"required":false,"name":"page","in":"query"},{"schema":{"type":"string","default":"20"},"required":false,"name":"per_page","in":"query"}],"responses":{"200":{"description":"Retrieve materials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaterialList"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/materials/{material_internal_id}/origin_declarations":{"get":{"summary":"Get origin declarations for a material","description":"Retrieves all origin declarations associated with a specific material, including vendor and country information","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"mat_1234567"},"required":true,"name":"material_internal_id","in":"path"},{"schema":{"type":"string","default":"1"},"required":false,"name":"page","in":"query"},{"schema":{"type":"string","default":"20"},"required":false,"name":"per_page","in":"query"}],"responses":{"200":{"description":"Retrieve the material","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaterialOriginDeclaration"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}},"/v1/materials/{material_internal_id}/external_ids":{"get":{"summary":"Get external IDs for a material","description":"Retrieves all external IDs associated with a specific material","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"mat_1234567"},"required":true,"name":"material_internal_id","in":"path"}],"responses":{"200":{"description":"List of external IDs for the material","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string","description":"External ID for the material","example":"EXT001"},"vendor_id":{"type":"string","description":"Vendor ID associated with this external ID","example":"ven_1234567"}},"required":["external_id","vendor_id"]}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Material not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}},"put":{"summary":"Update external IDs for a material","description":"Replaces all external IDs associated with a material. This operation deletes existing external IDs and creates new ones","tags":["Materials"],"security":[{"Bearer":[]}],"parameters":[{"schema":{"type":"string","example":"mat_1234567"},"required":true,"name":"material_internal_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string","example":"EXT001"},"vendor_id":{"type":"string","example":"ven_1234567"}},"required":["external_id","vendor_id"]},"description":"Array of external ID and vendor ID pairs","example":[{"external_id":"EXT001","vendor_id":"ven_1234567"},{"external_id":"EXT002","vendor_id":"ven_7654321"}]}}}},"responses":{"200":{"description":"Update external IDs for the material","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Material"}}}},"400":{"description":"Returns an error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}},"404":{"description":"Material not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"INPUT_VALIDATION"},"message":{"type":"string","example":"Bad Request"},"errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"data.name"},"message":{"type":"string","example":"name is required"}},"required":["path"]}}},"required":["code","message","errors"]}}}}}}}}}