# Assignment Rule API’s

These calls can be used to create, update, get all, get details, delete assignment rules.  The URL’s and call types are listed in the table below.

&#x20;

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">HTTP Method</td><td valign="top">URL</td><td valign="top">Action</td></tr><tr><td valign="top">POST</td><td valign="top">/core/1.0/API/assignmentRule</td><td valign="top">Create</td></tr><tr><td valign="top">PATCH</td><td valign="top">/core/1.0/API/assignmentRule</td><td valign="top">Update</td></tr><tr><td valign="top">DELETE</td><td valign="top">/core/1.0/API/assignmentRule/:id</td><td valign="top">Delete</td></tr><tr><td valign="top">POST</td><td valign="top">/core/1.0/API/ assignmentRules</td><td valign="top">Get all rules in work set</td></tr><tr><td valign="top">POST</td><td valign="top">/core/1.0/API/assignmentRule/:id</td><td valign="top">Get rule details</td></tr></tbody></table>

&#x20;

For the create and update API’s, the body fields are needed to provide the necessary context.  A list of these fields and which call they are required for is provided below.

&#x20;

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Field</td><td valign="top">Type</td><td valign="top">Values</td><td valign="top">Description</td><td valign="top">Mandatory</td></tr><tr><td valign="top">entity.id</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Rule Id</td><td valign="top">Yes [update]</td></tr><tr><td valign="top">entity.step</td><td valign="top">Object</td><td valign="top">-</td><td valign="top">Step target</td><td valign="top">Yes [create]</td></tr><tr><td valign="top">entity.step.name</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step name</td><td valign="top">Yes [create]</td></tr><tr><td valign="top">entity.step.version</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step version</td><td valign="top">Yes [create]</td></tr><tr><td valign="top">entity.attribute</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Attribute name</td><td valign="top">Yes [create]</td></tr><tr><td valign="top">entity.operands</td><td valign="top">Array</td><td valign="top">-</td><td valign="top">Operands array</td><td valign="top">Yes [create]</td></tr><tr><td valign="top">entity.operands[].operator</td><td valign="top">String</td><td valign="top"><p>ASSIGN, ADD, SUBTRACT, MULTIPLY,</p><p>DIVIDE,</p><p>POWER,</p><p>SQUARE,</p><p>PERCENTAGE, ROUND</p></td><td valign="top">Operator</td><td valign="top">No [ASSIGN by default]</td></tr><tr><td valign="top">entity.operands[].function</td><td valign="top">String</td><td valign="top"><p>ASSIGN,</p><p>FORMAT</p></td><td valign="top">Function</td><td valign="top">No [ASSIGN by default]</td></tr><tr><td valign="top">entity.operands[].value</td><td valign="top">String or Object</td><td valign="top">-</td><td valign="top">Can be string or reference to step target/data view</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.operands[].value.name</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view name</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.operands[].value.version</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view version</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.operands[].value.attribute</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view attribute name</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.conditions</td><td valign="top">Array</td><td valign="top">-</td><td valign="top">Conditions array for the rule</td><td valign="top">No</td></tr><tr><td valign="top">entity.conditions[].operator</td><td valign="top">String</td><td valign="top"><p>EQUAL,</p><p>NOT_EQL,</p><p>GREATER,</p><p>LESSER,</p><p>GREAT_EQL,</p><p>LESS_EQL</p></td><td valign="top">Operator</td><td valign="top">No [EQUAL by default]</td></tr><tr><td valign="top">entity.conditions[].value</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Comparison element</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.conditions[].operand</td><td valign="top">Object</td><td valign="top">-</td><td valign="top">Reference element</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.conditions[].operand.name</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view name</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.conditions [].operand.version</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view version</td><td valign="top">Yes</td></tr><tr><td valign="top">entity.conditions [].operand.attribute</td><td valign="top">String</td><td valign="top">Any</td><td valign="top">Step target/data view attribute name</td><td valign="top">Yes</td></tr></tbody></table>

&#x20;
