commit by API