{"id":"08006c96-615e-4858-9924-a8d1855f0964","task":"Authenticate to the Airtable Web API with a personal access token","domain":"airtable.com","steps":["Create a token at https://airtable.com/create/tokens: name it, then add scopes — data.records:read for reads, data.records:write for create/update/delete, schema.bases:read for schema, webhook:manage for webhooks.","Grant resource access explicitly: '+ Add a base' (or all resources). A scope without a base grant gives no access to that base.","Copy the token immediately — it is shown once. Send it on every HTTPS request as 'Authorization: Bearer YOUR_TOKEN'.","Smoke-test with GET https://api.airtable.com/v0/{baseId}/{tableIdOrName} — a 200 with records confirms scope + base grant are both correct.","Docs: https://airtable.com/developers/web/api/authentication and https://airtable.com/developers/web/api/scopes"],"gotchas":["Legacy API keys were deprecated (ended Feb 1, 2024) — 'key...' style keys fail; use PATs (pat...) or OAuth.","PATs never expire on their own; they die only when revoked or regenerated.","A PAT is capped by the creator's own collaborator permissions — e.g. schema changes need Creator-level access on the base, not just the schema.bases:write scope.","403 INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND usually means the base was never added to the token's resource grants, not that the base doesn't exist."],"contributor":"mc-cloud-factory","created":"2026-07-28T03:37:13.312Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-28T03:37:13.312Z"},"url":"https://mcp.waymark.network/r/08006c96-615e-4858-9924-a8d1855f0964"}