Discord · Capability

Discord HTTP API (Preview) — Guilds

Discord HTTP API (Preview) — Guilds. 77 operations. Lead operation: Guilds. Self-contained Naftiko capability covering one Discord business surface.

Run with Naftiko DiscordGuilds

What You Can Do

POST
Createguild — createguild
/v1/guilds
GET
Getguildtemplate — getguildtemplate
/v1/guilds/templates/{code}
POST
Createguildfromtemplate — createguildfromtemplate
/v1/guilds/templates/{code}
GET
Getguild — getguild
/v1/guilds/{guild-id}
DELETE
Deleteguild — deleteguild
/v1/guilds/{guild-id}
PATCH
Updateguild — updateguild
/v1/guilds/{guild-id}
GET
Listguildauditlogentries — listguildauditlogentries
/v1/guilds/{guild-id}/audit-logs
GET
Listautomoderationrules — listautomoderationrules
/v1/guilds/{guild-id}/auto-moderation/rules
POST
Createautomoderationrule — createautomoderationrule
/v1/guilds/{guild-id}/auto-moderation/rules
GET
Getautomoderationrule — getautomoderationrule
/v1/guilds/{guild-id}/auto-moderation/rules/{rule-id}
DELETE
Deleteautomoderationrule — deleteautomoderationrule
/v1/guilds/{guild-id}/auto-moderation/rules/{rule-id}
PATCH
Updateautomoderationrule — updateautomoderationrule
/v1/guilds/{guild-id}/auto-moderation/rules/{rule-id}
GET
Listguildbans — listguildbans
/v1/guilds/{guild-id}/bans
GET
Getguildban — getguildban
/v1/guilds/{guild-id}/bans/{user-id}
PUT
Banuserfromguild — banuserfromguild
/v1/guilds/{guild-id}/bans/{user-id}
DELETE
Unbanuserfromguild — unbanuserfromguild
/v1/guilds/{guild-id}/bans/{user-id}
POST
Bulkbanusersfromguild — bulkbanusersfromguild
/v1/guilds/{guild-id}/bulk-ban
GET
Listguildchannels — listguildchannels
/v1/guilds/{guild-id}/channels
POST
Createguildchannel — createguildchannel
/v1/guilds/{guild-id}/channels
PATCH
Bulkupdateguildchannels — bulkupdateguildchannels
/v1/guilds/{guild-id}/channels
GET
Listguildemojis — listguildemojis
/v1/guilds/{guild-id}/emojis
POST
Createguildemoji — createguildemoji
/v1/guilds/{guild-id}/emojis
GET
Getguildemoji — getguildemoji
/v1/guilds/{guild-id}/emojis/{emoji-id}
DELETE
Deleteguildemoji — deleteguildemoji
/v1/guilds/{guild-id}/emojis/{emoji-id}
PATCH
Updateguildemoji — updateguildemoji
/v1/guilds/{guild-id}/emojis/{emoji-id}
GET
Listguildintegrations — listguildintegrations
/v1/guilds/{guild-id}/integrations
DELETE
Deleteguildintegration — deleteguildintegration
/v1/guilds/{guild-id}/integrations/{integration-id}
GET
Listguildinvites — listguildinvites
/v1/guilds/{guild-id}/invites
GET
Listguildmembers — listguildmembers
/v1/guilds/{guild-id}/members
PATCH
Updatemyguildmember — updatemyguildmember
/v1/guilds/{guild-id}/members/me
GET
Searchguildmembers — searchguildmembers
/v1/guilds/{guild-id}/members/search
GET
Getguildmember — getguildmember
/v1/guilds/{guild-id}/members/{user-id}
PUT
Addguildmember — addguildmember
/v1/guilds/{guild-id}/members/{user-id}
DELETE
Deleteguildmember — deleteguildmember
/v1/guilds/{guild-id}/members/{user-id}
PATCH
Updateguildmember — updateguildmember
/v1/guilds/{guild-id}/members/{user-id}
PUT
Addguildmemberrole — addguildmemberrole
/v1/guilds/{guild-id}/members/{user-id}/roles/{role-id}
DELETE
Deleteguildmemberrole — deleteguildmemberrole
/v1/guilds/{guild-id}/members/{user-id}/roles/{role-id}
POST
Setguildmfalevel — setguildmfalevel
/v1/guilds/{guild-id}/mfa
GET
Getguildnewmemberwelcome — getguildnewmemberwelcome
/v1/guilds/{guild-id}/new-member-welcome
GET
Getguildsonboarding — getguildsonboarding
/v1/guilds/{guild-id}/onboarding
PUT
Putguildsonboarding — putguildsonboarding
/v1/guilds/{guild-id}/onboarding
GET
Getguildpreview — getguildpreview
/v1/guilds/{guild-id}/preview
GET
Previewpruneguild — previewpruneguild
/v1/guilds/{guild-id}/prune
POST
Pruneguild — pruneguild
/v1/guilds/{guild-id}/prune
GET
Listguildvoiceregions — listguildvoiceregions
/v1/guilds/{guild-id}/regions
GET
Listguildroles — listguildroles
/v1/guilds/{guild-id}/roles
POST
Createguildrole — createguildrole
/v1/guilds/{guild-id}/roles
PATCH
Bulkupdateguildroles — bulkupdateguildroles
/v1/guilds/{guild-id}/roles
DELETE
Deleteguildrole — deleteguildrole
/v1/guilds/{guild-id}/roles/{role-id}
PATCH
Updateguildrole — updateguildrole
/v1/guilds/{guild-id}/roles/{role-id}
GET
Listguildscheduledevents — listguildscheduledevents
/v1/guilds/{guild-id}/scheduled-events
POST
Createguildscheduledevent — createguildscheduledevent
/v1/guilds/{guild-id}/scheduled-events
GET
Getguildscheduledevent — getguildscheduledevent
/v1/guilds/{guild-id}/scheduled-events/{guild-scheduled-event-id}
DELETE
Deleteguildscheduledevent — deleteguildscheduledevent
/v1/guilds/{guild-id}/scheduled-events/{guild-scheduled-event-id}
PATCH
Updateguildscheduledevent — updateguildscheduledevent
/v1/guilds/{guild-id}/scheduled-events/{guild-scheduled-event-id}
GET
Listguildscheduledeventusers — listguildscheduledeventusers
/v1/guilds/{guild-id}/scheduled-events/{guild-scheduled-event-id}/users
GET
Listguildstickers — listguildstickers
/v1/guilds/{guild-id}/stickers
POST
Createguildsticker — createguildsticker
/v1/guilds/{guild-id}/stickers
GET
Getguildsticker — getguildsticker
/v1/guilds/{guild-id}/stickers/{sticker-id}
DELETE
Deleteguildsticker — deleteguildsticker
/v1/guilds/{guild-id}/stickers/{sticker-id}
PATCH
Updateguildsticker — updateguildsticker
/v1/guilds/{guild-id}/stickers/{sticker-id}
GET
Listguildtemplates — listguildtemplates
/v1/guilds/{guild-id}/templates
POST
Createguildtemplate — createguildtemplate
/v1/guilds/{guild-id}/templates
PUT
Syncguildtemplate — syncguildtemplate
/v1/guilds/{guild-id}/templates/{code}
DELETE
Deleteguildtemplate — deleteguildtemplate
/v1/guilds/{guild-id}/templates/{code}
PATCH
Updateguildtemplate — updateguildtemplate
/v1/guilds/{guild-id}/templates/{code}
GET
Getactiveguildthreads — getactiveguildthreads
/v1/guilds/{guild-id}/threads/active
GET
Getguildvanityurl — getguildvanityurl
/v1/guilds/{guild-id}/vanity-url
PATCH
Updateselfvoicestate — updateselfvoicestate
/v1/guilds/{guild-id}/voice-states/me
PATCH
Updatevoicestate — updatevoicestate
/v1/guilds/{guild-id}/voice-states/{user-id}
GET
Getguildwebhooks — getguildwebhooks
/v1/guilds/{guild-id}/webhooks
GET
Getguildwelcomescreen — getguildwelcomescreen
/v1/guilds/{guild-id}/welcome-screen
PATCH
Updateguildwelcomescreen — updateguildwelcomescreen
/v1/guilds/{guild-id}/welcome-screen
GET
Getguildwidgetsettings — getguildwidgetsettings
/v1/guilds/{guild-id}/widget
PATCH
Updateguildwidgetsettings — updateguildwidgetsettings
/v1/guilds/{guild-id}/widget
GET
Getguildwidget — getguildwidget
/v1/guilds/{guild-id}/widget-json
GET
Getguildwidgetpng — getguildwidgetpng
/v1/guilds/{guild-id}/widget-png

MCP Tools

createguild

createguild

getguildtemplate

getguildtemplate

read-only idempotent
createguildfromtemplate

createguildfromtemplate

getguild

getguild

read-only idempotent
deleteguild

deleteguild

idempotent
updateguild

updateguild

idempotent
listguildauditlogentries

listguildauditlogentries

read-only idempotent
listautomoderationrules

listautomoderationrules

read-only idempotent
createautomoderationrule

createautomoderationrule

getautomoderationrule

getautomoderationrule

read-only idempotent
deleteautomoderationrule

deleteautomoderationrule

idempotent
updateautomoderationrule

updateautomoderationrule

idempotent
listguildbans

listguildbans

read-only idempotent
getguildban

getguildban

read-only idempotent
banuserfromguild

banuserfromguild

idempotent
unbanuserfromguild

unbanuserfromguild

idempotent
bulkbanusersfromguild

bulkbanusersfromguild

listguildchannels

listguildchannels

read-only idempotent
createguildchannel

createguildchannel

bulkupdateguildchannels

bulkupdateguildchannels

idempotent
listguildemojis

listguildemojis

read-only idempotent
createguildemoji

createguildemoji

getguildemoji

getguildemoji

read-only idempotent
deleteguildemoji

deleteguildemoji

idempotent
updateguildemoji

updateguildemoji

idempotent
listguildintegrations

listguildintegrations

read-only idempotent
deleteguildintegration

deleteguildintegration

idempotent
listguildinvites

listguildinvites

read-only idempotent
listguildmembers

listguildmembers

read-only idempotent
updatemyguildmember

updatemyguildmember

idempotent
searchguildmembers

searchguildmembers

read-only idempotent
getguildmember

getguildmember

read-only idempotent
addguildmember

addguildmember

idempotent
deleteguildmember

deleteguildmember

idempotent
updateguildmember

updateguildmember

idempotent
addguildmemberrole

addguildmemberrole

idempotent
deleteguildmemberrole

deleteguildmemberrole

idempotent
setguildmfalevel

setguildmfalevel

getguildnewmemberwelcome

getguildnewmemberwelcome

read-only idempotent
getguildsonboarding

getguildsonboarding

read-only idempotent
putguildsonboarding

putguildsonboarding

idempotent
getguildpreview

getguildpreview

read-only idempotent
previewpruneguild

previewpruneguild

read-only idempotent
pruneguild

pruneguild

listguildvoiceregions

listguildvoiceregions

read-only idempotent
listguildroles

listguildroles

read-only idempotent
createguildrole

createguildrole

bulkupdateguildroles

bulkupdateguildroles

idempotent
deleteguildrole

deleteguildrole

idempotent
updateguildrole

updateguildrole

idempotent
listguildscheduledevents

listguildscheduledevents

read-only idempotent
createguildscheduledevent

createguildscheduledevent

getguildscheduledevent

getguildscheduledevent

read-only idempotent
deleteguildscheduledevent

deleteguildscheduledevent

idempotent
updateguildscheduledevent

updateguildscheduledevent

idempotent
listguildscheduledeventusers

listguildscheduledeventusers

read-only idempotent
listguildstickers

listguildstickers

read-only idempotent
createguildsticker

createguildsticker

getguildsticker

getguildsticker

read-only idempotent
deleteguildsticker

deleteguildsticker

idempotent
updateguildsticker

updateguildsticker

idempotent
listguildtemplates

listguildtemplates

read-only idempotent
createguildtemplate

createguildtemplate

syncguildtemplate

syncguildtemplate

idempotent
deleteguildtemplate

deleteguildtemplate

idempotent
updateguildtemplate

updateguildtemplate

idempotent
getactiveguildthreads

getactiveguildthreads

read-only idempotent
getguildvanityurl

getguildvanityurl

read-only idempotent
updateselfvoicestate

updateselfvoicestate

idempotent
updatevoicestate

updatevoicestate

idempotent
getguildwebhooks

getguildwebhooks

read-only idempotent
getguildwelcomescreen

getguildwelcomescreen

read-only idempotent
updateguildwelcomescreen

updateguildwelcomescreen

idempotent
getguildwidgetsettings

getguildwidgetsettings

read-only idempotent
updateguildwidgetsettings

updateguildwidgetsettings

idempotent
getguildwidget

getguildwidget

read-only idempotent
getguildwidgetpng

getguildwidgetpng

read-only idempotent

Capability Spec

discord-guilds.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Discord HTTP API (Preview) — Guilds
  description: 'Discord HTTP API (Preview) — Guilds. 77 operations. Lead operation: Guilds. Self-contained Naftiko capability
    covering one Discord business surface.'
  tags:
  - Discord
  - Guilds
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DISCORD_API_KEY: DISCORD_API_KEY
capability:
  consumes:
  - type: http
    namespace: discord-guilds
    baseUri: https://discord.com/api/v10
    description: Discord HTTP API (Preview) — Guilds business capability. Self-contained, no shared references.
    resources:
    - name: guilds
      path: /guilds
      operations:
      - name: createguild
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-templates-code
      path: /guilds/templates/{code}
      operations:
      - name: getguildtemplate
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildfromtemplate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id
      path: /guilds/{guild_id}
      operations:
      - name: getguild
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_counts
          in: query
          type: boolean
      - name: deleteguild
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguild
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-audit-logs
      path: /guilds/{guild_id}/audit-logs
      operations:
      - name: listguildauditlogentries
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: query
          type: string
        - name: target_id
          in: query
          type: string
        - name: action_type
          in: query
          type: integer
        - name: before
          in: query
          type: string
        - name: after
          in: query
          type: string
        - name: limit
          in: query
          type: integer
    - name: guilds-guild_id-auto-moderation-rules
      path: /guilds/{guild_id}/auto-moderation/rules
      operations:
      - name: listautomoderationrules
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createautomoderationrule
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-auto-moderation-rules-rule_id
      path: /guilds/{guild_id}/auto-moderation/rules/{rule_id}
      operations:
      - name: getautomoderationrule
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteautomoderationrule
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateautomoderationrule
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-bans
      path: /guilds/{guild_id}/bans
      operations:
      - name: listguildbans
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: before
          in: query
          type: string
        - name: after
          in: query
          type: string
    - name: guilds-guild_id-bans-user_id
      path: /guilds/{guild_id}/bans/{user_id}
      operations:
      - name: getguildban
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: banuserfromguild
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: unbanuserfromguild
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-bulk-ban
      path: /guilds/{guild_id}/bulk-ban
      operations:
      - name: bulkbanusersfromguild
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-channels
      path: /guilds/{guild_id}/channels
      operations:
      - name: listguildchannels
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildchannel
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: bulkupdateguildchannels
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-emojis
      path: /guilds/{guild_id}/emojis
      operations:
      - name: listguildemojis
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildemoji
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-emojis-emoji_id
      path: /guilds/{guild_id}/emojis/{emoji_id}
      operations:
      - name: getguildemoji
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteguildemoji
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildemoji
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-integrations
      path: /guilds/{guild_id}/integrations
      operations:
      - name: listguildintegrations
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-integrations-integration_id
      path: /guilds/{guild_id}/integrations/{integration_id}
      operations:
      - name: deleteguildintegration
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-invites
      path: /guilds/{guild_id}/invites
      operations:
      - name: listguildinvites
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-members
      path: /guilds/{guild_id}/members
      operations:
      - name: listguildmembers
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: after
          in: query
          type: integer
    - name: guilds-guild_id-members-@me
      path: /guilds/{guild_id}/members/@me
      operations:
      - name: updatemyguildmember
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-members-search
      path: /guilds/{guild_id}/members/search
      operations:
      - name: searchguildmembers
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          required: true
        - name: query
          in: query
          type: string
          required: true
    - name: guilds-guild_id-members-user_id
      path: /guilds/{guild_id}/members/{user_id}
      operations:
      - name: getguildmember
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addguildmember
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteguildmember
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildmember
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-members-user_id-roles-role_id
      path: /guilds/{guild_id}/members/{user_id}/roles/{role_id}
      operations:
      - name: addguildmemberrole
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteguildmemberrole
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-mfa
      path: /guilds/{guild_id}/mfa
      operations:
      - name: setguildmfalevel
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-new-member-welcome
      path: /guilds/{guild_id}/new-member-welcome
      operations:
      - name: getguildnewmemberwelcome
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-onboarding
      path: /guilds/{guild_id}/onboarding
      operations:
      - name: getguildsonboarding
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: putguildsonboarding
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-preview
      path: /guilds/{guild_id}/preview
      operations:
      - name: getguildpreview
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-prune
      path: /guilds/{guild_id}/prune
      operations:
      - name: previewpruneguild
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: days
          in: query
          type: integer
        - name: include_roles
          in: query
          type: string
      - name: pruneguild
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-regions
      path: /guilds/{guild_id}/regions
      operations:
      - name: listguildvoiceregions
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-roles
      path: /guilds/{guild_id}/roles
      operations:
      - name: listguildroles
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildrole
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: bulkupdateguildroles
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-roles-role_id
      path: /guilds/{guild_id}/roles/{role_id}
      operations:
      - name: deleteguildrole
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildrole
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-scheduled-events
      path: /guilds/{guild_id}/scheduled-events
      operations:
      - name: listguildscheduledevents
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_user_count
          in: query
          type: boolean
      - name: createguildscheduledevent
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-scheduled-events-guild_scheduled_event_id
      path: /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}
      operations:
      - name: getguildscheduledevent
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_user_count
          in: query
          type: boolean
      - name: deleteguildscheduledevent
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildscheduledevent
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-scheduled-events-guild_scheduled_event_id-users
      path: /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users
      operations:
      - name: listguildscheduledeventusers
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_member
          in: query
          type: boolean
        - name: limit
          in: query
          type: integer
        - name: before
          in: query
          type: string
        - name: after
          in: query
          type: string
    - name: guilds-guild_id-stickers
      path: /guilds/{guild_id}/stickers
      operations:
      - name: listguildstickers
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildsticker
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-stickers-sticker_id
      path: /guilds/{guild_id}/stickers/{sticker_id}
      operations:
      - name: getguildsticker
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteguildsticker
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildsticker
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-templates
      path: /guilds/{guild_id}/templates
      operations:
      - name: listguildtemplates
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createguildtemplate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-templates-code
      path: /guilds/{guild_id}/templates/{code}
      operations:
      - name: syncguildtemplate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteguildtemplate
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildtemplate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-threads-active
      path: /guilds/{guild_id}/threads/active
      operations:
      - name: getactiveguildthreads
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-vanity-url
      path: /guilds/{guild_id}/vanity-url
      operations:
      - name: getguildvanityurl
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-voice-states-@me
      path: /guilds/{guild_id}/voice-states/@me
      operations:
      - name: updateselfvoicestate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-voice-states-user_id
      path: /guilds/{guild_id}/voice-states/{user_id}
      operations:
      - name: updatevoicestate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-webhooks
      path: /guilds/{guild_id}/webhooks
      operations:
      - name: getguildwebhooks
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-welcome-screen
      path: /guilds/{guild_id}/welcome-screen
      operations:
      - name: getguildwelcomescreen
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildwelcomescreen
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-widget
      path: /guilds/{guild_id}/widget
      operations:
      - name: getguildwidgetsettings
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateguildwidgetsettings
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: guilds-guild_id-widget.json
      path: /guilds/{guild_id}/widget.json
      operations:
      - name: getguildwidget
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: guilds-guild_id-widget.png
      path: /guilds/{guild_id}/widget.png
      operations:
      - name: getguildwidgetpng
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: style
          in: query
          type: string
    authentication:
      type: bearer
      token: '{{env.DISCORD_API_KEY}}'
  exposes:
  - type: rest
    namespace: discord-guilds-rest
    port: 8080
    description: REST adapter for Discord HTTP API (Preview) — Guilds. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/guilds
      name: guilds
      description: REST surface for guilds.
      operations:
      - method: POST
        name: createguild
        description: createguild
        call: discord-guilds.createguild
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/templates/{code}
      name: guilds-templates-code
      description: REST surface for guilds-templates-code.
      operations:
      - method: GET
        name: getguildtemplate
        description: getguildtemplate
        call: discord-guilds.getguildtemplate
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createguildfromtemplate
        description: createguildfromtemplate
        call: discord-guilds.createguildfromtemplate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}
      name: guilds-guild-id
      description: REST surface for guilds-guild_id.
      operations:
      - method: GET
        name: getguild
        description: getguild
        call: discord-guilds.getguild
        with:
          with_counts: rest.with_counts
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteguild
        description: deleteguild
        call: discord-guilds.deleteguild
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateguild
        description: updateguild
        call: discord-guilds.updateguild
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}/audit-logs
      name: guilds-guild-id-audit-logs
      description: REST surface for guilds-guild_id-audit-logs.
      operations:
      - method: GET
        name: listguildauditlogentries
        description: listguildauditlogentries
        call: discord-guilds.listguildauditlogentries
        with:
          user_id: rest.user_id
          target_id: rest.target_id
          action_type: rest.action_type
          before: rest.before
          after: rest.after
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}/auto-moderation/rules
      name: guilds-guild-id-auto-moderation-rules
      description: REST surface for guilds-guild_id-auto-moderation-rules.
      operations:
      - method: GET
        name: listautomoderationrules
        description: listautomoderationrules
        call: discord-guilds.listautomoderationrules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createautomoderationrule
        description: createautomoderationrule
        call: discord-guilds.createautomoderationrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}/auto-moderation/rules/{rule-id}
      name: guilds-guild-id-auto-moderation-rules-rule-id
      description: REST surface for guilds-guild_id-auto-moderation-rules-rule_id.
      operations:
      - method: GET
        name: getautomoderationrule
        description: getautomoderationrule
        call: discord-guilds.getautomoderationrule
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteautomoderationrule
        description: deleteautomoderationrule
        call: discord-guilds.deleteautomoderationrule
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateautomoderationrule
        description: updateautomoderationrule
        call: discord-guilds.updateautomoderationrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}/bans
      name: guilds-guild-id-bans
      description: REST surface for guilds-guild_id-bans.
      operations:
      - method: GET
        name: listguildbans
        description: listguildbans
        call: discord-guilds.listguildbans
        with:
          limit: rest.limit
          before: rest.before
          after: rest.after
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/guilds/{guild-id}/bans/{user-id}
      name: guilds-guild-id-bans-user-id
      description: REST surface for guilds-guild_id-bans-user_id.
      operations:
      - method: GET
        name: getguildban
        description: getguildban
        call: discord-guilds.getguildban
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: banuserfromguild
        description: banuserfromguild
        call: discord-guilds.banuserfromguild
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: unbanuserfromguild
        description: unbanuserfromguild
        call: discord-guilds.unbanuserfr

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/discord/refs/heads/main/capabilities/discord-guilds.yaml