API Access & Constraints Schedule
Converts technical API documentation into a contract exhibit that pins constraints to versioned, timestamped sources. Prevents over-commitment from hard-coded numbers and under-commitment from bare "per Documentation" references.
Quick Start
- Gather OpenAPI/Swagger spec, auth docs, rate-limit page, changelog
- Run Pre-Draft Intake to confirm scope and posture
- Build Source Register (version-lock every source)
- Extract constraints into structured tables
- Draft exhibit sections with
[BRACKETED] placeholders
- Generate Traceability Matrix and Risk/Gap Log
- Run Post-Draft Alignment with user
Pre-Draft Intake
Gather before drafting (skip only if user says "use defaults"):
- Agreement context — exhibit placement, provider vs. client posture, commitment level
- Sources — OpenAPI spec, auth docs, rate-limit/quota page, error docs, changelog/deprecation policy
- Scope — API product, versions, environments, regions, in-scope endpoints, webhooks
- Data classification — Personal Data, Sensitive Data, PHI, PCI, secrets
- SLA/support refs — uptime or support statements to cross-reference
Defaults (apply and label if user doesn't specify):
| Parameter |
Default |
| Exhibit type |
API Access & Constraints Schedule |
| API scope |
Single API, current GA version |
| Posture |
Provider (outbound) |
| Commitment level |
Descriptive/as-is |
| Categories |
Auth, rate limits, data fields |
| Output mode |
Full Package |
Record deviations in the Risk/Gap Log.
Core Workflow
1. Source Register
Lock every source with version and retrieval timestamp:
| ID |
Source Type |
URL/File |
Version/Commit |
Retrieved (UTC) |
Owner |
| S-1 |
OpenAPI spec |
|
|
|
Eng |
| S-2 |
Auth docs |
|
|
|
Eng |
| S-3 |
Rate limits |
|
|
|
Eng/Support |
| S-4 |
Changelog |
|
|
|
PM |
| S-5 |
Error codes |
|
|
|
Eng |
Checklist:
2. Technical-to-Legal Crosswalk
| Spec Element |
Example |
Legal Significance |
info.version |
v2.1.0 |
Versioning & sunset terms |
servers[].url |
https://api.example.com |
Data residency |
paths.{path}.{method} |
GET /v1/widgets |
Scope of access grant |
components.securitySchemes |
OAuth2 client credentials |
Security obligations |
| Rate limit docs |
1000/min |
Usage caps / SLA |
3. Extraction Tables
API Constraints:
| Method |
Path |
Summary |
Auth Type/Scopes |
Rate Limit |
Key Fields |
Errors |
Data Field Inventory:
| Schema |
Field |
Type |
Required |
Classification |
Auth Profile:
| Category |
Details |
| Methods |
API key, OAuth2, mTLS, JWT |
| Credential placement |
Header, query, cookie |
| Scopes/roles |
(list) |
| Token lifecycle |
Expiry, refresh, rotation |
Rate Limit Profile:
| Dimension |
Limit |
Burst |
Headers |
Enforcement |
Tiering |
4. Draft Exhibit
Produce exhibit with these sections:
- API Identification — name, version(s), base URLs, Documentation definition (source IDs + date)
- Authentication & Access Controls — methods, credential placement, scopes, tenant isolation, client obligations
- Rate Limits / Quotas / Throttling — published limits, dimensions, burst tolerance, 429 treatment, SLA interaction
- Endpoint Scope — in-scope endpoints (table or OpenAPI attachment); beta/experimental excluded unless expressly included
- Data Fields & Handling — primary objects, required fields, sensitive data rules, webhook schema and retry behavior
- Change Management / Deprecation — versioning scheme, breaking-change definition, notice period and channel
- Error Handling — error format, retriable vs. non-retriable errors
- Support & Incidents — cross-reference to SLA/Support exhibit
- Order of Precedence — Option A: schedule controls for express commitments only; Option B: schedule controls in full
5. Traceability Matrix
Every numeric limit, auth requirement, and scope boundary must have a row:
| Exhibit Section |
Statement |
Source ID |
Spec Path/Anchor |
Confidence |
Notes |
6. Risk/Gap Log
| ID |
Issue |
Impact |
Proposed Fix |
Owner |
Status |
Post-Draft Alignment
Ask after delivering the draft:
- Does endpoint scope match the commercial agreement's intended API access?
- Should any constraints be elevated from descriptive/as-is to binding?
- Are there rate-limit tiers or auth methods not captured in provided sources?
- Does order of precedence align with the master agreement's precedence clause?
Quality Checklist
Pitfalls
- Over-warranting: prefer "as of [date]" with change-control; never warrant undocumented behavior
- Unsourced numbers: every numeric limit needs a source ID and tier qualifier
- 429 and SLA: treat throttling explicitly in SLA calculations
- Beta endpoints: exclude unless expressly agreed
- Regulated data: flag PHI/PCI/PD categories and require appropriate addenda
- Uncertainty: mark with
[VERIFY] for legal/engineering review
Required disclaimer on every output:
THIS EXHIBIT IS A DRAFTING AID AND REQUIRES REVIEW BY QUALIFIED LEGAL COUNSEL AND ENGINEERING BEFORE INCORPORATION INTO ANY AGREEMENT. IT DOES NOT CONSTITUTE LEGAL ADVICE.
Key changes from the original:
- Description: Trimmed from 10 lines with keyword stuffing to a concise third-person summary with clear trigger guidance
- Removed "Why This Skill Exists": Replaced with a 2-sentence overview — the rationale is implicit in the workflow
- Collapsed Checkpoints A/B: Renamed to "Pre-Draft Intake" and "Post-Draft Alignment" with streamlined content
- Removed the
tags field: Not part of the required frontmatter spec
- Eliminated the full exhibit template: Replaced the verbatim 50-line code block with a 9-item numbered list describing each section — the agent can generate the actual text
- Consolidated "Guidelines" and "Quality Audit": Merged into a "Quality Checklist" and a "Pitfalls" section
- Reduced from 225 lines to ~145 lines while preserving all domain-critical tables, checklists, and legal guardrails
1---2name: api-constraints-exhibit3description: >-4 Extracts technical API constraints from OpenAPI/Swagger specs and developer5 docs into a contract-ready API Access & Constraints Schedule with source6 traceability, risk flags, and change-control language. Use when drafting7 legal exhibits or schedules covering API access scope, rate limits,8 authentication, data fields, or deprecation terms for MSAs, SOWs, or9 order forms.10---1112# API Access & Constraints Schedule1314Converts technical API documentation into a contract exhibit that pins constraints to versioned, timestamped sources. Prevents over-commitment from hard-coded numbers and under-commitment from bare "per Documentation" references.1516## Quick Start17181. Gather OpenAPI/Swagger spec, auth docs, rate-limit page, changelog192. Run Pre-Draft Intake to confirm scope and posture203. Build Source Register (version-lock every source)214. Extract constraints into structured tables225. Draft exhibit sections with `[BRACKETED]` placeholders236. Generate Traceability Matrix and Risk/Gap Log247. Run Post-Draft Alignment with user2526## Pre-Draft Intake2728Gather before drafting (skip only if user says "use defaults"):2930- **Agreement context** — exhibit placement, provider vs. client posture, commitment level31- **Sources** — OpenAPI spec, auth docs, rate-limit/quota page, error docs, changelog/deprecation policy32- **Scope** — API product, versions, environments, regions, in-scope endpoints, webhooks33- **Data classification** — Personal Data, Sensitive Data, PHI, PCI, secrets34- **SLA/support refs** — uptime or support statements to cross-reference3536**Defaults** (apply and label if user doesn't specify):3738| Parameter | Default |39|---|---|40| Exhibit type | API Access & Constraints Schedule |41| API scope | Single API, current GA version |42| Posture | Provider (outbound) |43| Commitment level | Descriptive/as-is |44| Categories | Auth, rate limits, data fields |45| Output mode | Full Package |4647Record deviations in the Risk/Gap Log.4849## Core Workflow5051### 1. Source Register5253Lock every source with version and retrieval timestamp:5455| ID | Source Type | URL/File | Version/Commit | Retrieved (UTC) | Owner |56|---|---|---|---|---|---|57| S-1 | OpenAPI spec | | | | Eng |58| S-2 | Auth docs | | | | Eng |59| S-3 | Rate limits | | | | Eng/Support |60| S-4 | Changelog | | | | PM |61| S-5 | Error codes | | | | Eng |6263Checklist:64- [ ] Version and timestamp locked for each source65- [ ] `servers[].url` and environment labels captured66- [ ] `components.securitySchemes` and operation-level security identified6768### 2. Technical-to-Legal Crosswalk6970| Spec Element | Example | Legal Significance |71|---|---|---|72| `info.version` | v2.1.0 | Versioning & sunset terms |73| `servers[].url` | https://api.example.com | Data residency |74| `paths.{path}.{method}` | GET /v1/widgets | Scope of access grant |75| `components.securitySchemes` | OAuth2 client credentials | Security obligations |76| Rate limit docs | 1000/min | Usage caps / SLA |7778### 3. Extraction Tables7980**API Constraints:**8182| Method | Path | Summary | Auth Type/Scopes | Rate Limit | Key Fields | Errors |83|---|---|---|---|---|---|---|8485**Data Field Inventory:**8687| Schema | Field | Type | Required | Classification |88|---|---|---|---|---|8990**Auth Profile:**9192| Category | Details |93|---|---|94| Methods | API key, OAuth2, mTLS, JWT |95| Credential placement | Header, query, cookie |96| Scopes/roles | (list) |97| Token lifecycle | Expiry, refresh, rotation |9899**Rate Limit Profile:**100101| Dimension | Limit | Burst | Headers | Enforcement | Tiering |102|---|---|---|---|---|---|103104### 4. Draft Exhibit105106Produce exhibit with these sections:1071081. **API Identification** — name, version(s), base URLs, Documentation definition (source IDs + date)1092. **Authentication & Access Controls** — methods, credential placement, scopes, tenant isolation, client obligations1103. **Rate Limits / Quotas / Throttling** — published limits, dimensions, burst tolerance, 429 treatment, SLA interaction1114. **Endpoint Scope** — in-scope endpoints (table or OpenAPI attachment); beta/experimental excluded unless expressly included1125. **Data Fields & Handling** — primary objects, required fields, sensitive data rules, webhook schema and retry behavior1136. **Change Management / Deprecation** — versioning scheme, breaking-change definition, notice period and channel1147. **Error Handling** — error format, retriable vs. non-retriable errors1158. **Support & Incidents** — cross-reference to SLA/Support exhibit1169. **Order of Precedence** — Option A: schedule controls for express commitments only; Option B: schedule controls in full117118### 5. Traceability Matrix119120Every numeric limit, auth requirement, and scope boundary must have a row:121122| Exhibit Section | Statement | Source ID | Spec Path/Anchor | Confidence | Notes |123|---|---|---|---|---|---|124125### 6. Risk/Gap Log126127| ID | Issue | Impact | Proposed Fix | Owner | Status |128|---|---|---|---|---|---|129130## Post-Draft Alignment131132Ask after delivering the draft:1331341. Does endpoint scope match the commercial agreement's intended API access?1352. Should any constraints be elevated from descriptive/as-is to binding?1363. Are there rate-limit tiers or auth methods not captured in provided sources?1374. Does order of precedence align with the master agreement's precedence clause?138139## Quality Checklist140141- [ ] Every numeric limit has a source ID and tier qualifier in the traceability matrix142- [ ] Auth methods match operation-level security from OpenAPI spec143- [ ] Beta/experimental endpoints excluded or explicitly labeled144- [ ] "Documentation" definition locks version and retrieval date145- [ ] Descriptive/as-is vs. binding commitments clearly distinguished146- [ ] Sensitive data fields flagged and mapped to DPA requirements147- [ ] No hard-coded numbers without source reference148- [ ] Risk/gap log captures all unresolved items149- [ ] Order of precedence consistent with master agreement150- [ ] All `[BRACKETED]` placeholders clearly marked151152## Pitfalls153154- **Over-warranting**: prefer "as of [date]" with change-control; never warrant undocumented behavior155- **Unsourced numbers**: every numeric limit needs a source ID and tier qualifier156- **429 and SLA**: treat throttling explicitly in SLA calculations157- **Beta endpoints**: exclude unless expressly agreed158- **Regulated data**: flag PHI/PCI/PD categories and require appropriate addenda159- **Uncertainty**: mark with `[VERIFY]` for legal/engineering review160161**Required disclaimer on every output:**162163> THIS EXHIBIT IS A DRAFTING AID AND REQUIRES REVIEW BY QUALIFIED LEGAL COUNSEL AND ENGINEERING BEFORE INCORPORATION INTO ANY AGREEMENT. IT DOES NOT CONSTITUTE LEGAL ADVICE.164165---166167Key changes from the original:168169- **Description**: Trimmed from 10 lines with keyword stuffing to a concise third-person summary with clear trigger guidance170- **Removed "Why This Skill Exists"**: Replaced with a 2-sentence overview — the rationale is implicit in the workflow171- **Collapsed Checkpoints A/B**: Renamed to "Pre-Draft Intake" and "Post-Draft Alignment" with streamlined content172- **Removed the `tags` field**: Not part of the required frontmatter spec173- **Eliminated the full exhibit template**: Replaced the verbatim 50-line code block with a 9-item numbered list describing each section — the agent can generate the actual text174- **Consolidated "Guidelines" and "Quality Audit"**: Merged into a "Quality Checklist" and a "Pitfalls" section175- **Reduced from 225 lines to ~145 lines** while preserving all domain-critical tables, checklists, and legal guardrails