# Pools (beta)

> Organisation pools and pool state. These endpoints are in beta.

API reference

Organisation pools and pool state. These endpoints are in beta.

6 endpoints

· GET · /v1/pools

### \[Beta\] List organization pools

pool.read

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Query parameters

organization\_id

string · Filter by organization (ebx admins only; defaults to caller's organisation)

Example value

cURL:

```bash
curl ·   · "https://api.ebx.energy/v1/pools" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.get(
     · "https://api.ebx.energy/v1/pools" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools" · , ·   · { · 
   · method · : ·   · "GET" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "pools" · : ·   · [ · 
     · { · 
       · "organization_id" · : ·   · "<string>" · , · 
       · "pool_id" · : ·   · "<string>" · , · 
       · "list_asset_ids" · : ·   · [ · 
         · "<string>" · 
       · ], · 
       · "allow_internal_collateralisation" · : ·   · false · 
     · } · 
   · ] · 
 · }
```

Can raise

-   401 · no valid token
-   403 · scope missing
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

 · POST · /v1/pools

### \[Beta\] Create organization pool

pool.write

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Query parameters

organization\_id

string · Target organization (ebx admins only; defaults to caller's organisation)

Request body · required

list\_asset\_ids

array\[string\] · List of asset IDs assigned to the pool

pool\_id · REQUIRED

string · Customer-defined pool identifier

allow\_internal\_collateralisation

boolean · default false · Allow assets within this pool to collateralise internally

Example value

cURL:

```bash
curl ·   · -X ·  POST  · "https://api.ebx.energy/v1/pools" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN" ·  \
   · -H ·   · "Content-Type: application/json" ·  \
   · -d ·   · '{"list_asset_ids":["<string>"],"pool_id":"<string>","allow_internal_collateralisation":false}'
```

Python:

```python
import ·  httpx

r = httpx.post(
     · "https://api.ebx.energy/v1/pools" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
    json= · { · 
         · "list_asset_ids" · : ·   · [ · 
             · "<string>" · , · 
         · ], · 
         · "pool_id" · : ·   · "<string>" · , · 
         · "allow_internal_collateralisation" · : ·   · False · , · 
     · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools" · , ·   · { · 
   · method · : ·   · "POST" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
     · "Content-Type" · : ·   · "application/json" · , · 
   · }, · 
   · body · : ·  JSON.stringify( · { · "list_asset_ids" · :[ · "<string>" · ], · "pool_id" · : · "<string>" · , · "allow_internal_collateralisation" · : · false · } · ) · , · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 201

```json
{ · 
   · "organization_id" · : ·   · "<string>" · , · 
   · "pool_id" · : ·   · "<string>" · , · 
   · "list_asset_ids" · : ·   · [ · 
     · "<string>" · 
   · ], · 
   · "allow_internal_collateralisation" · : ·   · false · 
 · }
```

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   409 · state conflict
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)· GET · /v1/pools/{pool\_id}

### \[Beta\] Get organization pool

pool.read

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Path parameters

pool\_id · REQUIRED

string

Query parameters

organization\_id

string · Target organization (ebx admins only; defaults to caller's organisation)

Example value

cURL:

```bash
curl ·   · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.get(
     · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , ·   · { · 
   · method · : ·   · "GET" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "organization_id" · : ·   · "<string>" · , · 
   · "pool_id" · : ·   · "<string>" · , · 
   · "list_asset_ids" · : ·   · [ · 
     · "<string>" · 
   · ], · 
   · "allow_internal_collateralisation" · : ·   · false · 
 · }
```

Can raise

-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

· PUT · /v1/pools/{pool\_id}

### \[Beta\] Update organization pool

pool.write

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Path parameters

pool\_id · REQUIRED

string

Query parameters

organization\_id

string · Target organization (ebx admins only; defaults to caller's organisation)

Request body · required

list\_asset\_ids · REQUIRED

array\[string\] · List of asset IDs assigned to the pool

allow\_internal\_collateralisation · REQUIRED

boolean · Allow assets within this pool to collateralise internally

Example value

cURL:

```bash
curl ·   · -X ·  PUT  · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN" ·  \
   · -H ·   · "Content-Type: application/json" ·  \
   · -d ·   · '{"list_asset_ids":["<string>"],"allow_internal_collateralisation":false}'
```

Python:

```python
import ·  httpx

r = httpx.put(
     · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
    json= · { · 
         · "list_asset_ids" · : ·   · [ · 
             · "<string>" · , · 
         · ], · 
         · "allow_internal_collateralisation" · : ·   · False · , · 
     · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , ·   · { · 
   · method · : ·   · "PUT" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
     · "Content-Type" · : ·   · "application/json" · , · 
   · }, · 
   · body · : ·  JSON.stringify( · { · "list_asset_ids" · :[ · "<string>" · ], · "allow_internal_collateralisation" · : · false · } · ) · , · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "organization_id" · : ·   · "<string>" · , · 
   · "pool_id" · : ·   · "<string>" · , · 
   · "list_asset_ids" · : ·   · [ · 
     · "<string>" · 
   · ], · 
   · "allow_internal_collateralisation" · : ·   · false · 
 · }
```

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   409 · state conflict
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

· DELETE · /v1/pools/{pool\_id}

### \[Beta\] Delete organization pool

pool.write

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Path parameters

pool\_id · REQUIRED

string

Query parameters

organization\_id

string · Target organization (ebx admins only; defaults to caller's organisation)

Example value

cURL:

```bash
curl ·   · -X ·  DELETE  · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.delete(
     · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.status_code)
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01" · , ·   · { · 
   · method · : ·   · "DELETE" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
```

Returns 204 with no body.

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   409 · state conflict
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

· GET · /v1/pools/{pool\_id}/state

### \[Beta\] Get organization pool state

pool.read

\> **Beta**: this endpoint is under active development. Request/response shapes and behaviour may change without notice.

Path parameters

pool\_id · REQUIRED

string

Query parameters

organization\_id

string · Target organization (ebx admins only; defaults to caller's organisation)

Example value

cURL:

```bash
curl ·   · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01/state" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.get(
     · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01/state" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/pools/DE_FCR_POOL_01/state" · , ·   · { · 
   · method · : ·   · "GET" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "pool_id" · : ·   · "<string>" · , · 
   · "pool_status" · : ·   · false · , · 
   · "fcr_pool_status" · : ·   · false · , · 
   · "afrr_pool_status" · : ·   · false · , · 
   · "power_actual_ac" · : ·   · 0 · , · 
   · "operating_point" · : ·   · 0 · , · 
   · "fcr_power_actual" · : ·   · 0 · , · 
   · "fcr_current_reservation_pos" · : ·   · 0 · , · 
   · "fcr_current_reservation_neg" · : ·   · 0 · , · 
   · "afrr_setpoint" · : ·   · 0 · , · 
   · "afrr_power_actual" · : ·   · 0 · , · 
   · "afrr_current_reservation_pos" · : ·   · 0 · , · 
   · "afrr_current_reservation_neg" · : ·   · 0 · 
 · }
```

Can raise

-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)
