---
title: "Get the current organization"
description: "The organization the caller's token is for, the caller's roles in each of its products and their permissions in Account.\n\n- **Scope:** `account:organizations:read`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** read-only; safe to retry\n- **Limits:** response up to 256 KB\n- **CLI:** `arbol account organization get` · **MCP tool:** `account_organization_get`"
---

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

Path: Account API › Organization

`GET /v1/account/organization`

The organization the caller's token is for, the caller's roles in each of its products and their permissions in Account.

- **Scope:** `account:organizations:read`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** read-only; safe to retry
- **Limits:** response up to 256 KB
- **CLI:** `arbol account organization get` · **MCP tool:** `account_organization_get`

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `account:organizations:read`
- `arbolMachine`, oauth2, scopes: `account:organizations:read`
- `arbolApiKey`, http, header `Authorization`

## Code samples

### cURL

```bash
curl https://api.getarbol.com/v1/account/organization \
  --header "Authorization: Bearer $ARBOL_API_KEY"
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.account.organization.get();
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .account()
    .organization()
    .get(&types::AccountOrganizationGetInput::default())
    .await?;
```

### CLI

```bash
arbol account organization get
```

### MCP

```json
{
  "name": "account_organization_get",
  "arguments": {}
}
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "id": "string",
    "name": "string",
    "logoUrl": "string",
    "current": true,
    "slug": "string",
    "colors": {
      "primary": "string",
      "pageBackground": "string"
    },
    "applications": [
      {
        "id": "raiz",
        "enabled": true,
        "roles": [
          "string"
        ],
        "administers": true
      }
    ],
    "permissions": [
      "string"
    ]
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.200.success`; boolean, required)
  - one of `true`
- `data` (`account.organization.get.response.200.data`; object, required)
  - `id` (`account.organization.get.response.200.data.id`; string, required)
    - minLength 1; maxLength 256
  - `name` (`account.organization.get.response.200.data.name`; string, required) — The display name, or the slug when it has none.
    - maxLength 256
  - `logoUrl` (`account.organization.get.response.200.data.logoUrl`; string | null, required)
    - maxLength 2048
  - `current` (`account.organization.get.response.200.data.current`; boolean, required) — The organization the caller's token is for.
  - `slug` (`account.organization.get.response.200.data.slug`; string, required) — The organization's identifier at Arbol's sign-in, which never changes.
    - maxLength 256
  - `colors` (`account.organization.get.response.200.data.colors`; object, required) — The colors of its sign-in page.
    - `primary` (`account.organization.get.response.200.data.colors.primary`; string | null, required) — A color, as #rrggbb.
      - pattern `^#[0-9a-fA-F]{6}$`
    - `pageBackground` (`account.organization.get.response.200.data.colors.pageBackground`; string | null, required) — A color, as #rrggbb.
      - pattern `^#[0-9a-fA-F]{6}$`
  - `applications` (`account.organization.get.response.200.data.applications`; array<object>, required) — Each of Arbol's products, with the caller's roles in it, for their home.
    - `id` (`account.organization.get.response.200.data.applications.id`; string, required) — A product whose team Account administers: Raíz, Agenda, Ámbar or Account itself.
      - one of `"raiz"`, `"agenda"`, `"ambar"`, `"account"`
    - `enabled` (`account.organization.get.response.200.data.applications.enabled`; boolean, required) — Whether the organization has the product.
    - `roles` (`account.organization.get.response.200.data.applications.roles`; array<string>, required) — The caller's roles that open it; none where they hold no role in it.
      - minLength 1; maxLength 128
    - `administers` (`account.organization.get.response.200.data.applications.administers`; boolean, required) — Whether the caller may change its team.
  - `permissions` (`account.organization.get.response.200.data.permissions`; array<string>, required) — The caller's Account permissions, as their token carries them: the parts of Account it opens and what it may change there.
    - maxLength 280
- `error` (`account.organization.get.response.200.error`; unknown, required)
- `metadata` (`account.organization.get.response.200.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

`INVALID_INPUT`: The request does not match the published schema.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_INPUT",
    "message": "string",
    "retryable": false,
    "data": {
      "issues": [
        {
          "path": "string",
          "message": "string"
        }
      ]
    }
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.400.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.400.data`; unknown, required)
- `error` (`account.organization.get.response.400.error`; object, required) — The request does not match the published schema.
  - `code` (`account.organization.get.response.400.error.code`; string, required) — The failure code, stable across releases.
    - one of `"INVALID_INPUT"`
  - `message` (`account.organization.get.response.400.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.400.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.400.error.data`; object, required)
    - `issues` (`account.organization.get.response.400.error.data.issues`; array<object>, optional)
      - `path` (`account.organization.get.response.400.error.data.issues.path`; string, required) — RFC 6901 JSON Pointer to the refused field; empty for the whole input.
        - maxLength 256
      - `message` (`account.organization.get.response.400.error.data.issues.message`; string, required)
        - maxLength 256
- `metadata` (`account.organization.get.response.400.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.400.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "string",
    "retryable": false,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.401.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.401.data`; unknown, required)
- `error` (`account.organization.get.response.401.error`; object, required) — A valid access token is required.
  - `code` (`account.organization.get.response.401.error.code`; string, required) — The failure code, stable across releases.
    - one of `"UNAUTHORIZED"`
  - `message` (`account.organization.get.response.401.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.401.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.401.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.401.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.401.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 403

`FORBIDDEN`: The token does not authorize this operation.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "FORBIDDEN",
    "message": "string",
    "retryable": false,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.403.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.403.data`; unknown, required)
- `error` (`account.organization.get.response.403.error`; object, required) — The token does not authorize this operation.
  - `code` (`account.organization.get.response.403.error.code`; string, required) — The failure code, stable across releases.
    - one of `"FORBIDDEN"`
  - `message` (`account.organization.get.response.403.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.403.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.403.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.403.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.403.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 409

`IDENTITY_REJECTED`: The identity service refused the change.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "IDENTITY_REJECTED",
    "message": "string",
    "retryable": false,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.409.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.409.data`; unknown, required)
- `error` (`account.organization.get.response.409.error`; object, required) — The identity service refused the change.
  - `code` (`account.organization.get.response.409.error.code`; string, required) — The failure code, stable across releases.
    - one of `"IDENTITY_REJECTED"`
  - `message` (`account.organization.get.response.409.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.409.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.409.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.409.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.409.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "RATE_LIMITED",
    "message": "string",
    "retryable": true,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.429.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.429.data`; unknown, required)
- `error` (`account.organization.get.response.429.error`; object, required) — The request rate limit was exceeded. Try again later.
  - `code` (`account.organization.get.response.429.error.code`; string, required) — The failure code, stable across releases.
    - one of `"RATE_LIMITED"`
  - `message` (`account.organization.get.response.429.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.429.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `true`
  - `data` (`account.organization.get.response.429.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.429.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.429.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "string",
    "retryable": false,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.500.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.500.data`; unknown, required)
- `error` (`account.organization.get.response.500.error`; object, required) — The service could not complete the operation.
  - `code` (`account.organization.get.response.500.error.code`; string, required) — The failure code, stable across releases.
    - one of `"INTERNAL_ERROR"`
  - `message` (`account.organization.get.response.500.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.500.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.500.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.500.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.500.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "OUTCOME_UNKNOWN",
    "message": "string",
    "retryable": false,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.502.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.502.data`; unknown, required)
- `error` (`account.organization.get.response.502.error`; object, required) — The operation may have been applied; check its result before repeating it.
  - `code` (`account.organization.get.response.502.error.code`; string, required) — The failure code, stable across releases.
    - one of `"OUTCOME_UNKNOWN"`
  - `message` (`account.organization.get.response.502.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.502.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `false`
  - `data` (`account.organization.get.response.502.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.502.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.502.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `ACCOUNT_NOT_CONFIGURED`: Account administration is not configured yet.
- `IDENTITY_UNAVAILABLE`: The identity service did not answer.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "UPSTREAM_UNAVAILABLE",
    "message": "string",
    "retryable": true,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.503.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.503.data`; unknown, required)
- `error` (`account.organization.get.response.503.error`; one of, required)
  - one of: `UpstreamUnavailableFailure`, `AccountAccountNotConfiguredFailure`, `AccountIdentityUnavailableFailure`
  - discriminator: `code`
- `metadata` (`account.organization.get.response.503.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.503.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "success": false,
  "data": null,
  "error": {
    "code": "UPSTREAM_TIMEOUT",
    "message": "string",
    "retryable": true,
    "data": {}
  },
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`account.organization.get.response.504.success`; boolean, required)
  - one of `false`
- `data` (`account.organization.get.response.504.data`; unknown, required)
- `error` (`account.organization.get.response.504.error`; object, required) — The upstream service did not respond before its deadline.
  - `code` (`account.organization.get.response.504.error.code`; string, required) — The failure code, stable across releases.
    - one of `"UPSTREAM_TIMEOUT"`
  - `message` (`account.organization.get.response.504.error.message`; string, required) — What went wrong, for people; it never contains input values.
  - `retryable` (`account.organization.get.response.504.error.retryable`; boolean, required) — Whether repeating the same request may succeed.
    - one of `true`
  - `data` (`account.organization.get.response.504.error.data`; object, required) — No fields.
- `metadata` (`account.organization.get.response.504.metadata`; object, required) — What every answer carries besides its data or error.
  - `requestId` (`account.organization.get.response.504.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.


Source: https://docs.getarbol.com/api/account/organization/get/index.md
