# Get instance public configuration

`GET /api/v1/config`

Authentication: no security requirement declared for this operation.

Responses:

- 200: successful operation

Content type: application/json

Type: ServerConfig

Schema: [ServerConfig](https://sourcey-peertube.pages.dev/api-rest-reference/models/serverconfig.md)

- `instance` (optional)
  Type: object
  
  - `name` (optional)
    Type: string
  
  - `shortDescription` (optional)
    Type: string
  
  - `defaultClientRoute` (optional)
    Type: string
  
  - `isNSFW` (optional)
    Type: boolean
  
  - `defaultNSFWPolicy` (optional)
    Type: string
  
  - `serverCountry` (optional)
    Type: string
  
  - `defaultLanguage` (optional)
    Type: string
  
  - `support` (optional)
    Type: object
    
    - `text` (optional)
      Type: string
  
  - `social` (optional)
    Type: object
    
    - `externalLink` (optional)
      Type: string
    
    - `mastodonLink` (optional)
      Type: string
    
    - `blueskyLink` (optional)
      Type: string
    
    - `xLink` (optional)
      Type: string
  
  - `customizations` (optional)
    Type: object
    
    - `javascript` (optional)
      Type: string
    
    - `css` (optional)
      Type: string
  
  - `avatars` (optional)
    Type: Array<ActorImage>
    
    Items:
      Reference: [ActorImage](https://sourcey-peertube.pages.dev/api-rest-reference/models/actorimage.md); Type: ActorImage
  
  - `banners` (optional)
    Type: Array<ActorImage>
    
    Items:
      Reference: [ActorImage](https://sourcey-peertube.pages.dev/api-rest-reference/models/actorimage.md); Type: ActorImage

- `search` (optional)
  Type: object
  
  - `remoteUri` (optional)
    Type: object
    
    - `users` (optional)
      Type: boolean
    
    - `anonymous` (optional)
      Type: boolean

- `plugin` (optional)
  Type: object
  
  - `registered` (optional)
    Type: Array<string>
    
    Items:
      Type: string

- `theme` (optional)
  Type: object
  
  - `registered` (optional)
    Type: Array<string>
    
    Items:
      Type: string

- `email` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `contactForm` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `serverVersion` (optional)
  Type: string

- `serverCommit` (optional)
  Type: string

- `signup` (optional)
  Type: object
  
  - `allowed` (optional)
    Type: boolean
  
  - `allowedForCurrentIP` (optional)
    Type: boolean
  
  - `requiresEmailVerification` (optional)
    Type: boolean

- `transcoding` (optional)
  Type: object
  
  - `hls` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
  
  - `web_videos` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
  
  - `enabledResolutions` (optional)
    Type: Array<VideoResolutionSet>
    
    Items:
      Reference: [VideoResolutionSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videoresolutionset.md); Type: VideoResolutionSet
      
      Video resolution (`0`, `240`, `360`, `720`, `1080`, `1440` or `2160`)
      
      `0` is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos.
      
      
      Example:
      
      ```json
      240
      ```

- `import` (optional)
  Type: object
  
  - `videos` (optional)
    Type: object
    
    - `http` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
    
    - `torrent` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean
  
  - `videoChannelSynchronization` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
  
  - `users` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
    
    - `resumableUpload` (optional)
      Type: object
      
      - `minChunkSize` (optional)
        Type: number
        
        In bytes. Minimum size of a user archive import chunk (except the last one), `0` if there is no minimum

- `export` (optional)
  Type: object
  
  - `users` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
    
    - `exportExpiration` (optional)
      Type: number
      
      In milliseconds
    
    - `maxUserVideoQuota` (optional)
      Type: number
      
      In bytes

- `autoBlacklist` (optional)
  Type: object
  
  - `videos` (optional)
    Type: object
    
    - `ofUsers` (optional)
      Type: object
      
      - `enabled` (optional)
        Type: boolean

- `blocklist` (optional)
  Type: object
  
  - `publicLog` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean

- `avatar` (optional)
  Type: object
  
  - `file` (optional)
    Type: object
    
    - `size` (optional)
      Type: object
      
      - `max` (optional)
        Type: integer
  
  - `extensions` (optional)
    Type: Array<string>
    
    Items:
      Type: string

- `video` (optional)
  Type: object
  
  - `image` (optional)
    Type: object
    
    - `extensions` (optional)
      Type: Array<string>
      
      Items:
        Type: string
    
    - `size` (optional)
      Type: object
      
      - `max` (optional)
        Type: integer
  
  - `file` (optional)
    Type: object
    
    - `extensions` (optional)
      Type: Array<string>
      
      Items:
        Type: string

- `videoCaption` (optional)
  Type: object
  
  - `file` (optional)
    Type: object
    
    - `size` (optional)
      Type: object
      
      - `max` (optional)
        Type: integer
    
    - `extensions` (optional)
      Type: Array<string>
      
      Items:
        Type: string

- `user` (optional)
  Type: object
  
  - `videoQuota` (optional)
    Type: integer
    
    In bytes
    
    Example:
    
    ```json
    16810141515
    ```
  
  - `videoQuotaDaily` (optional)
    Type: integer
    
    In bytes
    
    Example:
    
    ```json
    1681014151
    ```

- `trending` (optional)
  Type: object
  
  - `videos` (optional)
    Type: object
    
    - `intervalDays` (optional)
      Type: integer

- `tracker` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `followings` (optional)
  Type: object
  
  - `instance` (optional)
    Type: object
    
    - `autoFollowIndex` (optional)
      Type: object
      
      - `indexUrl` (optional)
        Type: string, url

- `federation` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `homepage` (optional)
  Type: object
  
  - `enabled` (optional)
    Type: boolean

- `openTelemetry` (optional)
  Type: object
  
  PeerTube >= 6.1
  
  - `metrics` (optional)
    Type: object
    
    - `enabled` (optional)
      Type: boolean
    
    - `playbackStatsInterval` (optional)
      Type: number
      
      Milliseconds

- `views` (optional)
  Type: object
  
  PeerTube >= 6.1
  
  - `videos` (optional)
    Type: object
    
    - `countViewAfter` (optional)
      Type: number
      
      Milliseconds
    
    - `watchingInterval` (optional)
      Type: object
      
      - `anonymous` (optional)
        Type: number
        
        Milliseconds
      
      - `users` (optional)
        Type: number
        
        Milliseconds

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/api/v1/config'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/api/v1/config', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/api/v1/config')
print(response.text)
```
