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

# Organization

> View your organization, manage projects, and manage organization members.

These endpoints back the dashboard's organization settings pages. All require a session
token or an API key with the calling member's role attached.

| Method and path                          | What it does                       | Role required  |
| ---------------------------------------- | ---------------------------------- | -------------- |
| `GET /v1/orgs/me`                        | Your organization.                 | Any member     |
| `GET /v1/projects` · `POST /v1/projects` | Lists and creates projects.        | Any member     |
| `GET /v1/members/me`                     | The currently signed-in member.    | Any member     |
| `GET /v1/members`                        | Every member in your organization. | Any member     |
| `POST /v1/members/invite`                | Invites a new member.              | Owner or admin |
| `DELETE /v1/members/{member_id}`         | Removes a member.                  | Owner or admin |

## Get your organization

```http theme={null}
GET /v1/orgs/me
```

```json theme={null}
{
  "org_id": "org_...",
  "name": "Acme Inc",
  "slug": "acme-inc",
  "created_at": "2026-01-10T09:00:00Z"
}
```

## Projects

Projects group API keys under an organization. Every organization needs at least one
project before it can create an API key.

<CodeGroup>
  ```json GET /v1/projects theme={null}
  [
    {
      "project_id": "proj_...",
      "org_id": "org_...",
      "name": "default",
      "description": null,
      "created_at": "..."
    }
  ]
  ```

  ```json POST /v1/projects theme={null}
  { "name": "customer-support-bot", "description": "Support agent memories" }
  ```
</CodeGroup>

`POST` returns the created project in the same shape as the list items above.

## Members

```http theme={null}
GET /v1/members/me
```

```json theme={null}
{
  "member_id": "mem_...",
  "email": "you@acme.com",
  "role": "owner",
  "email_verified": true,
  "created_at": "..."
}
```

`GET /v1/members` returns every member in your organization, as a list of the same
shape.

### Invite a member

`POST /v1/members/invite` is restricted to owners and admins.

<CodeGroup>
  ```json Request theme={null}
  { "email": "new-teammate@acme.com", "role": "developer" }
  ```

  ```json Response theme={null}
  {
    "invitation_id": "inv_...",
    "email": "new-teammate@acme.com",
    "role": "developer",
    "expires_at": "2026-07-22T09:00:00Z"
  }
  ```
</CodeGroup>

`role` must be one of the roles in your organization's role set, excluding `owner`.
Nobody can be invited directly as an owner.

### Remove a member

`DELETE /v1/members/{member_id}` returns `204 No Content`. Owners and admins only.

## Error responses

| Status | Code                                  | Cause                                                                      |
| ------ | ------------------------------------- | -------------------------------------------------------------------------- |
| 400    | `invalid_role`                        | The requested invite role is not valid for this organization.              |
| 400    | `no_project`                          | An API key was created before any project existed.                         |
| 403    | `insufficient_role` or `forbidden`    | The caller is not an owner or admin for a role-gated action.               |
| 404    | `org_not_found` or `member_not_found` | The organization or member does not exist, or is not in your organization. |
| 409    | `already_member`                      | The invited email already has an Anona account.                            |

See the full [error reference](/api-reference/errors).
