> For the complete documentation index, see [llms.txt](https://docs.apica.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apica.io/platform-docs/test-data-orchestrator-tdo/user-documentation/api-guide/assignment-rule-apis.md).

# 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.

<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>

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.

<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>
