> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shoply.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove a reseller's member

> Takes one person off a reseller's team. Their sessions and the API keys they made stop working. The team's owner cannot be removed.

Needs the `resellers.write` permission (Change Resellers).



## OpenAPI

````yaml /api-reference/openapi.json delete /stores/{storeId}/resellers/{resellerId}/members/{memberId}
openapi: 3.1.0
info:
  title: Shoply API
  version: '1'
  description: >-
    Everything a store's own server can do with a secret API key: its catalogue,
    orders, customers, marketing, finance and the rest of what the dashboard
    does. And the Customer API, which a buyer's own device asks with a token of
    theirs.
servers:
  - url: https://api.shoply.gg/v1
security:
  - apiKey: []
tags:
  - name: API key
  - name: Store
  - name: Domain
  - name: Payment methods
  - name: Analytics
  - name: Storefronts
  - name: Storefront code
  - name: Payment Routing
  - name: Custom payment methods
  - name: Products
  - name: Product pictures
  - name: Stock
  - name: Categories
  - name: Upsells
  - name: Subscriptions
  - name: Orders
  - name: Invoices
  - name: Reviews
  - name: Coupons
  - name: Coupon categories
  - name: Coupon pop-up
  - name: Sales
  - name: Blog
  - name: Search settings
  - name: Redirects
  - name: Sitemap
  - name: Cart Recovery
  - name: Email Marketing
  - name: Email Templates
  - name: Customers
  - name: Affiliates
  - name: Support Tickets
  - name: Teams
  - name: Resellers
  - name: Blacklist
  - name: Allowlist
  - name: Fraud protection
  - name: Disputes
  - name: Finance
  - name: Tax
  - name: Expenses
  - name: Expense setup
  - name: API requests
  - name: Webhook endpoints
  - name: Webhook deliveries
  - name: Customer API
paths:
  /stores/{storeId}/resellers/{resellerId}/members/{memberId}:
    delete:
      tags:
        - Resellers
      summary: Remove a reseller's member
      description: >-
        Takes one person off a reseller's team. Their sessions and the API keys
        they made stop working. The team's owner cannot be removed.


        Needs the `resellers.write` permission (Change Resellers).
      operationId: resellers.removeMember
      parameters:
        - name: storeId
          in: path
          required: true
          description: >-
            The store's ID. A key reaches the store it was made in: `GET /key`
            answers which.
          schema:
            type: string
        - name: resellerId
          in: path
          required: true
          description: The reseller.
          schema:
            type: string
        - name: memberId
          in: path
          required: true
          description: The member, from the reseller's `team`.
          schema:
            type: string
        - $ref: '#/components/parameters/IdempotencyKey'
      responses:
        '200':
          description: It worked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    nullable: true
                  code:
                    nullable: true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      website:
                        type: string
                      email:
                        type: string
                      tierId:
                        type: string
                      tierName:
                        type: string
                      tierDiscount:
                        type: number
                      discount:
                        nullable: true
                      paysOff:
                        type: number
                      balance:
                        type: integer
                      status:
                        type: string
                      members:
                        type: integer
                      spent30:
                        type: integer
                      lastOrderAt:
                        type: string
                      joinedAt:
                        type: string
                      removedAt:
                        nullable: true
                      inviteName:
                        nullable: true
                      team:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            email:
                              type: string
                            owner:
                              type: boolean
                            permissions:
                              type: array
                              items:
                                type: string
                            access:
                              type: object
                              properties:
                                buy:
                                  type: boolean
                                topup:
                                  type: boolean
                                keys:
                                  type: boolean
                                api:
                                  type: boolean
                            twoFactor:
                              type: boolean
                            verified:
                              type: boolean
                            lastSeenAt:
                              nullable: true
                            joinedAt:
                              type: string
                      catalogue:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            permissions:
                              type: array
                              items:
                                type: object
                                properties:
                                  key:
                                    type: string
                                  label:
                                    type: string
                                  about:
                                    type: string
                                  needs:
                                    type:
                                      - array
                                      - object
                  meta:
                    type: object
                    properties:
                      panel:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                          currency:
                            type: string
                          minTopup:
                            type: integer
                      history:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                            kind:
                              type: string
                            amount:
                              type: integer
                            balanceAfter:
                              type: integer
                            orderId:
                              type: string
                            note:
                              nullable: true
                            actor:
                              type: string
                            createdAt:
                              type: string
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            discount:
                              type: number
                            resellers:
                              type: integer
                            spent30:
                              type: integer
                      limits:
                        type: object
                        properties:
                          members:
                            type: integer
              example:
                success: true
                message: null
                code: null
                data:
                  id: 5802fdf5-5c97-40bb-b505-29a900c278e4
                  name: keydepot.example.com
                  website: keydepot.example.com
                  email: team@keydepot.example.com
                  tierId: 53272267-b8de-4f7f-9c0e-00f69122b91e
                  tierName: Gold
                  tierDiscount: 12.5
                  discount: null
                  paysOff: 12.5
                  balance: 167
                  status: active
                  members: 1
                  spent30: 13
                  lastOrderAt: '2026-11-09 11:32:36.280'
                  joinedAt: '2026-11-09 11:32:36.157'
                  removedAt: null
                  inviteName: null
                  team:
                    - id: 5b6557ec-e06f-4923-bcc1-65addbaf6234
                      email: team@keydepot.example.com
                      owner: true
                      permissions:
                        - products.view
                        - products.buy
                      access:
                        buy: true
                        topup: true
                        keys: true
                        api: true
                      twoFactor: false
                      verified: true
                      lastSeenAt: null
                      joinedAt: '2026-11-09 11:32:36.157'
                  catalogue:
                    - id: buy
                      label: Buying
                      permissions:
                        - key: products.view
                          label: View Products
                          about: The products on Buy, with their prices and stock.
                          needs: []
                        - key: products.buy
                          label: Buy
                          about: Buy from the panel with the balance.
                          needs:
                            - products.view
                            - balance.view
                    - id: orders
                      label: Orders
                      permissions:
                        - key: orders.view
                          label: View Orders
                          about: >-
                            Every order and what it cost, and the spending and
                            profit on the Overview.
                          needs: []
                        - key: orders.keys
                          label: See Delivered Keys
                          about: >-
                            The keys and items an order handed over. Without it
                            an order says what was bought, not what was
                            delivered.
                          needs:
                            - orders.view
                meta:
                  panel:
                    enabled: true
                    currency: USD
                    minTopup: 25
                  history:
                    - id: 2054
                      kind: topup
                      amount: 100
                      balanceAfter: 167
                      orderId: 0d9f5h0p1yf-b0f7183f27c-1036611
                      note: null
                      actor: team@keydepot.example.com
                      createdAt: '2026-11-09 11:32:36.333'
                    - id: 2053
                      kind: topup
                      amount: 30
                      balanceAfter: 67
                      orderId: 9e015h0p1y6-bd68d96dc00-1036610
                      note: null
                      actor: team@keydepot.example.com
                      createdAt: '2026-11-09 11:32:36.316'
                  tiers:
                    - id: 53272267-b8de-4f7f-9c0e-00f69122b91e
                      name: Gold
                      discount: 12.5
                      resellers: 1
                      spent30: 13
                  limits:
                    members: 2
        '401':
          $ref: '#/components/responses/NoKey'
        '403':
          $ref: '#/components/responses/NotAllowed'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Refused'
        '429':
          $ref: '#/components/responses/TooMany'
      x-codeSamples:
        - lang: javascript
          label: Node.js
          source: >
            import Shoply from "@shoplygg/node";


            const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });


            const result = await shoply.resellers.removeMember("RESELLER_ID",
            "MEMBER_ID");
        - lang: php
          label: PHP
          source: >
            <?php


            require 'vendor/autoload.php';


            $shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);


            $result = $shoply->resellers->removeMember('RESELLER_ID',
            'MEMBER_ID');
        - lang: python
          label: Python
          source: |
            import shoply

            client = shoply.Client()  # reads SHOPLY_API_KEY

            result = client.resellers.removeMember("RESELLER_ID", "MEMBER_ID")
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: >-
        A word of your own for this one change, up to 180 letters, digits, dots,
        dashes, underscores and colons. Sent again with the same key, the
        request is not carried out twice: the first answer comes back, with
        `Idempotent-Replay: true`.
      schema:
        type: string
  responses:
    NoKey:
      description: >-
        No API key was sent, or the one sent is not a live key:
        `api_key_required`, `invalid_api_key`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    NotAllowed:
      description: >-
        The key is real and may not do this: `missing_scope` (with
        `requiredScope`), `ip_not_allowed`, `account_unavailable`, or
        `dashboard_only` for something only a person in the dashboard may do.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    NotFound:
      description: >-
        There is no such thing in this store: `not_found`. A store that is not
        the key's own is answered the same way.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    Refused:
      description: >-
        The request was understood and not carried out. `validation_failed` says
        what is wrong with each field under `errors`; other codes are the
        route's own.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    TooMany:
      description: >-
        The key has used up its budget for now: `rate_limited`. `Retry-After`
        says how many seconds to wait.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
  schemas:
    Refusal:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          description: What is wrong, in words for a person.
        code:
          type: string
          description: What is wrong, as a word that does not change.
        data:
          nullable: true
        errors:
          type: object
          description: >-
            For `validation_failed`: what is wrong with each field, by the
            field's name.
          additionalProperties:
            type: string
      required:
        - success
        - message
        - code
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        A secret API key, made under Developers in the dashboard:
        `Authorization: Bearer shoply_sk_...`

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.