Skip to content

fix(slack.com): replace admin-only spec with current scoped Web API (chat, conversations, users, canvases, bookmarks)#21869

Open
elena-anagn wants to merge 1 commit into
jentic:mainfrom
elena-anagn:fix/slack-scoped-web-api-1.8.0
Open

fix(slack.com): replace admin-only spec with current scoped Web API (chat, conversations, users, canvases, bookmarks)#21869
elena-anagn wants to merge 1 commit into
jentic:mainfrom
elena-anagn:fix/slack-scoped-web-api-1.8.0

Conversation

@elena-anagn

Copy link
Copy Markdown

Summary

The current slack.com/main/1.7.0 spec is Admin-API-only — all 50 operations are admin.*, so core methods like chat.postMessage, conversations.list, and auth.test are absent (see jentic-one-feedback #45). This adds 1.8.0, a scoped Slack Web API spec covering the everyday method families.

What's in 1.8.0

  • 67 methods (51 POST + 16 GET) across chat (13), conversations (28), users (13), canvases (6), bookmarks (4), auth (3).
  • GET read-methods modeled as query parameters; POST methods as application/x-www-form-urlencoded (+ application/json where documented) request bodies.
  • Two security schemes: slackBearer (http/bearer — supports static xoxb-… tokens, the fix for Feature: Display Security Requirements in OpenAPI IO Extractor #45's second half) and slackOAuth (oauth2, 35 scopes).
  • Includes post-2020 families (canvases.*, bookmarks.*) that no official Slack OpenAPI contains.

Provenance & method

Slack no longer publishes an official OpenAPI document — the last one (slackapi/slack-api-specs) is archived and frozen at 2020 (see jentic-one-feedback #46). This spec was generated from Slack's current documentation at docs.slack.dev/reference/methods (retrieved 2026-07-09) by parsing the per-method markdown pages; the generator is reproducible. Source recorded in info.x-jentic-source-url.

Validation

  • Validates clean (oas-validate: 1 passing, 0 failing, 0 warnings).
  • Live-tested against Slack: chat.postMessageok:true; conversations.list / bookmarks.list reachable and well-formed (return missing_scope, not unknown_method).

Requested action

Promote 1.8.0 as the current slack.com/main spec and retire the admin-only 1.7.0.

Note / follow-up

This is a scoped subset (67 of Slack's ~200+ methods) and intentionally omits the admin.* operations the old spec had. Those can be merged back in a follow-up if desired. Closes the spec half of #45.

🤖 Generated with Claude Code

The existing slack.com/main/1.7.0 spec is Admin-API-only (all 50 ops are
admin.*), so core methods like chat.postMessage, conversations.list, and
auth.test are missing. This adds 1.8.0, a scoped Slack Web API spec covering
chat, conversations, users, canvases, bookmarks, and auth (67 methods).

Slack no longer publishes an official OpenAPI document (the last one is
archived and frozen at 2020), so this was generated from Slack's current
docs at docs.slack.dev/reference/methods (2026-07-09). Adds a bearer security
scheme so static xoxb- tokens work without OAuth. Validates clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@elena-anagn

Copy link
Copy Markdown
Author

Why this PR exists — the backstory

This came out of dogfooding Jentic One, not a spec-cleanup pass. I was building a personal Design Digest — a scheduled routine that pulls design/product news each morning and pushes it to Notion + an email, brokered through Jentic One — and wanted to add a Slack notification as one of the channels.

That's where the trail started, and each step turned up something worth fixing:

  1. Slack couldn't post at all. Importing slack.com and trying chat.postMessage failed — the directory's spec is Admin-API-only (50 admin.* ops, zero core Web API). Filed as jentic-one-feedback Feature: Display Security Requirements in OpenAPI IO Extractor #45.
  2. No token option. The spec declared OAuth2-only, so Jentic's credential UI offered no Bearer-token path — even though Slack accepts static xoxb-… tokens. Second half of Feature: Display Security Requirements in OpenAPI IO Extractor #45.
  3. The "official" fix was a fossil. The obvious source (slackapi/slack-api-specs) turned out to be archived and frozen at 2020, and Slack's live-hosted copy is the same stale v1.7.0. Slack no longer publishes any official OpenAPI. The current API lives only as HTML docs at docs.slack.dev.
  4. The contribution guidance didn't cover this case. Following the repo's own agent instructions led straight to the stale spec — there's no guidance for "find the latest API, in whatever format, and generate an OpenAPI from it." Filed as jentic-one-feedback [AUTO] Import OpenAPI to Jentic Oak: #46.

So this PR is the end of that thread: a current Slack spec, generated from today's docs (reproducibly), with a bearer scheme so a token just works — fixing the concrete thing that blocked my digest.

The bigger point: we're hoping Jentic's users and the community will do exactly this — hit a gap, source the latest API, convert it, and contribute it back so the directory compounds in quality over time. This is us walking that loop ourselves, end to end, and fixing the potholes (#45, #46) we tripped on along the way so the next contributor doesn't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant