# Create personal connector configuration Provision a new configuration that enables Freddy personal connectors to securely access third-party services. ## Request body **`personalConnectorId`** string required The ID of the personal connector to configure (e.g., `pcon_github`, `pcon_clickup`). Reference to a [Personal Connector Object](/docs/api-reference/objects/personal-connector-object). **`name`** string required Human-readable label shown in dashboards. Example: `"My GitHub Account"`, `"Work ClickUp"`. **`configuration`** object optional Connector-specific configuration settings. Structure varies by connector type. See [Personal Connector Configuration Object](/docs/api-reference/objects/personal-connector-configuration-object) for examples. **`credentials`** object required Authentication payload for the external service. Schema varies by connector and authentication method. Credentials are encrypted at rest. **`description`** string optional Optional description explaining what the configuration enables. **`metadata`** object optional Custom key-value pairs for tagging and filtering configurations. **`enabled`** boolean optional Whether to activate the configuration immediately. Defaults to `true`. ## Returns A [Personal Connector Configuration Object](/docs/api-reference/objects/personal-connector-configuration-object) with all fields populated. Note that `credentials` are always returned as `***REDACTED***` for security reasons. Request ```bash curl -X POST "https://api.aitronos.com/v1/personal-connectors/configurations" \ -H "X-API-Key: $FREDDY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "personalConnectorId": "pcon_github", "name": "My GitHub Account", "credentials": { "token": "ghp_xxxxxxxxxxxx" }, "configuration": { "repository": "aitronos/freddy-backend" } }' ``` ```python import os import requests api_key = os.environ["FREDDY_API_KEY"] response = requests.post( "https://api.aitronos.com/v1/personal-connectors/configurations", headers={"X-API-Key": api_key}, json={ "personalConnectorId": "pcon_github", "name": "My GitHub Account", "credentials": {"token": "ghp_xxxxxxxxxxxx"}, "configuration": {"repository": "aitronos/freddy-backend"} } ) config = response.json() print(config) ``` ```javascript const response = await fetch('https://api.aitronos.com/v1/personal-connectors/configurations', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.FREDDY_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ personalConnectorId: 'pcon_github', name: 'My GitHub Account', credentials: { token: 'ghp_xxxxxxxxxxxx' }, configuration: { repository: 'aitronos/freddy-backend' } }) }); const config = await response.json(); console.log(config); ``` **Response:** 200 OK ```json { "success": true, "data": { "id": "pconf_abc123", "object": "personal_connector.configuration", "userId": "user_xyz789", "apiKeyId": null, "organization_id": "org_123", "personalConnectorId": "pcon_github", "name": "My GitHub Account", "configuration": { "repository": "aitronos/freddy-backend" }, "credentials": "***REDACTED***", "enabled": true, "healthStatus": "unknown", "lastSyncAt": null, "lastError": null, "description": null, "metadata": {}, "created_at": "2025-11-13T10:45:00Z", "updated_at": "2025-11-13T10:45:00Z" } } ``` 400 Bad Request ```json { "success": false, "error": { "code": "VALIDATION_ERROR", "message": "Invalid request parameters", "system_message": "Validation failed", "type": "validation_error", "status": 400, "trace_id": "req_xyz789", "timestamp": "2025-11-13T10:30:00Z" } } ``` 401 Unauthorized ```json { "success": false, "error": { "code": "UNAUTHORIZED", "message": "Authentication required. Please provide a valid API key.", "system_message": "Missing or invalid authorization header", "type": "authentication_error", "status": 401, "trace_id": "req_abc123", "timestamp": "2025-11-13T10:30:00Z" } } ``` 403 Forbidden ```json { "success": false, "error": { "code": "FORBIDDEN", "message": "You do not have permission to perform this action.", "system_message": "Insufficient permissions", "type": "authorization_error", "status": 403, "trace_id": "req_def456", "timestamp": "2025-11-13T10:30:00Z" } } ``` 429 Rate Limit ```json { "success": false, "error": { "code": "RATE_LIMIT_EXCEEDED", "message": "Too many requests. Please try again later.", "system_message": "Rate limit exceeded for endpoint", "type": "rate_limit_error", "status": 429, "details": { "retry_after": 60, "limit": 100, "remaining": 0, "reset_at": "2025-11-13T10:31:00Z" }, "trace_id": "req_ghi789", "timestamp": "2025-11-13T10:30:00Z" } } ``` 500 Server Error ```json { "success": false, "error": { "code": "INTERNAL_SERVER_ERROR", "message": "An unexpected error occurred. Please try again later.", "system_message": "Database connection timeout", "type": "server_error", "status": 500, "trace_id": "req_jkl012", "timestamp": "2025-11-13T10:30:00Z" } } ```