# Remove a member from a team

> Takes someone the API put on a team off it. Someone people placed in BloomText answers 409 managed_by_admin.

Source: https://www.bloomtext.com/developers/api/reference/remove-team-member/

`DELETE /teams/{teamId}/members/{memberId}`

Takes someone the API put on a team off it. Someone people placed in BloomText answers 409 `managed_by_admin`.

**Credentials:** [API key](https://www.bloomtext.com/developers/api/api-keys/) with member scopes · **Scope:** `teams.write`

[Run in Postman](https://www.bloomtext.com/developers/api/postman/bloomtext-api.postman_collection.json): import the collection and set `api_key`.

### Path parameters

- `teamId` (UUID, required): The team's ID.

- `memberId` (UUID, required): The member's ID.

### Returns

Returns `204 No Content` with an empty body.

### Errors

Failed requests return `application/problem+json` [problem details](https://www.bloomtext.com/developers/api/errors/). The errors specific to this endpoint:

| Status | Code | Meaning |
| --- | --- | --- |
| 400 | `invalid_request` | The request is malformed, such as invalid JSON. |
| 401 | `invalid_token` | The API key is missing or malformed, or isn’t a BloomText key. |
| 401 | `key_revoked` | The API key was revoked. |
| 401 | `key_expired` | The API key’s expiry has passed. |
| 403 | `insufficient_scope` | The key doesn’t have the scope this endpoint needs. |
| 403 | `accounts_not_enabled` | The account layer isn't turned on for this account yet. |
| 404 | `not_found` | The resource doesn’t exist, or isn’t visible to this credential. |
| 409 | `managed_by_admin` | People in BloomText put this person on the team. |
| 429 | `rate_limited` | Too many requests. Retry after `Retry-After` seconds. |

```bash filename="Request"
curl -X DELETE "https://api.bloomtext.com/v1/teams/teamId/members/memberId" \
  -H "Authorization: Bearer $BLOOMTEXT_API_KEY"
```

```js filename="Request"
const response = await fetch('https://api.bloomtext.com/v1/teams/teamId/members/memberId', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.BLOOMTEXT_API_KEY}`,
  },
})

if (!response.ok) throw new Error(`BloomText API error: ${response.status}`)
```

```python filename="Request"
import os

import requests

response = requests.delete(
    "https://api.bloomtext.com/v1/teams/teamId/members/memberId",
    headers={
        "Authorization": f"Bearer {os.environ['BLOOMTEXT_API_KEY']}",
    },
)
response.raise_for_status()
```

```go filename="Request"
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest("DELETE", "https://api.bloomtext.com/v1/teams/teamId/members/memberId", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer "+os.Getenv("BLOOMTEXT_API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()

	out, _ := io.ReadAll(res.Body)
	fmt.Println(res.Status, string(out))
}
```

```ruby filename="Request"
require "net/http"
require "json"

uri = URI("https://api.bloomtext.com/v1/teams/teamId/members/memberId")
request = Net::HTTP::Delete.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("BLOOMTEXT_API_KEY")}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts response.code
```

```text filename="Response"
HTTP/1.1 204 No Content
```
