# Get project config

Returns non-secret runtime configuration for a project.

Use this to inspect the server-stored defaults that jobs use. Secret values are never returned by this endpoint.

| Method | Path | Authentication | Stability |
| --- | --- | --- | --- |
| GET | /v1/projects/{client_id}/config | Secret key or browser activation token | stable |

## Request fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| client_id | string | Yes | Project ID (client_id, WAVEBIRD_CLIENT_ID), formatted like wbproj_.... |

## Response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| client_id | string | Yes | Project ID (client_id, WAVEBIRD_CLIENT_ID), formatted like wbproj_.... |
| defaults | object | Yes | Public runtime defaults applied to jobs. |
| allowed_origins | string[] | No | Origins configured for publishable-key browser flows. |
| request_id | string | Yes | Support identifier. |

## Errors

| Status | Code | Description |
| --- | --- | --- |
| 401 | unauthorized | Missing secret key. |
| 403 | forbidden | Key does not belong to this project. |
| 404 | not_found | Project was not found. |

## Response example

```json
{
  "client_id": "wbproj_demo_8jK42",
  "defaults": {
    "formats": ["banner", "native"],
    "decision_delivery": "polling"
  },
  "allowed_origins": ["https://publisher.example"],
  "request_id": "req_jP5bb2"
}
```

## cURL

```bash
curl "https://api.wavebird.ai/v1/projects/wbproj_demo_8jK42/config" \
  -H "Authorization: Bearer sk_test_wavebird_demo_secret"
```

## Node

```javascript
const response = await fetch("https://api.wavebird.ai/v1/projects/wbproj_demo_8jK42/config", {
  headers: { Authorization: "Bearer sk_test_wavebird_demo_secret" }
});

console.log(await response.json());
```

## Python

```python
import urllib.request

request = urllib.request.Request(
    "https://api.wavebird.ai/v1/projects/wbproj_demo_8jK42/config",
    headers={"Authorization": "Bearer sk_test_wavebird_demo_secret"},
)

with urllib.request.urlopen(request) as response:
    print(response.read().decode("utf-8"))
```
