{"type":"api","title":"Create group","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/7c48c18b-6630-3205-a601-ed557f355784","info":{"title":"APIs exposed by Grouping service","description":"Crosswork Grouping APIs allow the user to perform CRUD operations on grouping service.","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"},"version":"7.1.0"},"x-parser-conf":{"overview":{"markdownPath":"reference/INFRA/GROUPING/grouping-service-overview.md"}},"openapi":"3.0.1","servers":[{"url":"http://localhost:8080/v1/grouping","description":"Generated server url"}]},"spec":{"tags":["Groups"],"summary":"Create group","operationId":"createGroup","requestBody":{"description":"Details of the group to be created.","content":{"application/json":{"schema":{"required":["classifier","name"],"type":"object","properties":{"name":{"maxLength":255,"minLength":0,"type":"string","description":"Name of the group to be created. This field is required."},"description":{"maxLength":255,"minLength":0,"type":"string","description":"Optional description of the group."},"classifier":{"maxLength":255,"minLength":0,"type":"string","description":"Classifier type for the group.","enum":["DeviceAccess","LocationDevices","UserDefinedDevices","UserDefinedPorts"]},"parentUuid":{"maxLength":255,"minLength":0,"type":"string","description":"UUID of the parent group, if applicable."}},"description":"Data Transfer Object for creating a new group, including the group's name, description, classifier, and parent UUID.","$$ref":"#/components/schemas/GroupCreateReqDTO"},"examples":{"Group Creation Request Example":{"summary":"Example of a group creation request","description":"Group Creation Request Example","value":{"classifier":"LocationDevices","name":"Test","description":"Test","parentUuid":"e2305b86-6a2c-425d-abb1-bd0660656e86"}}}}},"required":true},"responses":{"200":{"description":"Successfully created the group.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Status of the operation result, indicating success, partial success, or error.","default":"Success","enum":["Success","Partial","Error"]},"group":{"type":"object","properties":{"uuid":{"maxLength":255,"minLength":0,"type":"string","description":"Unique identifier for the group, if available."},"name":{"maxLength":255,"minLength":0,"type":"string","description":"Name of the group."},"description":{"maxLength":255,"minLength":0,"type":"string","description":"Description of the group."},"discoveryType":{"type":"string","description":"Type of discovery used for the group, if applicable.","enum":["Static","Dynamic","StaticSystem","Unknown"]},"nodeType":{"type":"string","description":"Node type of the group, if applicable.","enum":["Group","Member"]},"classifier":{"maxLength":255,"minLength":0,"type":"string","description":"Classifier associated with the group."},"referenceUuid":{"maxLength":255,"minLength":0,"type":"string","description":"Reference UUID linked to the group, if applicable."},"children":{"maxItems":100000,"minItems":0,"type":"array","description":"List of child groups under this group.","items":{"$ref":"#/components/schemas/GroupDTO","$$ref":"#/components/schemas/GroupDTO"}},"parentUuid":{"type":"string","description":"UUID of the parent group, if applicable."},"parentName":{"type":"string","description":"Name of the parent group, if applicable."},"childrenCount":{"type":"integer","description":"Number of child groups.","format":"int32"}},"description":"Data Transfer Object representing a group, including its properties and relationships.","$$ref":"#/components/schemas/GroupDTO"},"rule":{"required":["classifier"],"type":"object","properties":{"uuid":{"maxLength":255,"minLength":0,"type":"string","description":"Unique identifier for the rule, if available."},"classifier":{"maxLength":255,"minLength":0,"type":"string","description":"Classifier type for the rule.","enum":["LocationDevices","UserDefinedDevices","UserDefinedPorts"]},"conditions":{"type":"string","description":"Refer rule/conditions API for supported conditions properties and operators","format":"Stringify json of Java class"},"targetGroupUuid":{"maxLength":255,"minLength":0,"type":"string","description":"UUID of the target group associated with the rule, if applicable."}},"description":"Data Transfer Object representing a rule, including its attributes and conditions.","$$ref":"#/components/schemas/RuleDTO"},"error":{"type":"string","description":"Error message, if any, associated with the result."},"details":{"type":"object","additionalProperties":{"type":"string","description":"Additional details related to the result, stored as key-value pairs."},"description":"Additional details related to the result, stored as key-value pairs."}},"description":"Data Transfer Object representing the result of an operation, including status, related entities, and error details.","$$ref":"#/components/schemas/ResultDTO"},"examples":{"Success Response Example":{"summary":"Example of a successful creation response","description":"Success Response Example","value":{"status":"Success","group":{"uuid":"4537a9ea-39b5-4567-ad96-a194b2eb1701","name":"Test","description":"Test","nodeType":"Group","classifier":"LocationDevices"}}}}}}},"400":{"description":"Bad Request"},"500":{"description":"Internal Server Error"}},"__originalOperationId":"createGroup","method":"post","path":"/group"}}