api-design
Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.
- License 许可
- MIT
- 所属仓库
- microsoft/haste
- 最近更新
- 2026-11-13
- Stars
- ★ 110
- Forks
- 19
01 前言 Front Matter
- name
- api-design
- level
- intermediate
- agents
- [ "backend-dev", "gis" ]
- domain
- architecture
- source
- Internal engineering practices, REST API conventions
- status
- draft
- description
- Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.
- created_date
- 2026-04-27
- validated_by
- last_validated
02 资源文件 131
- 参考文档copilot-studio/agent.sync.yaml174 B
- 参考文档copilot-studio/behaviors/aibast_additional-risks.mcs.yml1.2 KB
- 参考文档copilot-studio/behaviors/aibast_contract-clause-analysis.mcs.yml636 B
- 参考文档copilot-studio/behaviors/aibast_contract-overview.mcs.yml1.3 KB
- 参考文档copilot-studio/behaviors/aibast_contract-policy-screen.mcs.yml697 B
- 参考文档copilot-studio/behaviors/aibast_contract-portfolio-risk-scan.mcs.yml773 B
- 参考文档copilot-studio/behaviors/aibast_contract-renegotiation-brief.mcs.yml954 B
- 参考文档copilot-studio/behaviors/aibast_ip-analysis.mcs.yml1.1 KB
- 参考文档copilot-studio/behaviors/aibast_liability-analysis.mcs.yml1.2 KB
- 参考文档copilot-studio/behaviors/aibast_redline-summary.mcs.yml1.2 KB
- 参考文档copilot-studio/capabilities/knowledge/files/aibast_contract-risk-policy-playbook.md3.2 KB
- 参考文档copilot-studio/capabilities/knowledge/files/aibast_contract-risk-policy-playbook.md.mcs.yml182 B
- 参考文档copilot-studio/capabilities/knowledge/files/aibast_contract-risk-synthetic-agreements.md11.0 KB
- 参考文档copilot-studio/capabilities/knowledge/files/aibast_contract-risk-synthetic-agreements.md.mcs.yml192 B
- 参考文档copilot-studio/settings.mcs.yml4.8 KB
- 参考文档deployment.json3.2 KB
- 参考文档EASY-MODE-COPILOT-CHAT.md231 B
- 参考文档EASY-MODE-PERSONLESS.md231 B
- 参考文档EASY-MODE.md2.7 KB
- 参考文档evals/copilot-studio-preview-evidence.json2.9 KB
- 参考文档evals/dataverse-draft-evidence.json1.6 KB
- 参考文档evals/manual-build-evidence.json5.1 KB
- 参考文档evals/onepager-map.json2.4 KB
- 参考文档evals/transcripts.json31.0 KB
- 参考文档evals/visual-checkpoints.json38.4 KB
- 参考文档evidence-report.html34.4 KB
- 参考文档export-manifest.json65.8 KB
- 资产文件exports/contract-risk-review-copilot-studio-solution.zip22.4 KB
- 参考文档exports/contract-risk-review-deployment-settings.json207 B
- 参考文档exports/contract-risk-review-solution-export.json1.1 KB
- 参考文档exports/README.md1.5 KB
- 参考文档field-guide.html38.7 KB
- 参考文档FIELD-GUIDE.md14.2 KB
- 参考文档FLOW.md1.1 KB
- 参考文档manual-tutorial.html106.9 KB
- 参考文档manual/GLOBAL-INSTRUCTIONS.md3.7 KB
- 参考文档manual/knowledge/aibast_contract-risk-policy-playbook.md3.2 KB
- 参考文档manual/knowledge/aibast_contract-risk-synthetic-agreements.md11.0 KB
- 参考文档quest.html166.7 KB
- 参考文档README.md3.0 KB
- 资产文件screenshots/assisted/01-review-build.jpg97.5 KB
- 资产文件screenshots/assisted/02-crr-01.jpg264.2 KB
- 资产文件screenshots/assisted/03-crr-02.jpg335.1 KB
- 资产文件screenshots/assisted/04-crr-03.jpg304.8 KB
- 资产文件screenshots/assisted/05-crr-04.jpg308.1 KB
- 资产文件screenshots/assisted/06-crr-05.jpg244.0 KB
- 资产文件screenshots/assisted/07-crr-06.jpg174.7 KB
- 资产文件screenshots/assisted/08-crr-07.jpg221.9 KB
- 资产文件screenshots/assisted/09-crr-08.jpg238.4 KB
- 资产文件screenshots/assisted/10-crr-09.jpg576.7 KB
- 资产文件screenshots/assisted/11-confirm-draft.jpg28.3 KB
- 资产文件screenshots/assisted/annotated/01-review-build.png105.2 KB
- 资产文件screenshots/assisted/annotated/02-crr-01.png254.6 KB
- 资产文件screenshots/assisted/annotated/03-crr-02.png327.4 KB
- 资产文件screenshots/assisted/annotated/04-crr-03.png286.8 KB
- 资产文件screenshots/assisted/annotated/05-crr-04.png288.6 KB
- 资产文件screenshots/assisted/annotated/06-crr-05.png231.4 KB
- 资产文件screenshots/assisted/annotated/07-crr-06.png175.1 KB
- 资产文件screenshots/assisted/annotated/08-crr-07.png219.3 KB
- 资产文件screenshots/assisted/annotated/09-crr-08.png237.8 KB
- 资产文件screenshots/assisted/annotated/10-crr-09.png549.7 KB
- 资产文件screenshots/assisted/annotated/11-confirm-draft.png28.7 KB
- 参考文档screenshots/assisted/browserfilm.json2.1 KB
- 资产文件screenshots/assisted/copilot-assisted-contact-sheet.jpg304.5 KB
- 资产文件screenshots/assisted/copilot-assisted-walkthrough.gif1.7 MB
- 参考文档screenshots/assisted/README.md468 B
- 资产文件screenshots/manual/01-create-blank-agent.jpg57.7 KB
- 资产文件screenshots/manual/02-name-agent.jpg59.8 KB
- 资产文件screenshots/manual/03-enter-instructions.jpg122.6 KB
- 资产文件screenshots/manual/04-save-instructions.jpg118.7 KB
- 资产文件screenshots/manual/05-remove-web-search.jpg122.7 KB
- 资产文件screenshots/manual/06-add-aibast-contract-risk-policy-playbook.jpg124.1 KB
- 资产文件screenshots/manual/07-add-aibast-contract-risk-synthetic-agreements.jpg127.0 KB
- 资产文件screenshots/manual/08-add-aibast-additional-risks-08.jpg130.0 KB
- 资产文件screenshots/manual/09-add-aibast-clause-analysis-02.jpg131.9 KB
- 资产文件screenshots/manual/10-add-aibast-compliance-check-03.jpg133.7 KB
- 资产文件screenshots/manual/11-add-aibast-contract-overview-05.jpg135.3 KB
- 资产文件screenshots/manual/12-add-aibast-ip-analysis-07.jpg136.3 KB
- 资产文件screenshots/manual/13-add-aibast-liability-analysis-06.jpg136.6 KB
- 资产文件screenshots/manual/14-add-aibast-redline-summary-09.jpg136.0 KB
- 资产文件screenshots/manual/15-add-aibast-renegotiation-brief-04.jpg136.3 KB
- 资产文件screenshots/manual/16-add-aibast-risk-scan-01.jpg137.0 KB
- 资产文件screenshots/manual/17-review-inventory.jpg137.0 KB
- 资产文件screenshots/manual/18-review-skills.jpg127.0 KB
- 资产文件screenshots/manual/19-review-skills-more.jpg129.7 KB
- 资产文件screenshots/manual/20-open-preview.jpg32.6 KB
- 资产文件screenshots/manual/21-crr-01.jpg265.6 KB
- 资产文件screenshots/manual/22-crr-02.jpg241.5 KB
- 资产文件screenshots/manual/23-crr-03.jpg253.5 KB
- 资产文件screenshots/manual/24-crr-04.jpg293.9 KB
- 资产文件screenshots/manual/25-crr-05.jpg241.2 KB
- 资产文件screenshots/manual/26-crr-06.jpg205.1 KB
- 资产文件screenshots/manual/27-crr-07.jpg185.6 KB
- 资产文件screenshots/manual/28-crr-08.jpg177.8 KB
- 资产文件screenshots/manual/29-crr-09.jpg267.5 KB
- 资产文件screenshots/manual/30-confirm-draft.jpg28.9 KB
- 资产文件screenshots/manual/annotated/01-create-blank-agent.png62.7 KB
- 资产文件screenshots/manual/annotated/02-name-agent.png64.2 KB
- 资产文件screenshots/manual/annotated/03-enter-instructions.png120.8 KB
- 资产文件screenshots/manual/annotated/04-save-instructions.png119.1 KB
- 资产文件screenshots/manual/annotated/05-remove-web-search.png121.4 KB
- 资产文件screenshots/manual/annotated/06-add-aibast-contract-risk-policy-playbook.png122.8 KB
- 资产文件screenshots/manual/annotated/07-add-aibast-contract-risk-synthetic-agreements.png125.5 KB
- 资产文件screenshots/manual/annotated/08-add-aibast-additional-risks-08.png126.7 KB
- 资产文件screenshots/manual/annotated/09-add-aibast-clause-analysis-02.png128.5 KB
- 资产文件screenshots/manual/annotated/10-add-aibast-compliance-check-03.png130.1 KB
- 资产文件screenshots/manual/annotated/11-add-aibast-contract-overview-05.png131.3 KB
- 资产文件screenshots/manual/annotated/12-add-aibast-ip-analysis-07.png131.9 KB
- 资产文件screenshots/manual/annotated/13-add-aibast-liability-analysis-06.png132.6 KB
- 资产文件screenshots/manual/annotated/14-add-aibast-redline-summary-09.png132.1 KB
- 资产文件screenshots/manual/annotated/15-add-aibast-renegotiation-brief-04.png132.6 KB
- 资产文件screenshots/manual/annotated/16-add-aibast-risk-scan-01.png132.8 KB
- 资产文件screenshots/manual/annotated/17-review-inventory.png140.1 KB
- 资产文件screenshots/manual/annotated/18-review-skills.png137.6 KB
- 资产文件screenshots/manual/annotated/19-review-skills-more.png142.9 KB
- 资产文件screenshots/manual/annotated/20-open-preview.png32.4 KB
- 资产文件screenshots/manual/annotated/21-crr-01.png259.0 KB
- 资产文件screenshots/manual/annotated/22-crr-02.png254.4 KB
- 资产文件screenshots/manual/annotated/23-crr-03.png243.5 KB
- 资产文件screenshots/manual/annotated/24-crr-04.png281.7 KB
- 资产文件screenshots/manual/annotated/25-crr-05.png244.0 KB
- 资产文件screenshots/manual/annotated/26-crr-06.png212.5 KB
- 资产文件screenshots/manual/annotated/27-crr-07.png189.7 KB
- 资产文件screenshots/manual/annotated/28-crr-08.png179.0 KB
- 资产文件screenshots/manual/annotated/29-crr-09.png265.7 KB
- 资产文件screenshots/manual/annotated/30-confirm-draft.png29.9 KB
- 参考文档screenshots/manual/browserfilm.json5.1 KB
- 资产文件screenshots/manual/manual-build-contact-sheet.jpg1.0 MB
- 资产文件screenshots/manual/manual-build-walkthrough.gif6.7 MB
- 参考文档screenshots/manual/README.md461 B
- 参考文档screenshots/README.md522 B
03 SKILL.md 正文
API Design
Overview
Standards and patterns for designing consistent, well-documented RESTful APIs. Covers naming, HTTP methods, error handling, status codes, and documentation requirements.
Key Concepts
Naming Conventions
- Plural nouns for resources:
/users,/orders,/products - Kebab-case for multi-word:
/user-profiles - Nest related resources:
/users/{id}/orders - Query params for filtering:
/users?role=admin&active=true
HTTP Methods
| Method | Purpose | Idempotent | Response |
|---|---|---|---|
| GET | Read | Yes | 200 + body |
| POST | Create | No | 201 + body + Location |
| PUT | Replace | Yes | 200 + body |
| PATCH | Partial update | No | 200 + body |
| DELETE | Remove | Yes | 204 (no body) |
Error Response Format
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Human-readable description",
"details": [
{"field": "email", "message": "Invalid email format"}
]
}
}
Status Codes
- 200: Success — 201: Created — 204: No content
- 400: Bad request — 401: Unauthorized — 403: Forbidden
- 404: Not found — 409: Conflict — 422: Unprocessable
- 429: Rate limited — 500: Internal error
Decision Framework
| Scenario | Method | Path | Status |
|---|---|---|---|
| List items | GET | /items | 200 |
| Get one item | GET | /items/{id} | 200 / 404 |
| Create item | POST | /items | 201 |
| Full update | PUT | /items/{id} | 200 / 404 |
| Partial update | PATCH | /items/{id} | 200 / 404 |
| Delete item | DELETE | /items/{id} | 204 / 404 |
| Search | GET | /items?q=term | 200 |
| Bulk action | POST | /items/batch | 200 / 207 |
Documentation Requirements
Every endpoint must document:
- HTTP method and path
- Description
- Request parameters (path, query, body) with types
- Response schema with examples
- Error codes and descriptions
- Authentication requirements
Common Pitfalls
- Using verbs in URLs — Use nouns:
/usersnot/getUsers - Inconsistent error format — Use the same error schema everywhere
- Missing pagination — Any list endpoint that can grow needs pagination
- No versioning strategy — Decide early: URL (
/v1/) or header-based
04 同仓库更多 Skills
validation-diagnostics
Validation and diagnostic skill for HASTE. Compare planned vs implemented work, generate diagnostic reports, and feed misses back into skill refinement. Use when: 'validate implementation', 'compare to spec', 'diagnostic report', 'drift analysis', 'coverage check', 'implementation review'.
security-analysis
Dependabot and security analysis skill for HASTE. Parse alerts, group related vulnerabilities, apply severity rules, and produce structured reports. Use when: 'Dependabot alert', 'security scan', 'vulnerability triage', 'dependency audit', 'npm audit', 'pip audit', 'CVE analysis'.
release-notes
Generate release notes from commit history. Use when asked to draft release notes, create a changelog, or summarize changes for a release.
imagery-provider-adaptation
Imagery provider adaptation skill for HASTE. Encapsulates provider-specific logic for satellite imagery sources (Planet, Vantor, Airbus, etc.). Use when: 'new imagery provider', 'add source type', 'satellite provider', 'Planet', 'Vantor', 'Airbus', 'Pleiades', 'WorldView', 'SkySat', 'imagery ingestion', 'provider adapter'.
deterministic-scripts
Deterministic script execution skill for HASTE. Execute scripts instead of free-form LLM behavior for consistent, repeatable operations. Use when: 'run preprocessing', 'convert format', 'parse metadata', 'generate tiles', 'build wheel', 'deploy functions'. Prevents hallucinated scripts.
dependency-update
Guide for safely updating project dependencies. Use when asked to update packages, upgrade dependencies, or check for outdated libraries.