# Approval Rules Approval Rules provide a flexible approach to configuring and managing the approval process for Orders within a Business Unit. Approval Rules can be used to define a [multi-tiered approval process](https://docs.commercetools.com/api/associates-overview.md#configure-approval-rules) for B2B order management. By defining approval hierarchies using boolean logic, you can establish complex, structured approval workflows based on [Associate Roles](https://docs.commercetools.com/api/projects/associate-roles.md). Approval Rules are defined in tiers. Each tier contains one or more roles that are required to approve an [Order](https://docs.commercetools.com/api/projects/orders.md) before it can proceed to the next tier. You can explicitly set Approval Rules on individual Business Units. Approval Rules can also be inherited, meaning rules set on a Business Unit can be applied to other units lower in the hierarchy. ## Representations #### ApprovalRule See API type definition [ApprovalRule](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRule). #### ApprovalRuleDraft See API type definition [ApprovalRuleDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleDraft). #### ApprovalRulePagedQueryResponse See API type definition [ApprovalRulePagedQueryResponse](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRulePagedQueryResponse). #### ApprovalRuleStatus See API type definition [ApprovalRuleStatus](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleStatus). #### RuleRequester See API type definition [RuleRequester](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3ARuleRequester). #### RuleRequesterDraft See API type definition [RuleRequesterDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3ARuleRequesterDraft). #### ApproverHierarchy See API type definition [ApproverHierarchy](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverHierarchy). ##### ApproverConjunction See API type definition [ApproverConjunction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverConjunction). ##### ApproverDisjunction See API type definition [ApproverDisjunction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverDisjunction). #### RuleApprover See API type definition [RuleApprover](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3ARuleApprover). #### ApproverHierarchyDraft See API type definition [ApproverHierarchyDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverHierarchyDraft). ##### ApproverConjunctionDraft See API type definition [ApproverConjunctionDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverConjunctionDraft). ##### ApproverDisjunctionDraft See API type definition [ApproverDisjunctionDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApproverDisjunctionDraft). ##### RuleApproverDraft See API type definition [RuleApproverDraft](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3ARuleApproverDraft). ## Get ApprovalRule in BusinessUnit ### Get ApprovalRule in BusinessUnit by ID See API endpoint definition [GET /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules/\{id}](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%2F%7Bid%7D%3AGET). ### Get ApprovalRule in BusinessUnit by Key See API endpoint definition [GET /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules/key=\{key}](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%2Fkey%3D%7Bkey%7D%3AGET). ## Query ApprovalRules in BusinessUnit See API endpoint definition [GET /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%3AGET). ## Create ApprovalRule in BusinessUnit See API endpoint definition [POST /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%3APOST). ## Update ApprovalRule in BusinessUnit ### Update ApprovalRule in BusinessUnit by ID See API endpoint definition [POST /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules/\{id}](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%2F%7Bid%7D%3APOST). ### Update ApprovalRule in BusinessUnit by Key See API endpoint definition [POST /\{projectKey}/as-associate/\{associateId}/in-business-unit/key=\{businessUnitKey}/approval-rules/key=\{key}](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fas-associate%2F%7BassociateId%7D%2Fin-business-unit%2Fkey%3D%7BbusinessUnitKey%7D%2Fapproval-rules%2Fkey%3D%7Bkey%7D%3APOST). ## Update actions #### Set Status See API type definition [ApprovalRuleSetStatusAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetStatusAction). #### Set Name See API type definition [ApprovalRuleSetNameAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetNameAction). #### Set Description See API type definition [ApprovalRuleSetDescriptionAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetDescriptionAction). #### Set Key See API type definition [ApprovalRuleSetKeyAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetKeyAction). #### Set Predicate See API type definition [ApprovalRuleSetPredicateAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetPredicateAction). #### Set Approvers See API type definition [ApprovalRuleSetApproversAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetApproversAction). #### Set Requesters See API type definition [ApprovalRuleSetRequestersAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetRequestersAction). #### Set Custom Type See API type definition [ApprovalRuleSetCustomTypeAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetCustomTypeAction). #### Set CustomField See API type definition [ApprovalRuleSetCustomFieldAction](https://docs.commercetools.com/api/projects/approval-rules.md?urn=ctp%3Aapi%3Atype%3AApprovalRuleSetCustomFieldAction). ## Related pages - [Section overview page](https://docs.commercetools.com/api.md) - [Next page: Approval Flows](https://docs.commercetools.com/api/projects/approval-flows.md)