private void retireApi(ActionBean action) throws ActionException, NotAuthorizedException {
        LOGGER.debug("Request to retire API {0} from {1}", action, securityContext.getCurrentUser());
        securityContext.checkPermissions(PermissionType.apiAdmin, action.getOrganizationId());
        actionService.retireApi(action.getOrganizationId(), action.getEntityId(), action.getEntityVersion());
    }
{@inheritDoc}
<p>
Workflow:
<ol>
    <li>Get specified contract.</li>
    <li>Verify if any other contracts still need approving:</li>
    <li>- If all approved, move to 'ready' state (or should we publish?).</li>
    <li>- If not all approved, leave in 'needs approval' state.</li>
</ol>
manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/ActionResourceImpl.java