Knock Members API

The Members API from Knock — 2 operation(s) for members.

Operations 3

DELETE /v1/members/{id} Remove a member #
GET /v1/members/{id} Get a member #
GET /v1/members List members #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/knock-app-members-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

knock-app-members-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Knock Management API (mAPI) Members API
  version: '1.0'
  description: Knock Management API (mAPI) — the resource-management surface for Knock. Programmatic CRUD over Workflows, Channels, Email Layouts, Partials, Templates, Translations, Audiences, Broadcasts, Guides, Message Types, Variables, Members, Channel Groups, Environments, Branches, Commits, and API Keys. Distinct from the runtime Knock API (api.knock.app) — mAPI lives at control.knock.app and is what powers the Knock CLI and MCP server.
  contact:
    name: Knock
    url: https://knock.app
servers:
- url: https://control.knock.app
  variables: {}
security:
- BearerAuth: []
tags:
- name: Members
paths:
  /v1/members/{id}:
    delete:
      callbacks: {}
      description: Removes a member from the account.
      operationId: removeMember
      parameters:
      - description: The ID of the member to remove.
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
          x-struct: null
          x-validate: null
      responses:
        '204':
          description: No Content
      summary: Remove a member
      tags:
      - Members
    get:
      callbacks: {}
      description: Returns a single member by their ID.
      operationId: getMember
      parameters:
      - description: The ID of the member to retrieve.
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
          x-struct: null
          x-validate: null
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
          description: OK
      summary: Get a member
      tags:
      - Members
  /v1/members:
    get:
      callbacks: {}
      description: Returns a paginated list of members for the current account. Optionally filter by role.
      operationId: listMembers
      parameters:
      - description: 'Filter members by role. One of: owner, admin, member, production_only_member, billing, support.'
        in: query
        name: role
        required: false
        schema:
          type: string
          x-struct: null
          x-validate: null
      - description: Filter members by email address (exact match).
        in: query
        name: email
        required: false
        schema:
          type: string
          x-struct: null
          x-validate: null
      - description: The cursor to fetch entries after.
        in: query
        name: after
        required: false
        schema:
          type: string
          x-struct: null
          x-validate: null
      - description: The cursor to fetch entries before.
        in: query
        name: before
        required: false
        schema:
          type: string
          x-struct: null
          x-validate: null
      - description: The number of entries to fetch per-page.
        in: query
        name: limit
        required: false
        schema:
          type: integer
          x-struct: null
          x-validate: null
      responses:
        '200':
          content:
            application/json:
              schema:
                description: A paginated list of Member. Contains a list of entries and page information.
                example:
                  entries:
                  - created_at: '2024-01-15T10:30:00Z'
                    id: d4b8e8e0-1234-5678-9abc-def012345678
                    role: admin
                    updated_at: '2024-06-20T14:45:00Z'
                    user:
                      avatar_url: https://www.gravatar.com/avatar/abc123
                      created_at: '2024-01-10T08:00:00Z'
                      email: jane@example.com
                      id: a1b2c3d4-5678-9abc-def0-123456789abc
                      name: Jane Doe
                      updated_at: '2024-06-18T12:00:00Z'
                  page_info:
                    after: null
                    before: null
                    page_size: 25
                properties:
                  entries:
                    description: A list of entries.
                    items:
                      $ref: '#/components/schemas/Member'
                    type: array
                    x-struct: null
                    x-validate: null
                  page_info:
                    $ref: '#/components/schemas/PageInfo'
                required:
                - entries
                - page_info
                title: PaginatedMemberResponse
                type: object
                x-struct: null
                x-validate: null
          description: OK
      summary: List members
      tags:
      - Members
components:
  schemas:
    MemberUser:
      description: Information about a user within the Knock dashboard. Not to be confused with an external user (recipient) of a workflow.
      example:
        avatar_url: https://www.gravatar.com/avatar/abc123
        created_at: '2024-01-10T08:00:00Z'
        email: jane@example.com
        id: a1b2c3d4-5678-9abc-def0-123456789abc
        name: Jane Doe
        updated_at: '2024-06-18T12:00:00Z'
      properties:
        avatar_url:
          description: The URL of the user's avatar image.
          type:
          - string
          - 'null'
          x-struct: null
          x-validate: null
        created_at:
          description: The timestamp of when the user was created.
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        email:
          description: The user's email address.
          format: email
          type: string
          x-struct: null
          x-validate: null
        id:
          description: The user's unique identifier.
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        name:
          description: The user's display name.
          type:
          - string
          - 'null'
          x-struct: null
          x-validate: null
        updated_at:
          description: The timestamp of when the user was last updated.
          format: date-time
          type: string
          x-struct: null
          x-validate: null
      required:
      - id
      - email
      - created_at
      - updated_at
      title: MemberUser
      type: object
      x-struct: Elixir.ControlWeb.V1.Specs.MemberUser
      x-validate: null
    Member:
      description: A member of the account.
      example:
        created_at: '2024-01-15T10:30:00Z'
        id: d4b8e8e0-1234-5678-9abc-def012345678
        role: admin
        updated_at: '2024-06-20T14:45:00Z'
        user:
          avatar_url: https://www.gravatar.com/avatar/abc123
          created_at: '2024-01-10T08:00:00Z'
          email: jane@example.com
          id: a1b2c3d4-5678-9abc-def0-123456789abc
          name: Jane Doe
          updated_at: '2024-06-18T12:00:00Z'
      properties:
        created_at:
          description: The timestamp of when the member joined the account.
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        id:
          description: The unique identifier of the member.
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        role:
          description: The member's role in the account.
          enum:
          - owner
          - admin
          - member
          - production_only_member
          - billing
          - support
          type: string
          x-struct: null
          x-validate: null
        updated_at:
          description: The timestamp of when the member was last updated.
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        user:
          $ref: '#/components/schemas/MemberUser'
      required:
      - id
      - role
      - user
      - created_at
      - updated_at
      title: Member
      type: object
      x-struct: Elixir.ControlWeb.V1.Specs.Member
      x-validate: null
    PageInfo:
      description: The information about a paginated result.
      example:
        after: null
        before: null
        page_size: 25
      properties:
        after:
          description: The cursor to fetch entries after. Will only be present if there are more entries to fetch.
          type:
          - string
          - 'null'
          x-struct: null
          x-validate: null
        before:
          description: The cursor to fetch entries before. Will only be present if there are more entries to fetch before the current page.
          type:
          - string
          - 'null'
          x-struct: null
          x-validate: null
        page_size:
          description: The number of entries to fetch per-page.
          type: integer
          x-struct: null
          x-validate: null
      required:
      - page_size
      title: PageInfo
      type: object
      x-struct: Elixir.ControlWeb.V1.Specs.PageInfo
      x-validate: null
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Knock service token (kst_...) as a Bearer token.