API design checklist