{"openapi":"3.1.0","info":{"title":"AdAce Ads","version":"0.2.0"},"paths":{"/api/v1/health":{"get":{"summary":"Health","operationId":"health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/session":{"get":{"summary":"Session","operationId":"session_api_v1_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Login","operationId":"login_api_v1_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Logout","operationId":"logout_api_v1_session_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/v1/workspaces/{workspace_id}/overview":{"get":{"summary":"Overview","operationId":"overview_api_v1_workspaces__workspace_id__overview_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients":{"get":{"summary":"Clients","operationId":"clients_api_v1_workspaces__workspace_id__clients_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Add Client","operationId":"add_client_api_v1_workspaces__workspace_id__clients_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}":{"patch":{"summary":"Update Client","operationId":"update_client_api_v1_workspaces__workspace_id__clients__client_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Remove Client","description":"«Видалити клієнта» (29.09.2026): клієнт іде разом із кабінетами, кампаніями, статистикою й налаштуваннями.\n\nЛише власник, з назвою клієнта як підтвердженням і кодом другого фактора, якщо він увімкнений. Підключення клієнта\nспершу від'єднуються тим самим шляхом, що й кнопка «Від'єднати» (відкликання доступу в Google і Meta — у черзі; доступ,\nяким живуть інші підключення того самого акаунта Google, лишається). Решту видаляє база однією функцією (міграція\n069), яка сама ще раз перевіряє роль і незавершену роботу. Будь-яка відмова скасовує все разом; журнал дій лишається.","operationId":"remove_client_api_v1_workspaces__workspace_id__clients__client_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientDeletionInput"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts":{"get":{"summary":"Accounts","operationId":"accounts_api_v1_workspaces__workspace_id__accounts_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/working-writes":{"patch":{"summary":"Set Working Writes","description":"F-1c: увімкнути або вимкнути записи в робочі кампанії кабінету.\n\nЛише власник простору, лише з другим фактором, лише для кабінету, який уже\nдозволений на сервері й підключений. Перемикач нічого не змінює в рекламі сам\nпо собі: далі діють ті самі пропозиції, ліміти, погодження й політика клієнта.\nВимкнення зупиняє задачі в черзі: виконавець завершує їх відмовою NOT_WRITABLE.","operationId":"set_working_writes_api_v1_workspaces__workspace_id__accounts__account_id__working_writes_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkingWritesInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns":{"get":{"summary":"Campaigns","operationId":"campaigns_api_v1_workspaces__workspace_id__campaigns_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":500,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/ad-sets":{"get":{"summary":"Campaign Ad Sets","description":"F-1c: групи оголошень кампанії з бюджетами — для пропозиції бюджету групи.","operationId":"campaign_ad_sets_api_v1_workspaces__workspace_id__campaigns__campaign_id__ad_sets_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Ad Set","operationId":"create_ad_set_api_v1_workspaces__workspace_id__campaigns__campaign_id__ad_sets_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdSetCreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/bidding":{"get":{"summary":"Campaign Bidding","description":"F-2: поточна стратегія ставок кампанії (Google) і груп (Meta) з імпорту структури — для пропозиції стратегії.","operationId":"campaign_bidding_api_v1_workspaces__workspace_id__campaigns__campaign_id__bidding_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/ads":{"get":{"summary":"Campaign Ads","description":"F-2e: оголошення кампанії з групою — для пропозицій статусу оголошення.","operationId":"campaign_ads_api_v1_workspaces__workspace_id__campaigns__campaign_id__ads_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sandbox":{"post":{"summary":"Seed Sandbox","operationId":"seed_sandbox_api_v1_workspaces__workspace_id__sandbox_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes":{"get":{"summary":"Changes","operationId":"changes_api_v1_workspaces__workspace_id__changes_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Propose","operationId":"propose_api_v1_workspaces__workspace_id__changes_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/{change_id}/repeat":{"post":{"summary":"Repeat Change","description":"03.10.2026 (Wonder Line, п. 2): «Створити таку саму заново» — та сама пропозиція (вид, значення, причина) з поточним\nстаном кампанії, коли «було» застаріло, строк минув чи виконання відмовило через зміни в кабінеті. Вихідний запит\nзберігається в журналі дій пропозиції (з 03.10.2026); стара пропозиція лишається як є і згасне за строком.","operationId":"repeat_change_api_v1_workspaces__workspace_id__changes__change_id__repeat_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/{change_id}/approve":{"post":{"summary":"Approve","operationId":"approve_api_v1_workspaces__workspace_id__changes__change_id__approve_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/approve-batch":{"post":{"summary":"Approve Batch","description":"Кілька пропозицій одним підтвердженням: пароль і код перевіряються раз, кожна зміна — окремо (відбиток, строк,\nчерга). Відмова однієї не зупиняє решту; результат — по кожній.\n\n03.10.2026: check=true — «лише якщо всі пройшли»: спершу кожна зміна Google перевіряється в Google без запису\n(change_check); якщо хоч одну Google відхилив би чи кабінет уже не той, не погоджується жодна (blocked).","operationId":"approve_batch_api_v1_workspaces__workspace_id__changes_approve_batch_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchApprovalInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/{change_id}/reject":{"post":{"summary":"Reject","operationId":"reject_api_v1_workspaces__workspace_id__changes__change_id__reject_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectionInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/{change_id}/execute":{"post":{"summary":"Execute","operationId":"execute_api_v1_workspaces__workspace_id__changes__change_id__execute_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/{change_id}/undo":{"post":{"summary":"Undo","description":"E-7: зворотна дія для виконаної зміни бюджету чи статусу.\n\nСкасування — нова зміна з протилежним змістом, погоджена й поставлена\nв чергу тут же, тим самим шляхом. Вона можлива лише доки кампанія\nперебуває в стані «після» скасовуваної зміни: інакше повернення\nописувало б не те, що є насправді.","operationId":"undo_api_v1_workspaces__workspace_id__changes__change_id__undo_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalInput"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/operations":{"get":{"summary":"Operations","operationId":"operations_api_v1_workspaces__workspace_id__operations_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/audit":{"get":{"summary":"Audit Log","operationId":"audit_log_api_v1_workspaces__workspace_id__audit_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/settings":{"get":{"summary":"Get Workspace Settings","operationId":"get_workspace_settings_api_v1_workspaces__workspace_id__settings_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Workspace Settings","operationId":"update_workspace_settings_api_v1_workspaces__workspace_id__settings_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/write-policy":{"get":{"summary":"Get Write Policy","operationId":"get_write_policy_api_v1_workspaces__workspace_id__clients__client_id__write_policy_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Write Policy","operationId":"put_write_policy_api_v1_workspaces__workspace_id__clients__client_id__write_policy_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritePolicyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers":{"get":{"summary":"Providers","operationId":"providers_api_v1_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/performance":{"get":{"summary":"Performance","operationId":"performance_api_v1_workspaces__workspace_id__analytics_performance_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/comparison":{"get":{"summary":"Comparison","operationId":"comparison_api_v1_workspaces__workspace_id__analytics_comparison_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["previous_period","previous_month","previous_year"],"type":"string","default":"previous_period","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/waste":{"get":{"summary":"Waste","operationId":"waste_api_v1_workspaces__workspace_id__analytics_waste_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"min_spend","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,12}(\\.[0-9]{1,2})?$","default":"10","title":"Min Spend"}},{"name":"min_clicks","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":0,"default":20,"title":"Min Clicks"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/anomalies":{"get":{"summary":"Anomalies","operationId":"anomalies_api_v1_workspaces__workspace_id__analytics_anomalies_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/overview":{"get":{"summary":"Overview","operationId":"overview_api_v1_workspaces__workspace_id__analytics_overview_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}],"title":"Currency"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/reports":{"post":{"summary":"Create Report","operationId":"create_report_api_v1_workspaces__workspace_id__reports_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Reports","operationId":"list_reports_api_v1_workspaces__workspace_id__reports_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/reports/{report_id}":{"get":{"summary":"Get Report","operationId":"get_report_api_v1_workspaces__workspace_id__reports__report_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/reports/{report_id}/download":{"get":{"summary":"Download Report","operationId":"download_report_api_v1_workspaces__workspace_id__reports__report_id__download_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}},{"name":"format","in":"query","required":false,"schema":{"enum":["csv","html"],"type":"string","default":"csv","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/utm-templates":{"get":{"summary":"Get Templates","operationId":"get_templates_api_v1_workspaces__workspace_id__clients__client_id__utm_templates_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/utm-templates/{provider}":{"put":{"summary":"Put Template","operationId":"put_template_api_v1_workspaces__workspace_id__clients__client_id__utm_templates__provider__put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/utm/preview":{"post":{"summary":"Preview","operationId":"preview_api_v1_workspaces__workspace_id__utm_preview_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__utm__PreviewInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/utm-audit":{"get":{"summary":"Get Audit","operationId":"get_audit_api_v1_workspaces__workspace_id__accounts__account_id__utm_audit_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/conversion-events":{"get":{"summary":"Get Events","operationId":"get_events_api_v1_workspaces__workspace_id__clients__client_id__conversion_events_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/conversion-events/meta":{"put":{"summary":"Put Kpi","operationId":"put_kpi_api_v1_workspaces__workspace_id__clients__client_id__conversion_events_meta_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KpiInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/pixels":{"get":{"summary":"Get Pixels","description":"Піксель ч.2: стан пікселів кабінету Meta з останнього збору, групи й кампанії, що оптимізуються за ними,\nденні обсяги подій за 7 днів (якщо статистика доступна).","operationId":"get_pixels_api_v1_workspaces__workspace_id__accounts__account_id__pixels_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/status":{"get":{"summary":"Status","operationId":"status_api_v1_workspaces__workspace_id__ai_status_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/conversations":{"post":{"summary":"Create Conversation","operationId":"create_conversation_api_v1_workspaces__workspace_id__ai_conversations_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Conversations","operationId":"list_conversations_api_v1_workspaces__workspace_id__ai_conversations_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/conversations/{conversation_id}":{"get":{"summary":"Get Conversation","operationId":"get_conversation_api_v1_workspaces__workspace_id__ai_conversations__conversation_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/conversations/{conversation_id}/messages":{"post":{"summary":"Send Message","operationId":"send_message_api_v1_workspaces__workspace_id__ai_conversations__conversation_id__messages_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/summary":{"post":{"summary":"Period Summary","operationId":"period_summary_api_v1_workspaces__workspace_id__ai_summary_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/ad-copy":{"post":{"summary":"Ad Copy","description":"Варіанти текстів з жорсткою перевіркою меж провайдера. Зображень і відео немає: поза обсягом.","operationId":"ad_copy_api_v1_workspaces__workspace_id__ai_ad_copy_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdCopyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/usage":{"get":{"summary":"Usage","operationId":"usage_api_v1_workspaces__workspace_id__ai_usage_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/limits":{"put":{"summary":"Set Limits","operationId":"set_limits_api_v1_workspaces__workspace_id__ai_limits_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitsInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai/tool-catalog":{"get":{"summary":"Tool Catalog View","description":"F-2f: каталог інструментів і операцій маршрутизаторів з ознаками — для сторінки «Підключення AI». Лише опис, без даних.","operationId":"tool_catalog_view_api_v1_workspaces__workspace_id__ai_tool_catalog_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/api-keys":{"get":{"summary":"List Keys","operationId":"list_keys_api_v1_workspaces__workspace_id__api_keys_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Key","operationId":"create_key_api_v1_workspaces__workspace_id__api_keys_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/api-keys/{key_id}":{"delete":{"summary":"Revoke Key","operationId":"revoke_key_api_v1_workspaces__workspace_id__api_keys__key_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/setup":{"get":{"summary":"Setup Checklist","operationId":"setup_checklist_api_v1_workspaces__workspace_id__setup_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/mcp/activity":{"get":{"summary":"Mcp Activity","description":"F-7: останні звернення AI-клієнтів через MCP за 7 днів — щоб після підключення Claude, ChatGPT чи Cursor побачити,\nщо клієнт справді дійшов. Лише власник і адміністратор (журнал простору).","operationId":"mcp_activity_api_v1_workspaces__workspace_id__mcp_activity_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/readiness":{"get":{"summary":"Get Readiness","operationId":"get_readiness_api_v1_workspaces__workspace_id__readiness_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-clients":{"get":{"summary":"Ai Clients","operationId":"ai_clients_api_v1_ai_clients_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"anyOf":[{"enum":["uk","en"],"type":"string"},{"type":"null"}],"title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/help/assistant":{"get":{"summary":"Assistant Status","operationId":"assistant_status_api_v1_workspaces__workspace_id__help_assistant_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/help/ask":{"post":{"summary":"Ask","operationId":"ask_api_v1_workspaces__workspace_id__help_ask_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Question"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/support/conversation":{"get":{"summary":"Get Conversation","operationId":"get_conversation_api_v1_workspaces__workspace_id__support_conversation_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"before_seq","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Before Seq"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/support/messages":{"post":{"summary":"Send Message","operationId":"send_message_api_v1_workspaces__workspace_id__support_messages_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientMessage"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/support/handoff":{"post":{"summary":"Handoff","operationId":"handoff_api_v1_workspaces__workspace_id__support_handoff_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Handoff"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/telegram":{"get":{"summary":"Status","operationId":"status_api_v1_workspaces__workspace_id__telegram_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Settings","operationId":"update_settings_api_v1_workspaces__workspace_id__telegram_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramSettingsInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Unlink","operationId":"unlink_api_v1_workspaces__workspace_id__telegram_delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/telegram/link":{"post":{"summary":"Create Link","operationId":"create_link_api_v1_workspaces__workspace_id__telegram_link_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/telegram/test":{"post":{"summary":"Send Test","description":"Перевірочне повідомлення в загальну гілку й вітання в гілці кожного клієнта, для якого гілки ще немає (30.09.2026:\nбот створював гілку лише з першим сповіщенням клієнта, і після підключення гілок не було видно).","operationId":"send_test_api_v1_workspaces__workspace_id__telegram_test_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/telegram/webhook":{"post":{"summary":"Webhook","description":"Оновлення від Telegram. Завжди 200 (інакше Telegram повторює), крім чужого секрету — 403.","operationId":"webhook_api_v1_telegram_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/support/telegram/webhook":{"post":{"summary":"Support Webhook","description":"Окремий support-бот: власний секрет, без legacy dispatch чи реєстрації вебхука.","operationId":"support_webhook_api_v1_support_telegram_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site":{"get":{"summary":"Lead Site","operationId":"lead_site_api_v1_workspaces__workspace_id__clients__client_id__lead_site_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Save Lead Site","operationId":"save_lead_site_api_v1_workspaces__workspace_id__clients__client_id__lead_site_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSiteInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/conversions":{"put":{"summary":"Save Conversions","description":"Configure explicit feedback destinations, optionally enqueueing existing observed outcomes.","operationId":"save_conversions_api_v1_workspaces__workspace_id__clients__client_id__lead_site_conversions_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionsInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/meta-pages":{"get":{"summary":"Meta Form Pages","description":"Сторінки Facebook, від імені яких кабінет рекламується (їхні форми можна забирати), і чи є дозвіл на заявки.","operationId":"meta_form_pages_api_v1_workspaces__workspace_id__clients__client_id__lead_site_meta_pages_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/meta-forms":{"put":{"summary":"Save Meta Forms","description":"Ввімкнути чи вимкнути заявки з форм Facebook: перед ввімкненням перевіряється дозвіл Meta на заявки, доступ до сторінки\nі те, що бот бачить чат. Ключ бота зберігається зашифрованим і назад не віддається.","operationId":"save_meta_forms_api_v1_workspaces__workspace_id__clients__client_id__lead_site_meta_forms_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaFormsInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/feedback":{"put":{"summary":"Save Feedback","operationId":"save_feedback_api_v1_workspaces__workspace_id__clients__client_id__lead_site_feedback_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/ga4-feedback":{"put":{"summary":"Save Ga4 Feedback","operationId":"save_ga4_feedback_api_v1_workspaces__workspace_id__clients__client_id__lead_site_ga4_feedback_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__leads__GA4FeedbackInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/linkedin-capi-key":{"put":{"summary":"Save Linkedin Capi Key","description":"101: ключ Direct API рекламодавця LinkedIn — «Співбесіда» й «Найм» сервером без дозволу Conversions API застосунку.\nКлюч перевіряється читанням правил кабінету, ним же створюються серверні правила; зберігається лише зашифрованим.","operationId":"save_linkedin_capi_key_api_v1_workspaces__workspace_id__clients__client_id__lead_site_linkedin_capi_key_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInCapiInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/snapchat-capi-token":{"put":{"summary":"Save Snapchat Capi Token","description":"112: статичний токен Conversions API пікселя Snapchat — «Співбесіда» й «Найм» сервером. Токен перевіряється подією\nперевірки (validate, без запису подій) і зберігається лише зашифрованим; назад не показується.","operationId":"save_snapchat_capi_token_api_v1_workspaces__workspace_id__clients__client_id__lead_site_snapchat_capi_token_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapchatCapiInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/tag-health":{"get":{"summary":"Lead Tag Health","description":"09.10.2026: стан тегів конверсій кабінетів передачі — LinkedIn Insight Tag (домени, останні події правил) і Microsoft UET\n(стан тегу й цілей). Лише читання підключеннями кабінетів; збій однієї платформи — код помилки цієї частини.","operationId":"lead_tag_health_api_v1_workspaces__workspace_id__clients__client_id__lead_site_tag_health_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/leads":{"get":{"summary":"List Leads","operationId":"list_leads_api_v1_workspaces__workspace_id__leads_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/leads/{lead_id}":{"patch":{"summary":"Update Lead","operationId":"update_lead_api_v1_workspaces__workspace_id__leads__lead_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Lead Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/{site_key}.js":{"get":{"summary":"Snippet","operationId":"snippet_api_v1_leads__site_key__js_get","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/{site_key}/event":{"post":{"summary":"Lead Event","description":"Заявка з сайту клієнта (sendBeacon, text/plain — без попереднього запиту CORS). 204 — прийнято.","operationId":"lead_event_api_v1_leads__site_key__event_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/client-lead-feedback/callback":{"post":{"summary":"Callback Bridge","operationId":"callback_bridge_api_v1_client_lead_feedback_callback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/client-lead-feedback/sites/{site_key}/prepare":{"post":{"summary":"Prepare Application","operationId":"prepare_application_api_v1_client_lead_feedback_sites__site_key__prepare_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/client-lead-feedback/sites/{site_key}/register":{"post":{"summary":"Register Application","operationId":"register_application_api_v1_client_lead_feedback_sites__site_key__register_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding":{"get":{"summary":"Get Onboarding","operationId":"get_onboarding_api_v1_workspaces__workspace_id__clients__client_id__onboarding_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Save Onboarding","operationId":"save_onboarding_api_v1_workspaces__workspace_id__clients__client_id__onboarding_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding/telegram-grants":{"post":{"summary":"New Telegram Grant","operationId":"new_telegram_grant_api_v1_workspaces__workspace_id__clients__client_id__onboarding_telegram_grants_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/client-onboarding/telegram/claim":{"post":{"summary":"Claim Telegram","operationId":"claim_telegram_api_v1_client_onboarding_telegram_claim_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/client-onboarding/telegram/bind":{"post":{"summary":"Bind Telegram","operationId":"bind_telegram_api_v1_client_onboarding_telegram_bind_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/client-onboarding/telegram/disconnect":{"post":{"summary":"Disconnect Telegram","operationId":"disconnect_telegram_api_v1_client_onboarding_telegram_disconnect_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/client-lead-feedback/sites/{site_key}/config":{"post":{"summary":"Site Configuration","operationId":"site_configuration_api_v1_client_lead_feedback_sites__site_key__config_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/client-lead-feedback/sites/{site_key}/submit":{"post":{"summary":"Submit Application","operationId":"submit_application_api_v1_client_lead_feedback_sites__site_key__submit_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding/install":{"get":{"summary":"Download Installation","operationId":"download_installation_api_v1_workspaces__workspace_id__clients__client_id__onboarding_install_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding/install-config":{"get":{"summary":"Download Private Configuration","operationId":"download_private_configuration_api_v1_workspaces__workspace_id__clients__client_id__onboarding_install_config_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"host","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":253,"title":"Host"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/client-lead-feedback/sites/{site_key}/contact":{"post":{"summary":"Submit Contact","operationId":"submit_contact_api_v1_client_lead_feedback_sites__site_key__contact_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding/ga4-feedback/options":{"get":{"summary":"Ga4 Feedback Options","operationId":"ga4_feedback_options_api_v1_workspaces__workspace_id__clients__client_id__onboarding_ga4_feedback_options_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/onboarding/ga4-feedback":{"post":{"summary":"Configure Ga4 Feedback","operationId":"configure_ga4_feedback_api_v1_workspaces__workspace_id__clients__client_id__onboarding_ga4_feedback_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__client_onboarding_providers__GA4FeedbackInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/templates":{"get":{"summary":"Templates","operationId":"templates_api_v1_workspaces__workspace_id__templates_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/templates/{template_id}":{"get":{"summary":"Template","description":"Слова й тексти шаблону (мовами кандидатів). Назва, опис і поради — в інтерфейсі, мовою інтерфейсу.","operationId":"template_api_v1_workspaces__workspace_id__templates__template_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/sites":{"get":{"summary":"List Sites","operationId":"list_sites_api_v1_workspaces__workspace_id__clients__client_id__sites_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Add Site","operationId":"add_site_api_v1_workspaces__workspace_id__clients__client_id__sites_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__site_pages__SiteInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}":{"delete":{"summary":"Remove Site","operationId":"remove_site_api_v1_workspaces__workspace_id__sites__site_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}/files":{"get":{"summary":"Site Files","operationId":"site_files_api_v1_workspaces__workspace_id__sites__site_id__files_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}/file":{"get":{"summary":"Site File","operationId":"site_file_api_v1_workspaces__workspace_id__sites__site_id__file_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","maxLength":500,"title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Save File","operationId":"save_file_api_v1_workspaces__workspace_id__sites__site_id__file_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}/versions":{"get":{"summary":"Versions","operationId":"versions_api_v1_workspaces__workspace_id__sites__site_id__versions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","maxLength":500,"title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}/versions/{version_id}":{"get":{"summary":"Version Content","operationId":"version_content_api_v1_workspaces__workspace_id__sites__site_id__versions__version_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/sites/{site_id}/rollback":{"post":{"summary":"Rollback","operationId":"rollback_api_v1_workspaces__workspace_id__sites__site_id__rollback_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/start-plan":{"post":{"summary":"Claim Plan","operationId":"claim_plan_api_v1_workspaces__workspace_id__start_plan_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Current Plan","operationId":"current_plan_api_v1_workspaces__workspace_id__start_plan_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics":{"get":{"summary":"Analytics","description":"Наскрізна аналітика за останні дні (1–90): воронка сайту, джерела, сторінки, дні, реєстрації, короткі посилання.","operationId":"analytics_api_v1_admin_analytics_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":14,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/short-links/{code}":{"put":{"summary":"Save Short Link","operationId":"save_short_link_api_v1_admin_short_links__code__put","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShortLinkInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketing":{"get":{"summary":"Marketing Settings","operationId":"marketing_settings_api_v1_admin_marketing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"summary":"Save Marketing","operationId":"save_marketing_api_v1_admin_marketing_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketingInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/actions":{"get":{"summary":"Actions","operationId":"actions_api_v1_admin_analytics_v2_actions_get","parameters":[{"name":"action_status","in":"query","required":false,"schema":{"enum":["all","error","recorded"],"type":"string","default":"all","title":"Action Status"}},{"name":"action_category","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Action Category"}},{"name":"action_workspace","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^workspace_[a-f0-9]{10}$"},{"type":"null"}],"title":"Action Workspace"}},{"name":"action_client","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^client_[a-f0-9]{10}$"},{"type":"null"}],"title":"Action Client"}},{"name":"action_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Action Code"}},{"name":"action_provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Action Provider"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Page Size"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/actions/{event_id}":{"get":{"summary":"Action Detail","operationId":"action_detail_api_v1_admin_analytics_v2_actions__event_id__get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"}},{"name":"action_status","in":"query","required":false,"schema":{"enum":["all","error","recorded"],"type":"string","default":"all","title":"Action Status"}},{"name":"action_category","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Action Category"}},{"name":"action_workspace","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^workspace_[a-f0-9]{10}$"},{"type":"null"}],"title":"Action Workspace"}},{"name":"action_client","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^client_[a-f0-9]{10}$"},{"type":"null"}],"title":"Action Client"}},{"name":"action_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Action Code"}},{"name":"action_provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Action Provider"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/funnel":{"get":{"summary":"Funnel","operationId":"funnel_api_v1_admin_analytics_v2_funnel_get","parameters":[{"name":"kind","in":"query","required":false,"schema":{"enum":["web","signup"],"type":"string","default":"web","title":"Kind"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/export":{"get":{"summary":"Export","operationId":"export_api_v1_admin_analytics_v2_export_get","parameters":[{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user"],"type":"string","default":"workspace","title":"Unit"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","csv"],"type":"string","default":"json","title":"Format"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/summary":{"get":{"summary":"Summary","operationId":"summary_api_v1_admin_analytics_v2_summary_get","parameters":[{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user"],"type":"string","default":"workspace","title":"Unit"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/sources":{"get":{"summary":"Sources","operationId":"sources_api_v1_admin_analytics_v2_sources_get","parameters":[{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user","session"],"type":"string","default":"workspace","title":"Unit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Page Size"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["count","source"],"type":"string","default":"count","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/registrations":{"get":{"summary":"Registrations","operationId":"registrations_api_v1_admin_analytics_v2_registrations_get","parameters":[{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user"],"type":"string","default":"workspace","title":"Unit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Page Size"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["signup_at","source","status","unit_ref"],"type":"string","default":"signup_at","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/registrations/{unit_id}":{"get":{"summary":"Registration Detail","operationId":"registration_detail_api_v1_admin_analytics_v2_registrations__unit_id__get","parameters":[{"name":"unit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Unit Id"}},{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user"],"type":"string","default":"workspace","title":"Unit"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/quality":{"get":{"summary":"Quality","operationId":"quality_api_v1_admin_analytics_v2_quality_get","parameters":[{"name":"unit","in":"query","required":false,"schema":{"enum":["workspace","user"],"type":"string","default":"workspace","title":"Unit"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/v2/result-viewed":{"post":{"summary":"Result Viewed","operationId":"result_viewed_api_v1_workspaces__workspace_id__analytics_v2_result_viewed_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultViewedInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/activation/setup":{"get":{"summary":"Activation Setup","operationId":"activation_setup_api_v1_admin_analytics_v2_activation_setup_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/analytics/v2/activation/definition":{"post":{"summary":"Approve Definition","operationId":"approve_definition_api_v1_admin_analytics_v2_activation_definition_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefinitionApprovalInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/activation/checkpoint":{"post":{"summary":"Collection Checkpoint","operationId":"collection_checkpoint_api_v1_admin_analytics_v2_activation_checkpoint_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckpointInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/activation/reconcile":{"post":{"summary":"Reconcile","operationId":"reconcile_api_v1_admin_analytics_v2_activation_reconcile_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/analytics/v2/activation":{"get":{"summary":"Activation Report","operationId":"activation_report_api_v1_admin_analytics_v2_activation_get","parameters":[{"name":"cohort","in":"query","required":false,"schema":{"enum":["signup","activation"],"type":"string","default":"signup","title":"Cohort"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/analytics/v2/finance":{"get":{"summary":"Finance Report","operationId":"finance_report_api_v1_admin_analytics_v2_finance_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},{"name":"timezone","in":"query","required":false,"schema":{"enum":["Europe/Kyiv","UTC"],"type":"string","default":"Europe/Kyiv","title":"Timezone"}},{"name":"mode","in":"query","required":false,"schema":{"enum":["rolling","calendar"],"type":"string","default":"rolling","title":"Mode"}},{"name":"model","in":"query","required":false,"schema":{"enum":["first_observed","current","conversion","last_non_direct"],"type":"string","default":"first_observed","title":"Model"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":150,"pattern":"^[a-z0-9_.:/-]+$"},{"type":"null"}],"title":"Source"}},{"name":"exclusions","in":"query","required":false,"schema":{"enum":["eligible","all"],"type":"string","default":"eligible","title":"Exclusions"}},{"name":"host","in":"query","required":false,"schema":{"anyOf":[{"enum":["adace.website","www.adace.website","ads.adace.website"],"type":"string"},{"type":"null"}],"title":"Host"}},{"name":"status","in":"query","required":false,"schema":{"enum":["all","linked","client_reported","unlinked"],"type":"string","default":"all","title":"Status"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Authorization Server Metadata","operationId":"authorization_server_metadata__well_known_oauth_authorization_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/oauth/register":{"post":{"summary":"Register Client","operationId":"register_client_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationInput"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/intents/{intent_id}":{"get":{"summary":"Intent Info","operationId":"intent_info_api_v1_auth_intents__intent_id__get","parameters":[{"name":"intent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Intent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize":{"get":{"summary":"Authorize","operationId":"authorize_oauth_authorize_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Authorize Decision","operationId":"authorize_decision_oauth_authorize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/oauth/token":{"post":{"summary":"Token","operationId":"token_oauth_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/oauth/revoke":{"post":{"summary":"Revoke","operationId":"revoke_oauth_revoke_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspaces/{workspace_id}/ai-grants":{"get":{"summary":"List Ai Grants","operationId":"list_ai_grants_api_v1_workspaces__workspace_id__ai_grants_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ai-grants/{family_id}":{"delete":{"summary":"Revoke Ai Grant","operationId":"revoke_ai_grant_api_v1_workspaces__workspace_id__ai_grants__family_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"family_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Family Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeGrantInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing":{"get":{"summary":"Overview","operationId":"overview_api_v1_workspaces__workspace_id__billing_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/plans":{"get":{"summary":"Plans","description":"Лише публічні плани й опубліковані, чинні, невідкликані версії — те, що справді можна купити. Річний варіант тарифу\n(міграція annual_plans) — не окремий рядок, а поле `annual` свого місячного плану; воно є, лише коли річну версію\nопубліковано з ціною Stripe.","operationId":"plans_api_v1_workspaces__workspace_id__billing_plans_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/checkout":{"post":{"summary":"Checkout","description":"Намір оплати: власник, cookie-сесія. Успішний redirect нічого не вмикає — лише вебхук.\n\nБез другого фактора (рішення власника 28.09.2026): картку клієнт вводить сам на сторінці Stripe, збережена картка тут\nне списується, а обов'язкове налаштування застосунку-автентифікатора перед першою оплатою відсікало б покупців.\nДії зі збереженою карткою й підпискою (портал, пакети, звірка) — як і раніше, з другим фактором. `otp` приймається\nдля сумісності й ігнорується.","operationId":"checkout_api_v1_workspaces__workspace_id__billing_checkout_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/portal":{"post":{"summary":"Portal","description":"Портал керує способом оплати й скасуванням: власник, другий фактор, cookie-сесія.","operationId":"portal_api_v1_workspaces__workspace_id__billing_portal_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/addons/{code}":{"post":{"summary":"Change Addon","description":"Докупити або зменшити пакети (міграція 065): власник, другий фактор, cookie-сесія.\n\nСпершу оплата: збільшення — пропорційний рахунок одразу, і Stripe не застосовує зміну, якщо оплата не пройшла. Межа\nпростору зростає лише з проєкції канонічної підписки (вебхук або звірка), не з відповіді на цей запит. Перед кожною\nспробою — канонічна підписка (є позиція пакета чи ні); кількість задається абсолютно, тож повтор безпечний.","operationId":"change_addon_api_v1_workspaces__workspace_id__billing_addons__code__post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddonInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/purchases/{code}":{"post":{"summary":"Purchase","description":"Разова покупка (міграція 067, «+100 питань» за $29): власник, cookie-сесія; без другого фактора — картку клієнт вводить\nна сторінці Stripe, як і при купівлі тарифу. Лише для платного тарифу з клієнтом Stripe; до стелі пакетів за період.\n\nНамір і точне тіло POST фіксуються ДО виклику Stripe; невизначений результат не закриває намір — повтор шле те саме тіло\nз тим самим ключем. Оплаченою покупку робить лише процес білінгу за канонічною сесією (вебхук), не повернення зі сторінки.","operationId":"purchase_api_v1_workspaces__workspace_id__billing_purchases__code__post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/usage":{"get":{"summary":"Usage","operationId":"usage_api_v1_workspaces__workspace_id__billing_usage_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/invoices":{"get":{"summary":"Invoices","operationId":"invoices_api_v1_workspaces__workspace_id__billing_invoices_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/billing/reconcile":{"post":{"summary":"Reconcile","description":"Звірку виконує процес білінгу з довговічної черги; тут — лише запит із захистом від частих запусків.","operationId":"reconcile_api_v1_workspaces__workspace_id__billing_reconcile_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconcileInput"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/webhooks/stripe":{"post":{"summary":"Stripe Webhook","description":"Підпис → inbox → 200. Тіло читається потоково з межею; обробка асинхронна, окремим процесом.","operationId":"stripe_webhook_api_v1_billing_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/templates":{"get":{"summary":"Templates","operationId":"templates_api_v1_workspaces__workspace_id__agents_templates_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents":{"get":{"summary":"List Agents","operationId":"list_agents_api_v1_workspaces__workspace_id__agents_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Agent","operationId":"create_agent_api_v1_workspaces__workspace_id__agents_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/inbox":{"get":{"summary":"Inbox","operationId":"inbox_api_v1_workspaces__workspace_id__agents_inbox_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"proposed","title":"Status"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/runs/{run_id}":{"get":{"summary":"Run Detail","operationId":"run_detail_api_v1_workspaces__workspace_id__agents_runs__run_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/proposals/{proposal_id}/reject":{"post":{"summary":"Reject","operationId":"reject_api_v1_workspaces__workspace_id__agents_proposals__proposal_id__reject_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/playbook/import":{"post":{"summary":"Playbook Import","operationId":"playbook_import_api_v1_workspaces__workspace_id__agents_playbook_import_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookImportInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}":{"get":{"summary":"Get Agent","operationId":"get_agent_api_v1_workspaces__workspace_id__agents__agent_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Patch Agent","operationId":"patch_agent_api_v1_workspaces__workspace_id__agents__agent_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/activate":{"post":{"summary":"Activate","operationId":"activate_api_v1_workspaces__workspace_id__agents__agent_id__activate_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/pause":{"post":{"summary":"Pause","operationId":"pause_api_v1_workspaces__workspace_id__agents__agent_id__pause_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/archive":{"post":{"summary":"Archive","operationId":"archive_api_v1_workspaces__workspace_id__agents__agent_id__archive_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/run":{"post":{"summary":"Run Now","description":"Ручний запуск: рядок черги; виконує процес автоматизацій (завдання agent_run).","operationId":"run_now_api_v1_workspaces__workspace_id__agents__agent_id__run_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/preview":{"post":{"summary":"Preview","description":"Крок 5 майстра: що агент запропонував би зараз — той самий раннер без жодних записів (NullCommand, dry run).","operationId":"preview_api_v1_workspaces__workspace_id__agents__agent_id__preview_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/draft-instructions":{"post":{"summary":"Draft Instructions","description":"«З нуля»: методологія від моделі, коли є ключ; інакше — порожній шаблон із підказками (source=template).","operationId":"draft_instructions_api_v1_workspaces__workspace_id__agents_draft_instructions_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/runs":{"get":{"summary":"Runs","operationId":"runs_api_v1_workspaces__workspace_id__agents__agent_id__runs_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/impact":{"get":{"summary":"Impact","operationId":"impact_api_v1_workspaces__workspace_id__agents__agent_id__impact_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agents/{agent_id}/playbook/export":{"post":{"summary":"Playbook Export","operationId":"playbook_export_api_v1_workspaces__workspace_id__agents__agent_id__playbook_export_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/presets":{"get":{"summary":"List Presets","operationId":"list_presets_api_v1_workspaces__workspace_id__monitors_presets_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/presets/{kind}":{"put":{"summary":"Save Preset","operationId":"save_preset_api_v1_workspaces__workspace_id__monitors_presets__kind__put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresetInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors":{"get":{"summary":"List Monitors","operationId":"list_monitors_api_v1_workspaces__workspace_id__monitors_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Monitor","operationId":"create_monitor_api_v1_workspaces__workspace_id__monitors_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorRuleInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/incidents":{"get":{"summary":"Incidents","operationId":"incidents_api_v1_workspaces__workspace_id__monitors_incidents_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}},{"name":"open","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Open"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/recommend":{"post":{"summary":"Recommend","operationId":"recommend_api_v1_workspaces__workspace_id__monitors_recommend_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/webhooks":{"get":{"summary":"Get Webhook","operationId":"get_webhook_api_v1_workspaces__workspace_id__monitors_webhooks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Webhook","description":"Адреса webhook простору: власник + другий фактор; секрет показується один раз.","operationId":"put_webhook_api_v1_workspaces__workspace_id__monitors_webhooks_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/{rule_id}/prompt":{"get":{"summary":"Prompt","operationId":"prompt_api_v1_workspaces__workspace_id__monitors__rule_id__prompt_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/monitors/{rule_id}":{"patch":{"summary":"Patch Monitor","operationId":"patch_monitor_api_v1_workspaces__workspace_id__monitors__rule_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorRulePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Monitor","operationId":"delete_monitor_api_v1_workspaces__workspace_id__monitors__rule_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Rule Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/dashboards":{"get":{"summary":"List Links","operationId":"list_links_api_v1_workspaces__workspace_id__dashboards_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Link","description":"Токен і посилання показуються один раз; у базі — лише SHA-256.","operationId":"create_link_api_v1_workspaces__workspace_id__dashboards_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__dashboards__api__LinkInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/dashboards/{link_id}/revoke":{"post":{"summary":"Revoke Link","operationId":"revoke_link_api_v1_workspaces__workspace_id__dashboards__link_id__revoke_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"link_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Link Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/dashboards/{token}":{"get":{"summary":"Public Json","operationId":"public_json_api_v1_public_dashboards__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"range","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/d/{token}":{"get":{"summary":"Public Page","operationId":"public_page_d__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"range","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits":{"get":{"summary":"List Kits","operationId":"list_kits_api_v1_workspaces__workspace_id__agency_kits_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Kit","operationId":"create_kit_api_v1_workspaces__workspace_id__agency_kits_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KitInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/prompts":{"get":{"summary":"Kit Prompts","operationId":"kit_prompts_api_v1_workspaces__workspace_id__agency_kits_prompts_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/{kit_id}":{"patch":{"summary":"Patch Kit","operationId":"patch_kit_api_v1_workspaces__workspace_id__agency_kits__kit_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Kit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KitPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/{kit_id}/generate":{"post":{"summary":"Generate","operationId":"generate_api_v1_workspaces__workspace_id__agency_kits__kit_id__generate_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Kit Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/{kit_id}/versions/{version}":{"get":{"summary":"Get Version","operationId":"get_version_api_v1_workspaces__workspace_id__agency_kits__kit_id__versions__version__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Kit Id"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/{kit_id}/versions/{version}/download":{"get":{"summary":"Download","operationId":"download_api_v1_workspaces__workspace_id__agency_kits__kit_id__versions__version__download_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Kit Id"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/agency-kits/{kit_id}/preview":{"post":{"summary":"Preview","description":"«Preview expert»: відповідь моделі з контекстом kit-а; без ключа моделі — чесне model_unavailable.","operationId":"preview_api_v1_workspaces__workspace_id__agency_kits__kit_id__preview_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"kit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Kit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__kits__api__PreviewInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-protected-resource/mcp":{"get":{"summary":"Protected Resource Metadata","operationId":"protected_resource_metadata__well_known_oauth_protected_resource_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"summary":"Protected Resource Metadata","operationId":"protected_resource_metadata__well_known_oauth_protected_resource_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/oauth-protected-resource/mcp/chatgpt":{"get":{"summary":"Protected Resource Metadata Chatgpt","operationId":"protected_resource_metadata_chatgpt__well_known_oauth_protected_resource_mcp_chatgpt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/openai-apps-challenge":{"get":{"summary":"Openai Apps Challenge","description":"Підтвердження домену для каталогу застосунків ChatGPT: лише токен із налаштувань, простим текстом (так вимагає\nOpenAI: без JSON і без сторінки навколо). Токен не секретний — його й так бачить будь-хто за цією адресою.","operationId":"openai_apps_challenge__well_known_openai_apps_challenge_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp":{"get":{"summary":"Mcp Stream","operationId":"mcp_stream_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Mcp Endpoint","operationId":"mcp_endpoint_mcp_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"summary":"Mcp Delete","operationId":"mcp_delete_mcp_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp/chatgpt":{"get":{"summary":"Mcp Chatgpt Stream","operationId":"mcp_chatgpt_stream_mcp_chatgpt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Mcp Chatgpt Endpoint","operationId":"mcp_chatgpt_endpoint_mcp_chatgpt_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"summary":"Mcp Chatgpt Stream","operationId":"mcp_chatgpt_stream_mcp_chatgpt_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspaces/{workspace_id}/members":{"get":{"summary":"List Members","operationId":"list_members_api_v1_workspaces__workspace_id__members_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/members/{member_id}":{"patch":{"summary":"Update Member","operationId":"update_member_api_v1_workspaces__workspace_id__members__member_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/members/{member_id}/deactivate":{"post":{"summary":"Deactivate Member","operationId":"deactivate_member_api_v1_workspaces__workspace_id__members__member_id__deactivate_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/invitations":{"get":{"summary":"List Invitations","operationId":"list_invitations_api_v1_workspaces__workspace_id__invitations_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Invitation","operationId":"create_invitation_api_v1_workspaces__workspace_id__invitations_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/invitations/{invitation_id}":{"delete":{"summary":"Revoke Invitation","operationId":"revoke_invitation_api_v1_workspaces__workspace_id__invitations__invitation_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/invitations/{token}":{"get":{"summary":"Invitation Info","description":"Що бачить людина за посиланням. Причина недійсності назовні не пояснюється.","operationId":"invitation_info_api_v1_auth_invitations__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/invitations/{token}/accept":{"post":{"summary":"Accept Invitation","description":"Join only as the independently authenticated cookie-session identity.\n\nThe invitation token delegates workspace access but proves no ownership of\nthe recipient email: the inviter knows the token. New recipients use the separate email-signup flow to verify their address first.","operationId":"accept_invitation_api_v1_auth_invitations__token__accept_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/mfa":{"get":{"summary":"Get Mfa","operationId":"get_mfa_api_v1_auth_mfa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/mfa/setup":{"post":{"summary":"Setup Mfa","description":"Новий секрет; діє після підтвердження кодом. Повторний виклик замінює непідтверджений секрет.","operationId":"setup_mfa_api_v1_auth_mfa_setup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/mfa/confirm":{"post":{"summary":"Confirm Mfa","operationId":"confirm_mfa_api_v1_auth_mfa_confirm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/mfa/disable":{"post":{"summary":"Disable Mfa","operationId":"disable_mfa_api_v1_auth_mfa_disable_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/session/mfa":{"post":{"summary":"Finish Login","operationId":"finish_login_api_v1_session_mfa_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaLoginInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces":{"get":{"summary":"Workspaces","operationId":"workspaces_api_v1_admin_workspaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/grant":{"post":{"summary":"Grant","operationId":"grant_api_v1_admin_workspaces__workspace_id__grant_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/platform-replacement-grant":{"post":{"summary":"Grant Platform Replacement","description":"Grant one exact client a replacement of one disconnected platform hold.\n\nThe database checks the service-admin identity again, accepts an identical\nretry without another credit, and records a fixed audit event. OAuth success\nlater consumes the grant atomically; failed OAuth leaves it pending.","operationId":"grant_platform_replacement_api_v1_admin_workspaces__workspace_id__platform_replacement_grant_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformReplacementGrantInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/platform-slot-reset":{"post":{"summary":"Reset Platform Slot","description":"Revoke one verified active Reddit grant and waive two exact holds once.\n\nThis operator action requires a service-admin cookie session and MFA. The\ndatabase serializes it with provider callbacks and verifies every source\nrow again before copying the token into the durable revocation queue.","operationId":"reset_platform_slot_api_v1_admin_workspaces__workspace_id__platform_slot_reset_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSlotResetInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/platform-slot-reset-preview":{"get":{"summary":"Platform Slot Reset Preview","description":"Show only an eligible exact source pair and its nonsecret state.\n\nThe service-admin SQL function reads cross-workspace rows under its own\nauthorization gate; the POST repeats all source checks under a lock. The\npreview never returns a credential or chooses the next platform.","operationId":"platform_slot_reset_preview_api_v1_admin_workspaces__workspace_id__platform_slot_reset_preview_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/freeze":{"post":{"summary":"Freeze","description":"Заморозити (on=true) чи розморозити простір: зупиняє всі зміни в рекламі через сервіс; власник простору не зніме.","operationId":"freeze_api_v1_admin_workspaces__workspace_id__freeze_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SafetyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/trust":{"post":{"summary":"Trust","description":"Позначити простір перевіреним (знімає стартові ліміти нового простору) або зняти позначку.","operationId":"trust_api_v1_admin_workspaces__workspace_id__trust_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SafetyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/risks":{"get":{"summary":"Risks","description":"Сигнали ризику простору (відкриті й закриті за 30 днів), перевірені сторінки реклами й стан кабінетів у платформах.","operationId":"risks_api_v1_admin_workspaces__workspace_id__risks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/export":{"get":{"summary":"Export","description":"Журнал простору для відповіді на запит Google чи Meta: дії, зміни, створене сервісом, кабінети, оголошення, учасники.","operationId":"export_api_v1_admin_workspaces__workspace_id__export_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":90,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/telegram":{"get":{"summary":"Telegram Admin Status","operationId":"telegram_admin_status_api_v1_admin_telegram_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"summary":"Telegram Admin Update","description":"Увімкнути адмін-сповіщення в групу простору (де підключено Telegram) або вимкнути. Лише з кабінету й кодом другого фактора.","operationId":"telegram_admin_update_api_v1_admin_telegram_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramAdminInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/card":{"get":{"summary":"Client Card","operationId":"client_card_api_v1_admin_workspaces__workspace_id__card_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{workspace_id}/events":{"get":{"summary":"Client Events","operationId":"client_events_api_v1_admin_workspaces__workspace_id__events_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/clients":{"get":{"summary":"Clients","description":"Список клієнтів із фільтрами за джерелом, технікою, підключеннями, тарифом і станом; без відкриття картки.","operationId":"clients_api_v1_admin_clients_get","parameters":[{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"platform_has","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Platform Has"}},{"name":"ai_connected","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ai Connected"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"created_desc","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":100000,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/clients/export":{"get":{"summary":"Clients Export","description":"CSV поточного фільтра; кожен експорт — запис у журналі (admin.clients_exported).","operationId":"clients_export_api_v1_admin_clients_export_get","parameters":[{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"platform_has","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Platform Has"}},{"name":"ai_connected","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ai Connected"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"created_desc","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/terms/accept":{"post":{"summary":"Accept Terms","description":"Людина погоджується з чинною редакцією умов користування (галочка в кабінеті). Лише з кабінету, не з ключа API.","operationId":"accept_terms_api_v1_terms_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/invitation-continuations/{continuation_id}":{"get":{"summary":"Continuation Info","operationId":"continuation_info_api_v1_auth_invitation_continuations__continuation_id__get","parameters":[{"name":"continuation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Continuation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/invitation-continuations/{continuation_id}/accept":{"post":{"summary":"Accept Continuation","operationId":"accept_continuation_api_v1_auth_invitation_continuations__continuation_id__accept_post","parameters":[{"name":"continuation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Continuation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/password":{"post":{"summary":"Set Initial Password","operationId":"set_initial_password_api_v1_auth_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitialPasswordInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/password/change":{"post":{"summary":"Change Password","description":"Змінити пароль (знаючи поточний) або відновити забутий (свіжий вхід за посиланням із пошти, до 10 хвилин).\nКод другого фактора — якщо він увімкнений. Інші входи людини після зміни закриваються (міграція 070).","operationId":"change_password_api_v1_auth_password_change_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/tasks":{"get":{"summary":"Tasks Catalogue","operationId":"tasks_catalogue_api_v1_workspaces__workspace_id__automations_tasks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/schedules":{"get":{"summary":"List Schedules","operationId":"list_schedules_api_v1_workspaces__workspace_id__automations_schedules_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/automations/{task}":{"put":{"summary":"Put Schedule","operationId":"put_schedule_api_v1_workspaces__workspace_id__clients__client_id__automations__task__put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"task","in":"path","required":true,"schema":{"enum":["analytics_sync","anomaly_check","pace_check","connection_check","client_report"],"type":"string","title":"Task"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Schedule","operationId":"delete_schedule_api_v1_workspaces__workspace_id__clients__client_id__automations__task__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"task","in":"path","required":true,"schema":{"enum":["analytics_sync","anomaly_check","pace_check","connection_check","client_report"],"type":"string","title":"Task"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/jobs":{"get":{"summary":"List Jobs","operationId":"list_jobs_api_v1_workspaces__workspace_id__automations_jobs_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/run":{"post":{"summary":"Run Now","operationId":"run_now_api_v1_workspaces__workspace_id__automations_run_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunInput"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/jobs/{job_id}/cancel":{"post":{"summary":"Cancel Job","description":"Скасування: у черзі — негайно; виконуване — без повторних спроб після невдачі.\n\nЗавдання, що вже поставило рекламну операцію в чергу, не скасовується:\nоперація йде своїм шляхом і має власний результат.","operationId":"cancel_job_api_v1_workspaces__workspace_id__automations_jobs__job_id__cancel_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/jobs/{job_id}/retry":{"post":{"summary":"Retry Job","operationId":"retry_job_api_v1_workspaces__workspace_id__automations_jobs__job_id__retry_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/automations/queue":{"get":{"summary":"Queue Metrics","operationId":"queue_metrics_api_v1_workspaces__workspace_id__automations_queue_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/budget-target":{"get":{"summary":"Get Budget Target","operationId":"get_budget_target_api_v1_workspaces__workspace_id__clients__client_id__budget_target_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Budget Target","operationId":"put_budget_target_api_v1_workspaces__workspace_id__clients__client_id__budget_target_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetTargetInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/notifications":{"get":{"summary":"List Notifications","operationId":"list_notifications_api_v1_workspaces__workspace_id__notifications_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"unread","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unread"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/notifications/{notification_id}/read":{"post":{"summary":"Mark Read","operationId":"mark_read_api_v1_workspaces__workspace_id__notifications__notification_id__read_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/notifications/read-all":{"post":{"summary":"Mark All Read","operationId":"mark_all_read_api_v1_workspaces__workspace_id__notifications_read_all_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/notification-preferences":{"get":{"summary":"Get Preferences","operationId":"get_preferences_api_v1_workspaces__workspace_id__notification_preferences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Preferences","operationId":"put_preferences_api_v1_workspaces__workspace_id__notification_preferences_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/metrics":{"get":{"summary":"Metrics","description":"Prometheus text format. Доступ лише за METRICS_TOKEN; без токена маршруту не існує.","operationId":"metrics_api_v1_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/config":{"get":{"summary":"Auth Config","operationId":"auth_config_api_v1_auth_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/email/request":{"post":{"summary":"Request Email","operationId":"request_email_api_v1_auth_email_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/consume":{"post":{"summary":"Consume Email","operationId":"consume_email_api_v1_auth_email_consume_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConsume"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/code":{"post":{"summary":"Consume Code","description":"10.10.2026: код із листа замість посилання — лише в браузері, що запросив лист, і лише для останнього листа адреси.","operationId":"consume_code_api_v1_auth_email_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailCode"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections":{"get":{"summary":"Connections","operationId":"connections_api_v1_workspaces__workspace_id__connections_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{provider}/start":{"post":{"summary":"Start","operationId":"start_api_v1_workspaces__workspace_id__connections__provider__start_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider","in":"path","required":true,"schema":{"enum":["google","meta","linkedin","tiktok","ga4","gsc","klaviyo","microsoft","snapchat","reddit","amazon"],"type":"string","title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Start"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/oauth/{provider}/callback":{"get":{"summary":"Callback","operationId":"callback_api_v1_oauth__provider__callback_get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"enum":["google","meta","linkedin","tiktok","ga4","gsc","klaviyo","microsoft","snapchat","reddit","amazon"],"type":"string","title":"Provider"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"type":"string","default":"","title":"Error"}},{"name":"auth_code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Auth Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/accounts":{"get":{"summary":"Discover Accounts","operationId":"discover_accounts_api_v1_workspaces__workspace_id__connections__connection_id__accounts_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/accounts/select":{"post":{"summary":"Select Accounts","operationId":"select_accounts_api_v1_workspaces__workspace_id__connections__connection_id__accounts_select_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Selection"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/discover-campaigns":{"get":{"summary":"Discover Campaigns","operationId":"discover_campaigns_api_v1_workspaces__workspace_id__accounts__account_id__discover_campaigns_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/import-campaigns":{"post":{"summary":"Import Campaigns","operationId":"import_campaigns_api_v1_workspaces__workspace_id__accounts__account_id__import_campaigns_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Selection"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/refresh-permissions":{"post":{"summary":"Refresh Permissions","description":"04.10.2026: перелік дозволів підключення Meta запам'ятовується під час входу. Дозвіл, наданий у Meta пізніше\n(наприклад, на заявки з форм), стає видно після нової перевірки без повторного входу — debug_token ∩ /me/permissions.\nЗберігається фактичний перелік (і доданий, і знятий дозвіл); токен лишається той самий.","operationId":"refresh_permissions_api_v1_workspaces__workspace_id__connections__connection_id__refresh_permissions_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}":{"delete":{"summary":"Disconnect","operationId":"disconnect_api_v1_workspaces__workspace_id__connections__connection_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/openai/key":{"post":{"summary":"Connect Key","operationId":"connect_key_api_v1_workspaces__workspace_id__connections_openai_key_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyConnect"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-conversions":{"get":{"summary":"Openai Conversions","description":"Пікселі й налаштування подій кабінету (наживо). Недоступне кабінету — ``gated`` і пояснення, не помилка.","operationId":"openai_conversions_api_v1_workspaces__workspace_id__accounts__account_id__openai_conversions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-pixels":{"post":{"summary":"Create Pixel","description":"Новий піксель (веб-джерело даних). Якщо піксель із такою назвою вже є — він і повертається (без дубля).","operationId":"create_pixel_api_v1_workspaces__workspace_id__accounts__account_id__openai_pixels_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-event-settings":{"post":{"summary":"Create Event Setting","description":"Налаштування події стадії (lead_created для «Кваліфікована», власні події для «Співбесіда» й «Найм»), вікно атрибуції 30 днів.","operationId":"create_event_setting_api_v1_workspaces__workspace_id__accounts__account_id__openai_event_settings_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSettingInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/openai":{"put":{"summary":"Save Site Pixel","description":"Піксель сайту й налаштування подій за стадіями. Піксель має бути в кабінеті (коли кабінет дозволяє прочитати перелік).\nІнший піксель чи джерело — збережений ключ Conversions API прибирається (він видається під піксель).","operationId":"save_site_pixel_api_v1_workspaces__workspace_id__clients__client_id__lead_site_openai_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteOpenAiInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/openai-capi-key":{"post":{"summary":"Create Capi Key","description":"Створює ключ Conversions API в OpenAI (POST /conversions/api_keys) і ОДРАЗУ шифрує та зберігає: OpenAI показує його один раз.\nВідповідь — лише ознака й останні 4 символи; сам ключ нікуди не повертається.","operationId":"create_capi_key_api_v1_workspaces__workspace_id__clients__client_id__lead_site_openai_capi_key_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Save Capi Key","description":"Ключ Conversions API, виданий поза сервісом (або прибрати збережений). Ключ перевіряється validate_only до збереження.","operationId":"save_capi_key_api_v1_workspaces__workspace_id__clients__client_id__lead_site_openai_capi_key_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapiKeyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/lead-site/openai-test-send":{"post":{"summary":"Test Send","description":"«Тестове надсилання»: подія стадії перевіряється в OpenAI (validate_only) — у моніторинг не потрапляє, нічого не записується.","operationId":"test_send_api_v1_workspaces__workspace_id__clients__client_id__lead_site_openai_test_send_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSendInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-audiences":{"get":{"summary":"List Audiences","operationId":"list_audiences_api_v1_workspaces__workspace_id__accounts__account_id__openai_audiences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Audience","operationId":"create_audience_api_v1_workspaces__workspace_id__accounts__account_id__openai_audiences_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-audiences/{audience_id}/members":{"post":{"summary":"Change Members","operationId":"change_members_api_v1_workspaces__workspace_id__accounts__account_id__openai_audiences__audience_id__members_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"audience_id","in":"path","required":true,"schema":{"type":"string","title":"Audience Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembersChange"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/analytics-sync":{"post":{"summary":"Enqueue","operationId":"enqueue_api_v1_workspaces__workspace_id__accounts__account_id__analytics_sync_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsRange"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics-sync/{job_id}":{"get":{"summary":"Job Status","operationId":"job_status_api_v1_workspaces__workspace_id__analytics_sync__job_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics":{"get":{"summary":"Read Analytics","operationId":"read_analytics_api_v1_workspaces__workspace_id__analytics_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/structure":{"get":{"summary":"Read Structure","description":"Кампанія → групи оголошень (аудиторії) → оголошення (креативи) з показниками за період.\n\nПоказники кампанії — з її денних рядків (джерело істини); показники групи — сума її\nоголошень за період; показники оголошення — з його денних рядків. Результати рахуються\nлише там, де тип результату один; змішані типи показуються без числа.","operationId":"read_structure_api_v1_workspaces__workspace_id__analytics_structure_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/breakdowns":{"get":{"summary":"Read Breakdowns","description":"Розрізи однієї групи оголошень за період: вік, стать, плейсмент, пристрій — з лідерами.","operationId":"read_breakdowns_api_v1_workspaces__workspace_id__analytics_breakdowns_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"ad_set_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/actions":{"get":{"summary":"Read Actions","description":"Конверсії за типами дій за період: кожен тип окремо, з витратами кампанії для ціни дії.\n\nТипи не складаються між собою ні тут, ні в інтерфейсі: сума «всіх дій» нічого не\nозначає. Підсумок за типом — це сума одного типу по кампаніях кабінету.","operationId":"read_actions_api_v1_workspaces__workspace_id__analytics_actions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/search-terms":{"get":{"summary":"Read Search Terms","description":"F-2g: пошукові терміни кабінету Google за період з ознакою кандидата в мінус-слова.","operationId":"read_search_terms_api_v1_workspaces__workspace_id__analytics_search_terms_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}},{"name":"only_candidates","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Candidates"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/refresh-campaigns":{"post":{"summary":"Refresh Campaigns","operationId":"refresh_campaigns_api_v1_workspaces__workspace_id__accounts__account_id__refresh_campaigns_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/status-check":{"post":{"summary":"Check Campaign Status","description":"Звірити статус кампанії з платформою зараз (оновлює всі імпортовані кампанії її кабінету).","operationId":"check_campaign_status_api_v1_workspaces__workspace_id__campaigns__campaign_id__status_check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/ga4-properties":{"get":{"summary":"Discover Properties","operationId":"discover_properties_api_v1_workspaces__workspace_id__connections__connection_id__ga4_properties_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/ga4-properties/select":{"post":{"summary":"Select Properties","operationId":"select_properties_api_v1_workspaces__workspace_id__connections__connection_id__ga4_properties_select_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertySelection"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/properties":{"get":{"summary":"List Properties","operationId":"list_properties_api_v1_workspaces__workspace_id__ga4_properties_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/properties/{property_ref}/sync":{"post":{"summary":"Sync Property","operationId":"sync_property_api_v1_workspaces__workspace_id__ga4_properties__property_ref__sync_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"property_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Property Ref"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__ga4__SyncInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/properties/{property_ref}":{"delete":{"summary":"Remove Property","operationId":"remove_property_api_v1_workspaces__workspace_id__ga4_properties__property_ref__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"property_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Property Ref"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/report":{"get":{"summary":"Utm Report","operationId":"utm_report_api_v1_workspaces__workspace_id__ga4_report_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"property_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Property Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/gsc-sites":{"get":{"summary":"Discover Sites","operationId":"discover_sites_api_v1_workspaces__workspace_id__connections__connection_id__gsc_sites_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/gsc-sites/select":{"post":{"summary":"Select Sites","operationId":"select_sites_api_v1_workspaces__workspace_id__connections__connection_id__gsc_sites_select_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteSelection"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/gsc/sites":{"get":{"summary":"List Sites","operationId":"list_sites_api_v1_workspaces__workspace_id__gsc_sites_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/gsc/sites/{site_ref}/sync":{"post":{"summary":"Sync Site","operationId":"sync_site_api_v1_workspaces__workspace_id__gsc_sites__site_ref__sync_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Ref"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__search_console__SyncInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/gsc/sites/{site_ref}":{"delete":{"summary":"Remove Site","operationId":"remove_site_api_v1_workspaces__workspace_id__gsc_sites__site_ref__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Ref"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/gsc/report":{"get":{"summary":"Search Report","operationId":"search_report_api_v1_workspaces__workspace_id__gsc_report_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"site_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/klaviyo-account":{"get":{"summary":"Discover Account","operationId":"discover_account_api_v1_workspaces__workspace_id__connections__connection_id__klaviyo_account_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/klaviyo-account/select":{"post":{"summary":"Select Account","operationId":"select_account_api_v1_workspaces__workspace_id__connections__connection_id__klaviyo_account_select_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/klaviyo/accounts":{"get":{"summary":"List Accounts","operationId":"list_accounts_api_v1_workspaces__workspace_id__klaviyo_accounts_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/klaviyo/accounts/{account_ref}/sync":{"post":{"summary":"Sync Account","operationId":"sync_account_api_v1_workspaces__workspace_id__klaviyo_accounts__account_ref__sync_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Ref"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__klaviyo__SyncInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/klaviyo/accounts/{account_ref}":{"delete":{"summary":"Remove Account","operationId":"remove_account_api_v1_workspaces__workspace_id__klaviyo_accounts__account_ref__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Ref"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/klaviyo/report":{"get":{"summary":"Email Report","operationId":"email_report_api_v1_workspaces__workspace_id__klaviyo_report_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/connections/{connection_id}/check":{"post":{"summary":"Check Connection","operationId":"check_connection_api_v1_workspaces__workspace_id__connections__connection_id__check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/readiness/recheck":{"post":{"summary":"Recheck","operationId":"recheck_api_v1_workspaces__workspace_id__readiness_recheck_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecheckBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/google/account-creation-check":{"post":{"summary":"Account Creation Check","operationId":"account_creation_check_api_v1_workspaces__workspace_id__google_account_creation_check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tracking":{"get":{"summary":"List Sites","operationId":"list_sites_api_v1_workspaces__workspace_id__clients__client_id__tracking_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tracking/sites/{site_id}":{"get":{"summary":"Get Site","operationId":"get_site_api_v1_workspaces__workspace_id__clients__client_id__tracking_sites__site_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Remove Site","operationId":"remove_site_api_v1_workspaces__workspace_id__clients__client_id__tracking_sites__site_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"site_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tracking/sites":{"post":{"summary":"Add Site","operationId":"add_site_api_v1_workspaces__workspace_id__clients__client_id__tracking_sites_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__tracking_audit__SiteInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tracking/audit":{"post":{"summary":"Audit Site","operationId":"audit_site_api_v1_workspaces__workspace_id__clients__client_id__tracking_audit_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__tracking_audit__SiteInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/ga4/setup":{"get":{"summary":"Setup Options","operationId":"setup_options_api_v1_workspaces__workspace_id__clients__client_id__ga4_setup_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Setup","operationId":"setup_api_v1_workspaces__workspace_id__clients__client_id__ga4_setup_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/properties/{property_ref}/key-events":{"post":{"summary":"Add Key Event","operationId":"add_key_event_api_v1_workspaces__workspace_id__ga4_properties__property_ref__key_events_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"property_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Property Ref"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyEventInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ga4/properties/{property_ref}/ads-links":{"post":{"summary":"Add Ads Link","operationId":"add_ads_link_api_v1_workspaces__workspace_id__ga4_properties__property_ref__ads_links_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"property_ref","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Property Ref"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__ga4_setup__LinkInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/auto-tagging":{"post":{"summary":"Auto Tagging","operationId":"auto_tagging_api_v1_workspaces__workspace_id__accounts__account_id__auto_tagging_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/conversion-actions":{"post":{"summary":"Create Conversion Action","description":"Етап 4: дія-конверсія в кабінеті Google Ads (без дублів за назвою); мітку тегу ставить етап 3 після нового аудиту.","operationId":"create_conversion_action_api_v1_workspaces__workspace_id__accounts__account_id__conversion_actions_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionActionInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tags/accounts":{"get":{"summary":"Tag Accounts","description":"Акаунти Google з доступом до Менеджера тегів (кожне підключення) і контейнери, які кожен бачить; позначено контейнер\nсайту (код GTM-… з останнього аудиту) і підключення, яке сервіс узяв би сам. Лише читання.","operationId":"tag_accounts_api_v1_workspaces__workspace_id__clients__client_id__tags_accounts_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"site_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tags/plan":{"get":{"summary":"Get Plan","operationId":"get_plan_api_v1_workspaces__workspace_id__clients__client_id__tags_plan_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"site_url","in":"query","required":true,"schema":{"type":"string","title":"Site Url"}},{"name":"meta_event","in":"query","required":false,"schema":{"enum":["Contact","Lead","SubmitApplication","Schedule","CompleteRegistration"],"type":"string","default":"Contact","title":"Meta Event"}},{"name":"meta_pixel_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[0-9]{5,20}$"},{"type":"null"}],"title":"Meta Pixel Id"}},{"name":"forms","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Forms"}},{"name":"connection_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/tags/changes":{"post":{"summary":"Prepare","operationId":"prepare_api_v1_workspaces__workspace_id__clients__client_id__tags_changes_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__tag_manager__SiteInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Changes","operationId":"list_changes_api_v1_workspaces__workspace_id__clients__client_id__tags_changes_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/tags/changes/{change_id}/publish":{"post":{"summary":"Publish","operationId":"publish_api_v1_workspaces__workspace_id__tags_changes__change_id__publish_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/tags/changes/{change_id}/discard":{"post":{"summary":"Discard","operationId":"discard_api_v1_workspaces__workspace_id__tags_changes__change_id__discard_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/tags/changes/{change_id}/rollback":{"post":{"summary":"Rollback","operationId":"rollback_api_v1_workspaces__workspace_id__tags_changes__change_id__rollback_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"change_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Change Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/test-campaign":{"post":{"summary":"Create Test Campaign","description":"P-06: службова кампанія для перевірки записів. Лише власник, назва з позначкою.","operationId":"create_test_campaign_api_v1_workspaces__workspace_id__accounts__account_id__test_campaign_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestCampaign"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/campaigns":{"post":{"summary":"Create Campaign","description":"F-2e: нова кампанія на паузі як звичайна робоча операція (REQ-OPS-02).\n\nБез груп і оголошень вона нічого не витрачає, тому не потребує погодження — як в\nAdspirer. Натомість діють політика клієнта (лише спостереження, зупинені записи),\nперелік дозволених кабінетів на сервері й межа кількості записів за годину.\nСтворювати можуть власник і адміністратор: сесія провайдера з обліковими даними\nвідкривається лише їм (як і підключення); менеджер пропонує зміни наявних кампаній.\nСтворена кампанія службова: далі її можна змінювати без перемикача робочих кампаній.","operationId":"create_campaign_api_v1_workspaces__workspace_id__accounts__account_id__campaigns_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignCreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/ads":{"get":{"summary":"Account Ads","description":"Оголошення кабінету — джерела для нового оголошення «з наявних активів».","operationId":"account_ads_api_v1_workspaces__workspace_id__accounts__account_id__ads_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/ads":{"post":{"summary":"Create Ad","operationId":"create_ad_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__ads_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdCreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/creative-check":{"post":{"summary":"Check Creative","operationId":"check_creative_api_v1_workspaces__workspace_id__accounts__account_id__creative_check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdCreateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/lead-forms":{"post":{"summary":"Create Form","operationId":"create_form_api_v1_workspaces__workspace_id__campaigns__campaign_id__lead_forms_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadFormCreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/audiences":{"get":{"summary":"List Audiences","operationId":"list_audiences_api_v1_workspaces__workspace_id__accounts__account_id__audiences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Audience","operationId":"create_audience_api_v1_workspaces__workspace_id__accounts__account_id__audiences_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceCreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/custom-conversions":{"get":{"summary":"List Conversions","operationId":"list_conversions_api_v1_workspaces__workspace_id__accounts__account_id__custom_conversions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Conversion","operationId":"create_conversion_api_v1_workspaces__workspace_id__accounts__account_id__custom_conversions_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/google-audiences":{"get":{"summary":"Ad Group Audiences","operationId":"ad_group_audiences_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__google_audiences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/microsoft-remarketing":{"post":{"summary":"Microsoft Remarketing Lists","description":"Ч.12: списки «Відвідувачі сайту» й «Лишили заявку» в кабінеті Microsoft цієї групи — за тегом UET сайту клієнта. Самі\nсписки нічого не змінюють у показах; використовує їх лише погоджена зміна аудиторій групи.","operationId":"microsoft_remarketing_lists_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__microsoft_remarketing_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/keywords":{"get":{"summary":"Ad Group Keywords","operationId":"ad_group_keywords_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__keywords_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/extensions":{"get":{"summary":"Campaign Extensions","operationId":"campaign_extensions_api_v1_workspaces__workspace_id__campaigns__campaign_id__extensions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/google-targeting":{"get":{"summary":"Campaign Targeting","operationId":"campaign_targeting_api_v1_workspaces__workspace_id__campaigns__campaign_id__google_targeting_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/microsoft-countries":{"get":{"summary":"Microsoft Countries","description":"Microsoft ч.2: країни показу кампанії з кабінету — для форми пропозиції campaign_targeting.","operationId":"microsoft_countries_api_v1_workspaces__workspace_id__campaigns__campaign_id__microsoft_countries_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/linkedin-targeting":{"get":{"summary":"Linkedin Targeting","description":"LinkedIn ч.2: змінюваний таргетинг кампанії з LinkedIn — для форми пропозиції campaign_targeting.","operationId":"linkedin_targeting_api_v1_workspaces__workspace_id__campaigns__campaign_id__linkedin_targeting_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/linkedin-settings":{"get":{"summary":"Linkedin Settings","description":"LinkedIn ч.5: назва, дата завершення, загальний бюджет, група кампаній, оптимізація, ротація — для пропозиції campaign_settings.","operationId":"linkedin_settings_api_v1_workspaces__workspace_id__campaigns__campaign_id__linkedin_settings_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ads/{ad_id}/linkedin-preview":{"get":{"summary":"Linkedin Preview","description":"LinkedIn ч.10: адреса прев'ю креативу на linkedin.com (діє до 3 годин) і посилання на кабінет у Campaign Manager.","operationId":"linkedin_preview_api_v1_workspaces__workspace_id__ads__ad_id__linkedin_preview_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/microsoft-settings":{"get":{"summary":"Microsoft Settings","description":"Microsoft ч.4: назва, Audience Network і пошукові партнери кампанії — для пропозиції campaign_settings.","operationId":"microsoft_settings_api_v1_workspaces__workspace_id__campaigns__campaign_id__microsoft_settings_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/linkedin-plan":{"post":{"summary":"Linkedin Plan","description":"LinkedIn ч.6: аудиторія, рекомендовані ставка й бюджет, прогноз на 30 днів і ідеї — для таргетингу майбутньої кампанії.","operationId":"linkedin_plan_api_v1_workspaces__workspace_id__accounts__account_id__linkedin_plan_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPlanInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-geo-search":{"get":{"summary":"Microsoft Geo Search","description":"Microsoft ч.10: місця за назвою (англійською) — країни, штати, агломерації, міста, округи США й Канади.","operationId":"microsoft_geo_search_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_geo_search_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"q","in":"query","required":true,"schema":{"type":"string","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-auto-apply":{"get":{"summary":"Microsoft Auto Apply","description":"Microsoft ч.9: які рекомендації Microsoft застосовує сам, без погодження.","operationId":"microsoft_auto_apply_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_auto_apply_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Set Microsoft Auto Apply","description":"Microsoft ч.9: увімкнути чи вимкнути автоприйняття (власник або адміністратор; журнал аудиту).","operationId":"set_microsoft_auto_apply_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_auto_apply_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoApplyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/linkedin-targeting-search":{"get":{"summary":"Linkedin Targeting Search","description":"Значення таргетингу LinkedIn за назвою: місця, посади, навички, галузі (англійською).","operationId":"linkedin_targeting_search_api_v1_workspaces__workspace_id__accounts__account_id__linkedin_targeting_search_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"kind","in":"query","required":true,"schema":{"type":"string","title":"Kind"}},{"name":"q","in":"query","required":true,"schema":{"type":"string","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/linkedin-targeting-options":{"get":{"summary":"Linkedin Targeting Options","description":"Усі значення невеликого фасету LinkedIn: функції, рівні, розміри компаній, мови інтерфейсу.","operationId":"linkedin_targeting_options_api_v1_workspaces__workspace_id__accounts__account_id__linkedin_targeting_options_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"kind","in":"query","required":true,"schema":{"type":"string","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-geo-search":{"get":{"summary":"Geo Search","operationId":"geo_search_api_v1_workspaces__workspace_id__accounts__account_id__google_geo_search_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100,"title":"Q"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-languages":{"get":{"summary":"Languages","operationId":"languages_api_v1_workspaces__workspace_id__accounts__account_id__google_languages_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-keyword-demand":{"post":{"summary":"Microsoft Keyword Demand","description":"Microsoft ч.5: точні пошуки слів у Bing, ідеї й тижневий прогноз — лише читання, у тій самій квоті оцінок, що й Google.","operationId":"microsoft_keyword_demand_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_keyword_demand_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MicrosoftDemandInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/keyword-demand":{"post":{"summary":"Keyword Demand","operationId":"keyword_demand_api_v1_workspaces__workspace_id__accounts__account_id__keyword_demand_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/creative-library":{"get":{"summary":"Creative Library","operationId":"creative_library_api_v1_workspaces__workspace_id__clients__client_id__creative_library_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":7,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/youtube-videos":{"get":{"summary":"Youtube Videos","operationId":"youtube_videos_api_v1_workspaces__workspace_id__accounts__account_id__youtube_videos_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Upload Video","description":"Відеофайл (тіло запиту — сам файл) → YouTube від імені кабінету Google; файл іде в Google частинами, не зберігається.","operationId":"upload_video_api_v1_workspaces__workspace_id__accounts__account_id__youtube_videos_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"title","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":100,"title":"Title"}},{"name":"description","in":"query","required":false,"schema":{"type":"string","maxLength":5000,"default":"","title":"Description"}},{"name":"privacy","in":"query","required":false,"schema":{"enum":["UNLISTED","PUBLIC"],"type":"string","default":"UNLISTED","title":"Privacy"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/external-changes":{"get":{"summary":"External Changes","operationId":"external_changes_api_v1_workspaces__workspace_id__accounts__account_id__external_changes_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":29,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/changes/check":{"post":{"summary":"Check","operationId":"check_api_v1_workspaces__workspace_id__changes_check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-reports/impression-share":{"get":{"summary":"Impression Share","operationId":"impression_share_api_v1_workspaces__workspace_id__accounts__account_id__google_reports_impression_share_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-reports/keyword-quality":{"get":{"summary":"Keyword Quality","operationId":"keyword_quality_api_v1_workspaces__workspace_id__accounts__account_id__google_reports_keyword_quality_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-reports/pmax-assets":{"get":{"summary":"Pmax Assets","operationId":"pmax_assets_api_v1_workspaces__workspace_id__accounts__account_id__google_reports_pmax_assets_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"campaign_external_id","in":"query","required":true,"schema":{"type":"string","pattern":"^[0-9]{1,20}$","title":"Campaign External Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-reports/impression-share":{"get":{"summary":"Microsoft Impression Share","operationId":"microsoft_impression_share_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_reports_impression_share_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-reports/keyword-quality":{"get":{"summary":"Microsoft Keyword Quality","operationId":"microsoft_keyword_quality_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_reports_keyword_quality_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/microsoft-reports/auction-insights":{"get":{"summary":"Microsoft Auction Insights","description":"Конкуренти в аукціоні: кабінет або кампанія (Ad Insight зберігає дані 180 днів; період — до 90 днів, як і інші звіти).","operationId":"microsoft_auction_insights_api_v1_workspaces__workspace_id__accounts__account_id__microsoft_reports_auction_insights_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/reddit-setup":{"get":{"summary":"Reddit Setup","description":"Перед новою кампанією: пікселі кабінету (Reddit вимагає піксель для групи) і чи є профіль для дописів.","operationId":"reddit_setup_api_v1_workspaces__workspace_id__accounts__account_id__reddit_setup_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/reddit-targeting-search":{"get":{"summary":"Reddit Targeting Search","operationId":"reddit_targeting_search_api_v1_workspaces__workspace_id__accounts__account_id__reddit_targeting_search_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"kind","in":"query","required":true,"schema":{"enum":["communities","geolocations","interests"],"type":"string","title":"Kind"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/reddit-audiences":{"get":{"summary":"Reddit Audiences","operationId":"reddit_audiences_api_v1_workspaces__workspace_id__accounts__account_id__reddit_audiences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/reddit-report":{"get":{"summary":"Reddit Report","operationId":"reddit_report_api_v1_workspaces__workspace_id__accounts__account_id__reddit_report_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"breakdown","in":"query","required":true,"schema":{"enum":["community","interest","keyword","country","region","placement","device","gender"],"type":"string","title":"Breakdown"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-locations":{"get":{"summary":"Openai Locations","description":"Країни, регіони й ринки за назвою (GET /geo_lookup/search): їхні id йдуть у openai.location_ids нової кампанії.","operationId":"openai_locations_api_v1_workspaces__workspace_id__accounts__account_id__openai_locations_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/openai-live":{"get":{"summary":"Openai Campaign Live","description":"Кампанія ChatGPT Ads наживо для панелі: групи, оголошення, ставки, підказки, таргетинг, дати, перевірка, проблеми показу.","operationId":"openai_campaign_live_api_v1_workspaces__workspace_id__campaigns__campaign_id__openai_live_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-review":{"get":{"summary":"Openai Review","description":"Перевірка кабінету ChatGPT Ads: схвалення бренду й кабінету (review) і account_integrity_review.","operationId":"openai_review_api_v1_workspaces__workspace_id__accounts__account_id__openai_review_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/openai-report":{"get":{"summary":"Openai Report","operationId":"openai_report_api_v1_workspaces__workspace_id__accounts__account_id__openai_report_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}},{"name":"aggregation_level","in":"query","required":false,"schema":{"enum":["ad_account","campaign","ad_group","ad"],"type":"string","default":"campaign","title":"Aggregation Level"}},{"name":"segment","in":"query","required":false,"schema":{"anyOf":[{"enum":["country","device","platform"],"type":"string"},{"type":"null"}],"title":"Segment"}},{"name":"attribution_window_days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Attribution Window Days"}},{"name":"view_through_attribution_window_days","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"View Through Attribution Window Days"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/targeting":{"get":{"summary":"Ad Set Targeting","operationId":"ad_set_targeting_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__targeting_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/targeting-search":{"get":{"summary":"Targeting Search","operationId":"targeting_search_api_v1_workspaces__workspace_id__accounts__account_id__targeting_search_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100,"title":"Q"}},{"name":"type","in":"query","required":false,"schema":{"enum":["interest","location","locale"],"type":"string","default":"interest","title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/snapchat-targeting-options":{"get":{"summary":"Targeting Options","description":"Значення таргетингу Snapchat: регіони країни, інтереси (hec_interests — дозволені для вакансій, житла й кредитів), мови,\nаудиторії кабінету з розміром і готовністю до показу.","operationId":"targeting_options_api_v1_workspaces__workspace_id__accounts__account_id__snapchat_targeting_options_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"kind","in":"query","required":true,"schema":{"enum":["regions","interests","hec_interests","languages","segments"],"type":"string","title":"Kind"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/snapchat-pixels":{"get":{"summary":"Pixels","description":"Пікселі кабінету Snapchat для нової групи з ціллю на події пікселя (PIXEL_SIGNUP тощо).","operationId":"pixels_api_v1_workspaces__workspace_id__accounts__account_id__snapchat_pixels_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/snapchat-audience-size":{"post":{"summary":"Audience Size","description":"Оцінка аудиторії майбутньої групи Snapchat (мінімум і максимум людей) — до створення; нічого не створюється.","operationId":"audience_size_api_v1_workspaces__workspace_id__accounts__account_id__snapchat_audience_size_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSizeInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/meta-settings":{"get":{"summary":"Campaign Meta Settings","description":"Ціль і спеціальні категорії кампанії Meta наживо — для форми групи (сервіс їх не зберігає).","operationId":"campaign_meta_settings_api_v1_workspaces__workspace_id__campaigns__campaign_id__meta_settings_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/delivery":{"get":{"summary":"Campaign Delivery","operationId":"campaign_delivery_api_v1_workspaces__workspace_id__campaigns__campaign_id__delivery_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/language-campaign":{"post":{"summary":"Language Campaign","operationId":"language_campaign_api_v1_workspaces__workspace_id__accounts__account_id__language_campaign_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageCampaignInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/build-jobs":{"get":{"summary":"Build Jobs","operationId":"build_jobs_api_v1_workspaces__workspace_id__build_jobs_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/build-jobs/{job_id}":{"get":{"summary":"Build Job","operationId":"build_job_api_v1_workspaces__workspace_id__build_jobs__job_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/build-jobs/{job_id}/resume":{"post":{"summary":"Resume Build Job","description":"Продовжити збірку, що зупинилась чи перервалась: з того самого місця, уже створене не дублюється.","operationId":"resume_build_job_api_v1_workspaces__workspace_id__build_jobs__job_id__resume_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/ad-images":{"post":{"summary":"Upload Images","description":"01.10.2026 (п. 6): банери з кабінету — у бібліотеку зображень кабінету Meta (самі по собі нічого не показують);\nвідповідь — розмір, формат за розміром (а не за назвою файлу) і посилання для оголошень.","operationId":"upload_images_api_v1_workspaces__workspace_id__accounts__account_id__ad_images_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImagesInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Ad Images","description":"Бібліотека зображень кабінету Meta (наживо): уже завантажені банери з форматом за розміром.","operationId":"ad_images_api_v1_workspaces__workspace_id__accounts__account_id__ad_images_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/meta-pages":{"get":{"summary":"Meta Pages","description":"Сторінки Facebook, від імені яких кабінет може рекламуватися (наживо з Meta) — для вибору сторінки в кабінеті.","operationId":"meta_pages_api_v1_workspaces__workspace_id__accounts__account_id__meta_pages_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/language-campaign/languages":{"get":{"summary":"Languages","operationId":"languages_api_v1_workspaces__workspace_id__language_campaign_languages_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/placement-quality":{"get":{"summary":"Placement Quality","operationId":"placement_quality_api_v1_workspaces__workspace_id__analytics_placement_quality_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"campaign_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/capi":{"get":{"summary":"Capi Settings","operationId":"capi_settings_api_v1_workspaces__workspace_id__clients__client_id__capi_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Save Capi","description":"Увімкнути чи змінити пересилання для пікселя. Новий токен перевіряється в Meta: чи бачить він цей піксель.","operationId":"save_capi_api_v1_workspaces__workspace_id__clients__client_id__capi_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapiInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/capi/{target_id}":{"delete":{"summary":"Delete Capi","operationId":"delete_capi_api_v1_workspaces__workspace_id__clients__client_id__capi__target_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"target_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Target Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/capi/{site_key}.js":{"get":{"summary":"Snippet","operationId":"snippet_api_v1_capi__site_key__js_get","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/capi/{site_key}/event":{"post":{"summary":"Capi Event","description":"Подія з сайту клієнта (sendBeacon, text/plain — без попереднього запиту CORS). 204 — прийнято; Meta отримує її у фоні.","operationId":"capi_event_api_v1_capi__site_key__event_post","parameters":[{"name":"site_key","in":"path","required":true,"schema":{"type":"string","title":"Site Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/languages":{"get":{"summary":"Language Report","operationId":"language_report_api_v1_workspaces__workspace_id__analytics_languages_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}},{"name":"date_from","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date From"}},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/landing-check":{"post":{"summary":"Landing Check","operationId":"landing_check_api_v1_workspaces__workspace_id__campaigns__campaign_id__landing_check_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/onboarding":{"get":{"summary":"Onboarding","operationId":"onboarding_api_v1_workspaces__workspace_id__accounts_onboarding_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/evaluation-preview":{"get":{"summary":"Preview","operationId":"preview_api_v1_workspaces__workspace_id__campaigns__campaign_id__evaluation_preview_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"start_on","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start On"}},{"name":"ad_set_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/evaluations":{"post":{"summary":"Create","operationId":"create_api_v1_workspaces__workspace_id__evaluations_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Listing","operationId":"listing_api_v1_workspaces__workspace_id__evaluations_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"closed","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Closed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/evaluations/{evaluation_id}":{"patch":{"summary":"Close","operationId":"close_api_v1_workspaces__workspace_id__evaluations__evaluation_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"evaluation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Evaluation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/analytics/clients-summary":{"get":{"summary":"Clients Summary","operationId":"clients_summary_api_v1_workspaces__workspace_id__analytics_clients_summary_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/clients/{client_id}/budget-plan":{"get":{"summary":"Budget Plan","operationId":"budget_plan_api_v1_workspaces__workspace_id__clients__client_id__budget_plan_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/google-targeting":{"get":{"summary":"Ad Group Targeting","operationId":"ad_group_targeting_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__google_targeting_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/google-channel":{"get":{"summary":"Campaign Channel","description":"Тип кампанії Google наживо (сервіс його не зберігає): вікно «Групи й оголошення» показує форми Demand Gen лише для DEMAND_GEN.","operationId":"campaign_channel_api_v1_workspaces__workspace_id__campaigns__campaign_id__google_channel_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/campaigns/{campaign_id}/demand-gen-ad-groups":{"post":{"summary":"Create Ad Group","operationId":"create_ad_group_api_v1_workspaces__workspace_id__campaigns__campaign_id__demand_gen_ad_groups_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandGenAdGroupInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/ad-sets/{ad_set_id}/demand-gen-ads":{"post":{"summary":"Create Ad","operationId":"create_ad_api_v1_workspaces__workspace_id__ad_sets__ad_set_id__demand_gen_ads_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"ad_set_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ad Set Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandGenAdInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-dg-audiences":{"get":{"summary":"Dg Audiences","operationId":"dg_audiences_api_v1_workspaces__workspace_id__accounts__account_id__google_dg_audiences_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/accounts/{account_id}/google-search-segments":{"post":{"summary":"Create Search Segment","operationId":"create_search_segment_api_v1_workspaces__workspace_id__accounts__account_id__google_search_segments_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchSegmentInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/untracked-campaigns":{"get":{"summary":"Untracked","operationId":"untracked_api_v1_workspaces__workspace_id__untracked_campaigns_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/channel-expansion/options":{"get":{"summary":"Options","description":"Кабінети клієнта для майстра й чи дозволяє тариф (402-код — у plan_error).","operationId":"options_api_v1_workspaces__workspace_id__channel_expansion_options_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/channel-expansion/plans":{"post":{"summary":"Create Plan","operationId":"create_plan_api_v1_workspaces__workspace_id__channel_expansion_plans_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Plans","operationId":"list_plans_api_v1_workspaces__workspace_id__channel_expansion_plans_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/channel-expansion/plans/{plan_id}":{"get":{"summary":"Get Plan","operationId":"get_plan_api_v1_workspaces__workspace_id__channel_expansion_plans__plan_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/channel-expansion/plans/{plan_id}/campaign":{"post":{"summary":"Create From Plan","description":"Кампанія НА ПАУЗІ з плану — наявним create_paused_campaign. Одна кампанія на план; замок створення від подвійного натиску.","operationId":"create_from_plan_api_v1_workspaces__workspace_id__channel_expansion_plans__plan_id__campaign_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__channel_expansion_api__CreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/channel-expansion/plans/{plan_id}/comparison":{"get":{"summary":"Comparison","operationId":"comparison_api_v1_workspaces__workspace_id__channel_expansion_plans__plan_id__comparison_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/first-campaign/draft":{"post":{"summary":"First Campaign Draft","operationId":"first_campaign_draft_api_v1_workspaces__workspace_id__first_campaign_draft_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Brief"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/first-campaign/prefill":{"get":{"summary":"First Campaign Prefill","description":"Стартовий план із сайту (start_plans) і підказка бюджету для обраного кабінету — щоб форма вже була заповнена.","operationId":"first_campaign_prefill_api_v1_workspaces__workspace_id__first_campaign_prefill_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_id}/first-campaign":{"post":{"summary":"First Campaign Create","operationId":"first_campaign_create_api_v1_workspaces__workspace_id__first_campaign_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/agency__first_campaign__CreateInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/privacy/meta/deauthorization":{"post":{"summary":"Deauthorization","description":"Людина прибрала наш застосунок у налаштуваннях Facebook.\n\nТокен уже недійсний на боці Meta, тому відкликати його повторно не треба:\nми лише прибираємо його в себе. Відповідь навмисно порожня.","operationId":"deauthorization_api_v1_privacy_meta_deauthorization_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/privacy/meta/deletion":{"post":{"summary":"Deletion","description":"Запит на видалення даних.\n\nВідповідь має містити рівно поля `url` і `confirmation_code`: цього вимагає\nдокументація Meta. Перевірено 21.09.2026.","operationId":"deletion_api_v1_privacy_meta_deletion_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/privacy/meta/deletion":{"get":{"summary":"Deletion Status","description":"Сторінка стану для людини, яка отримала код підтвердження.\n\nСторінка самодостатня: жодних зовнішніх ресурсів, жодних скриптів. Вона нічого\nне повідомляє про наявність облікового запису й не приймає жодних даних.","operationId":"deletion_status_privacy_meta_deletion_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Deletion Status","description":"Сторінка стану для людини, яка отримала код підтвердження.\n\nСторінка самодостатня: жодних зовнішніх ресурсів, жодних скриптів. Вона нічого\nне повідомляє про наявність облікового запису й не приймає жодних даних.","operationId":"deletion_status_privacy_meta_deletion_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AcceptInput":{"properties":{},"additionalProperties":false,"type":"object","title":"AcceptInput"},"AdCopyInput":{"properties":{"platform":{"type":"string","enum":["google","meta","linkedin","tiktok","microsoft"],"title":"Platform"},"product":{"type":"string","maxLength":500,"minLength":3,"title":"Product"},"audience":{"type":"string","maxLength":300,"title":"Audience","default":""},"tone":{"type":"string","maxLength":100,"title":"Tone","default":""},"count":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Count","default":5},"client_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"},"language":{"anyOf":[{"type":"string","enum":["en","ru","uk","es"]},{"type":"null"}],"title":"Language"},"niche":{"anyOf":[{"type":"string","const":"driver_hiring"},{"type":"null"}],"title":"Niche"}},"additionalProperties":false,"type":"object","required":["platform","product"],"title":"AdCopyInput"},"AdCreateInput":{"properties":{"mode":{"type":"string","enum":["copy","new"],"title":"Mode","default":"copy"},"source_ad_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Ad Id"},"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"headlines":{"anyOf":[{"items":{"type":"string","maxLength":30,"minLength":1},"type":"array","maxItems":15,"minItems":3},{"type":"null"}],"title":"Headlines"},"descriptions":{"anyOf":[{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":4,"minItems":2},{"type":"null"}],"title":"Descriptions"},"final_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Final Url"},"path1":{"anyOf":[{"type":"string","maxLength":15,"pattern":"^[^\\s/]+$"},{"type":"null"}],"title":"Path1"},"path2":{"anyOf":[{"type":"string","maxLength":15,"pattern":"^[^\\s/]+$"},{"type":"null"}],"title":"Path2"},"image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Image Base64"},"image_hash":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{32}$"},{"type":"null"}],"title":"Image Hash"},"lead_form_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Lead Form Id"},"native_creative_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Native Creative Id"},"primary_text":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Primary Text"},"headline":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Headline"},"description":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Description"},"link":{"anyOf":[{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Link"},"call_to_action":{"anyOf":[{"type":"string","pattern":"^[A-Z][A-Z_]{1,39}$"},{"type":"null"}],"title":"Call To Action"},"apply_utm":{"type":"boolean","title":"Apply Utm","default":true},"format":{"type":"string","enum":["image","carousel","video","document"],"title":"Format","default":"image"},"cards":{"anyOf":[{"items":{"$ref":"#/components/schemas/CarouselCard"},"type":"array","maxItems":10,"minItems":2},{"type":"null"}],"title":"Cards"},"optimize_order":{"type":"boolean","title":"Optimize Order","default":true},"video_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Video Url"},"document_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Document Url"},"page_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Page Id"},"instagram":{"type":"string","enum":["auto","page","none"],"title":"Instagram","default":"auto"},"instagram_user_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Instagram User Id"},"vertical_image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Vertical Image Base64"},"text_options":{"anyOf":[{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":4,"minItems":1},{"type":"null"}],"title":"Text Options"},"headline_options":{"anyOf":[{"items":{"type":"string","maxLength":255,"minLength":1},"type":"array","maxItems":4,"minItems":1},{"type":"null"}],"title":"Headline Options"},"disable_enhancements":{"type":"boolean","title":"Disable Enhancements","default":false},"snapchat":{"anyOf":[{"$ref":"#/components/schemas/SnapchatAdInput"},{"type":"null"}]},"openai":{"anyOf":[{"$ref":"#/components/schemas/OpenAiAdSpec"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"AdCreateInput","description":"Оголошення на паузі.\n\nmode=copy — з наявного оголошення кабінету (source_ad_id): Meta — його креатив, Google — копія RSA.\nmode=new — новий креатив: Google — RSA з headlines (3–15, до 30 символів), descriptions (2–4, до 90), final_url;\nMeta — зображення (image_base64, PNG/JPEG до 5 МБ), primary_text, headline, description, link, call_to_action,\nсторінка Facebook — page_id або з наявного оголошення source_ad_id; apply_utm додає UTM шаблону клієнта в параметри URL.\nФормат Meta (F-2e ч.6): image — одне зображення; carousel — cards (2–10; понад 5 лише з optimize_order), primary_text,\nlink («Більше»), call_to_action; video — video_url (пряме посилання https на файл), image_base64 як обкладинка,\nprimary_text, headline, description, link, call_to_action."},"AdSetCreateInput":{"properties":{"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"optimization_goal":{"anyOf":[{"type":"string","enum":["AD_RECALL_LIFT","IMPRESSIONS","LANDING_PAGE_VIEWS","LEAD_GENERATION","LINK_CLICKS","OFFSITE_CONVERSIONS","POST_ENGAGEMENT","REACH","THRUPLAY","VALUE"]},{"type":"null"}],"title":"Optimization Goal"},"page_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Page Id"},"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25},{"type":"null"}],"title":"Countries"},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionItem"},"type":"array","maxItems":200,"minItems":1},{"type":"null"}],"title":"Regions"},"cities":{"anyOf":[{"items":{"$ref":"#/components/schemas/CityItem"},"type":"array","maxItems":250,"minItems":1},{"type":"null"}],"title":"Cities"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/LocaleItem"},"type":"array","maxItems":50,"minItems":1},{"type":"null"}],"title":"Languages"},"age_min":{"type":"integer","maximum":65.0,"minimum":13.0,"title":"Age Min","default":18},"age_max":{"type":"integer","maximum":65.0,"minimum":13.0,"title":"Age Max","default":65},"genders":{"type":"string","enum":["all","male","female"],"title":"Genders","default":"all"},"advantage_audience":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Advantage Audience"},"pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Pixel Id"},"custom_event_type":{"anyOf":[{"type":"string","enum":["ADD_PAYMENT_INFO","ADD_TO_CART","ADD_TO_WISHLIST","COMPLETE_REGISTRATION","CONTACT","CONTENT_VIEW","CUSTOMIZE_PRODUCT","DONATE","FIND_LOCATION","INITIATED_CHECKOUT","LEAD","OTHER","PURCHASE","SCHEDULE","SEARCH","START_TRIAL","SUBMIT_APPLICATION","SUBSCRIBE"]},{"type":"null"}],"title":"Custom Event Type"},"budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,8}$"},{"type":"null"}],"title":"Budget Minor"},"cpc_bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,8}$"},{"type":"null"}],"title":"Cpc Bid Minor"},"custom_audience_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9]{1,30}$"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Custom Audience Ids"},"excluded_audience_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9]{1,30}$"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Excluded Audience Ids"},"placements":{"anyOf":[{"$ref":"#/components/schemas/PlacementsInput"},{"type":"null"}]},"interests":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50,"minItems":1},{"type":"null"}],"title":"Interests"},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Time"},"lifetime_budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,11}$"},{"type":"null"}],"title":"Lifetime Budget Minor"},"custom_conversion_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Custom Conversion Id"},"snapchat":{"anyOf":[{"$ref":"#/components/schemas/SnapchatAdSquadInput"},{"type":"null"}]},"openai":{"anyOf":[{"$ref":"#/components/schemas/OpenAiAdGroupInput"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["name"],"title":"AdSetCreateInput","description":"Meta: optimization_goal, countries, advantage_audience обов'язкові; для OFFSITE_CONVERSIONS — pixel_id і\ncustom_event_type; budget_minor — лише для кампанії без бюджету на рівні кампанії. Google: cpc_bid_minor."},"AddonInput":{"properties":{"units":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Units"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["units"],"title":"AddonInput"},"AgentInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"name":{"type":"string","maxLength":80,"minLength":2,"title":"Name"},"template_code":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{2,39}$"},{"type":"null"}],"title":"Template Code"},"instructions_md":{"type":"string","maxLength":20000,"title":"Instructions Md","default":""},"methodology_version":{"type":"string","maxLength":20,"title":"Methodology Version","default":"1"},"scope":{"additionalProperties":true,"type":"object","title":"Scope"},"rules":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":20,"minItems":1,"title":"Rules"},"guardrails":{"additionalProperties":true,"type":"object","title":"Guardrails"},"schedule":{"additionalProperties":true,"type":"object","title":"Schedule"}},"additionalProperties":false,"type":"object","required":["client_id","name","scope","rules","guardrails","schedule"],"title":"AgentInput"},"AgentPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":2},{"type":"null"}],"title":"Name"},"template_code":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{2,39}$"},{"type":"null"}],"title":"Template Code"},"instructions_md":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Instructions Md"},"methodology_version":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Methodology Version"},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope"},"rules":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Rules"},"guardrails":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Guardrails"},"schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schedule"}},"additionalProperties":false,"type":"object","title":"AgentPatch"},"AnalyticsRange":{"properties":{"date_from":{"type":"string","format":"date","title":"Date From"},"date_to":{"type":"string","format":"date","title":"Date To"}},"additionalProperties":false,"type":"object","required":["date_from","date_to"],"title":"AnalyticsRange"},"ApprovalInput":{"properties":{"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Digest"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"},"execute":{"type":"boolean","title":"Execute","default":true}},"additionalProperties":false,"type":"object","required":["digest","password"],"title":"ApprovalInput"},"AudienceCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":3,"pattern":"^.*\\S.*$","title":"Name"},"emails":{"items":{"type":"string","maxLength":254},"type":"array","maxItems":50000,"title":"Emails"},"phones":{"items":{"type":"string","maxLength":30},"type":"array","maxItems":50000,"title":"Phones"},"default_country_code":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,3}$"},{"type":"null"}],"title":"Default Country Code"}},"additionalProperties":false,"type":"object","required":["name"],"title":"AudienceCreate","description":"Аудиторія зі списків клієнта: пошта й телефони (відкриті; хешуються на сервері). Номер без «+» потребує\n``default_country_code`` (код країни без «+», напр. «380»)."},"AudienceCreateInput":{"properties":{"kind":{"type":"string","enum":["website","lookalike"],"title":"Kind"},"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Pixel Id"},"event":{"anyOf":[{"type":"string","enum":["PageView","ViewContent","Search","AddToCart","AddToWishlist","InitiateCheckout","AddPaymentInfo","Purchase","Lead","CompleteRegistration","Contact","Subscribe"]},{"type":"null"}],"title":"Event"},"retention_days":{"type":"integer","maximum":180.0,"minimum":1.0,"title":"Retention Days","default":30},"url_contains":{"anyOf":[{"type":"string","maxLength":200,"minLength":1,"pattern":"^\\S+$"},{"type":"null"}],"title":"Url Contains"},"origin_audience_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Origin Audience Id"},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country"},"ratio_percent":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Ratio Percent"}},"additionalProperties":false,"type":"object","required":["kind","name"],"title":"AudienceCreateInput","description":"kind=website: pixel_id (піксель кабінету), retention_days 1–180, необов'язкові event (подія пікселя) і url_contains.\nkind=lookalike: origin_audience_id (аудиторія цього кабінету), country (ISO), ratio_percent 1–20."},"AudienceSizeInput":{"properties":{"targeting":{"$ref":"#/components/schemas/SnapchatTargetingPatch"},"optimization_goal":{"type":"string","enum":["SWIPES","LANDING_PAGE_VIEW","PIXEL_PAGE_VIEW","PIXEL_SIGNUP","PIXEL_PURCHASE","PIXEL_ADD_TO_CART","IMPRESSIONS","VIDEO_VIEWS","STORY_OPENS"],"title":"Optimization Goal","default":"SWIPES"},"budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Budget Minor"}},"additionalProperties":false,"type":"object","required":["targeting"],"title":"AudienceSizeInput","description":"Оцінка аудиторії: таргетинг майбутньої групи (країни чи регіони обов'язкові), ціль оптимізації, денний бюджет."},"AutoApplyInput":{"properties":{"types":{"additionalProperties":{"type":"boolean"},"propertyNames":{"enum":["ResponsiveSearchAdsOpportunity","MultiMediaAdsOpportunity","RemoveConflictingNegativeKeywordOpportunity","FixConversionGoalSettingsOpportunity","CreateConversionGoalOpportunity"]},"type":"object","minProperties":1,"title":"Types"}},"additionalProperties":false,"type":"object","required":["types"],"title":"AutoApplyInput","description":"Microsoft ч.9: автоприйняття рекомендацій — {вид: увімкнено}."},"BatchApprovalInput":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BatchApprovalItem"},"type":"array","maxItems":20,"minItems":1,"title":"Items"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"},"check":{"type":"boolean","title":"Check","default":false}},"additionalProperties":false,"type":"object","required":["items","password"],"title":"BatchApprovalInput","description":"Погодження кількох змін разом (29.09.2026): один пароль і один код другого фактора; кожна — у чергу виконання."},"BatchApprovalItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Digest"}},"additionalProperties":false,"type":"object","required":["id","digest"],"title":"BatchApprovalItem"},"Brand":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Title"},"accent":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Accent"}},"additionalProperties":false,"type":"object","title":"Brand"},"Brief":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"},"business":{"type":"string","maxLength":300,"minLength":3,"title":"Business"},"place":{"type":"string","maxLength":120,"title":"Place","default":""},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country"},"website":{"type":"string","maxLength":300,"title":"Website","default":""},"phone":{"type":"string","maxLength":30,"title":"Phone","default":""},"goal":{"type":"string","enum":["calls","leads","visits"],"title":"Goal"},"daily_budget":{"anyOf":[{"type":"number","maximum":1000000.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Daily Budget"},"lang":{"type":"string","enum":["uk","en","ru"],"title":"Lang","default":"uk"},"special_category":{"anyOf":[{"type":"string","enum":["none","employment","housing","credit"]},{"type":"null"}],"title":"Special Category"},"page_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Page Id"},"use_ai":{"type":"boolean","title":"Use Ai","default":true}},"additionalProperties":false,"type":"object","required":["account_id","business","goal"],"title":"Brief"},"BudgetTargetInput":{"properties":{"monthly_budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,12}$","title":"Monthly Budget Minor"},"currency":{"type":"string","pattern":"^[A-Z]{3}$","title":"Currency"},"tolerance_percent":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Tolerance Percent","default":10},"quiet_hours":{"type":"integer","maximum":168.0,"minimum":0.0,"title":"Quiet Hours","default":24},"max_auto_reactions_per_day":{"type":"integer","maximum":50.0,"minimum":0.0,"title":"Max Auto Reactions Per Day","default":3}},"additionalProperties":false,"type":"object","required":["monthly_budget_minor","currency"],"title":"BudgetTargetInput"},"CampaignCreateInput":{"properties":{"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Budget Minor"},"adset_budget_sharing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Adset Budget Sharing"},"objective":{"anyOf":[{"type":"string","enum":["OUTCOME_TRAFFIC","OUTCOME_LEADS","OUTCOME_SALES","OUTCOME_ENGAGEMENT","OUTCOME_AWARENESS","OUTCOME_APP_PROMOTION"]},{"type":"null"}],"title":"Objective"},"special_ad_categories":{"anyOf":[{"items":{"type":"string","enum":["CREDIT","EMPLOYMENT","HOUSING","ISSUES_ELECTIONS_POLITICS","FINANCIAL_PRODUCTS_SERVICES"]},"type":"array","maxItems":5},{"type":"null"}],"title":"Special Ad Categories"},"special_ad_category_country":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25,"minItems":1},{"type":"null"}],"title":"Special Ad Category Country"},"contains_eu_political_advertising":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Contains Eu Political Advertising"},"google_type":{"anyOf":[{"type":"string","enum":["SEARCH","PERFORMANCE_MAX","DEMAND_GEN","DISPLAY"]},{"type":"null"}],"title":"Google Type"},"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25,"minItems":1},{"type":"null"}],"title":"Countries"},"languages":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9]{1,10}$"},"type":"array","maxItems":20},{"type":"null"}],"title":"Languages"},"final_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Final Url"},"headlines":{"anyOf":[{"items":{"type":"string","maxLength":30,"minLength":1},"type":"array","maxItems":15,"minItems":1},{"type":"null"}],"title":"Headlines"},"long_headlines":{"anyOf":[{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":5,"minItems":1},{"type":"null"}],"title":"Long Headlines"},"descriptions":{"anyOf":[{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":5,"minItems":1},{"type":"null"}],"title":"Descriptions"},"business_name":{"anyOf":[{"type":"string","maxLength":25,"minLength":1},{"type":"null"}],"title":"Business Name"},"marketing_image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Marketing Image Base64"},"square_image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Square Image Base64"},"logo_image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Logo Image Base64"},"landscape_logo_image_base64":{"anyOf":[{"type":"string","maxLength":7500000},{"type":"null"}],"title":"Landscape Logo Image Base64"},"youtube_video":{"anyOf":[{"type":"string","maxLength":300,"minLength":11},{"type":"null"}],"title":"Youtube Video"},"bidding":{"anyOf":[{"type":"string","enum":["MAXIMIZE_CONVERSIONS","MAXIMIZE_CONVERSION_VALUE"]},{"type":"null"}],"title":"Bidding"},"target_cpa_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Target Cpa Minor"},"target_roas":{"anyOf":[{"type":"number","maximum":100.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Target Roas"},"linkedin_objective":{"anyOf":[{"type":"string","enum":["WEBSITE_VISIT","WEBSITE_CONVERSION","ENGAGEMENT","BRAND_AWARENESS"]},{"type":"null"}],"title":"Linkedin Objective"},"linkedin_targeting":{"anyOf":[{"$ref":"#/components/schemas/LinkedInTargetingPatch"},{"type":"null"}]},"linkedin_format":{"anyOf":[{"type":"string","enum":["image","video","carousel","document"]},{"type":"null"}],"title":"Linkedin Format"},"snapchat_objective":{"anyOf":[{"type":"string","enum":["TRAFFIC","LEADS","SALES","AWARENESS_AND_ENGAGEMENT"]},{"type":"null"}],"title":"Snapchat Objective"},"restricted_delivery_signals":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Restricted Delivery Signals"},"snapchat_ad_squad":{"anyOf":[{"$ref":"#/components/schemas/SnapchatAdSquadInput"},{"type":"null"}]},"snapchat_ad":{"anyOf":[{"$ref":"#/components/schemas/SnapchatAdInput"},{"type":"null"}]},"reddit":{"anyOf":[{"$ref":"#/components/schemas/RedditCampaignSpec"},{"type":"null"}]},"openai":{"anyOf":[{"$ref":"#/components/schemas/OpenAiCampaignSpec"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["name"],"title":"CampaignCreateInput","description":"F-2e: нова кампанія на паузі. Спожити бюджет вона не може: груп і оголошень немає.\n\nMeta вимагає явних спеціальних категорій (порожній перелік — теж явний вибір) і цілі;\nGoogle — явної декларації щодо політичної реклами в ЄС. Обидва поля перевіряються до\nзвернення до провайдера (P06-12)."},"CapiInput":{"properties":{"pixel_id":{"type":"string","pattern":"^[0-9]{5,20}$","title":"Pixel Id"},"hosts":{"items":{"type":"string","maxLength":253,"minLength":3},"type":"array","maxItems":10,"minItems":1,"title":"Hosts"},"token":{"anyOf":[{"type":"string","maxLength":1000,"minLength":20},{"type":"null"}],"title":"Token"},"test_event_code":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]{2,40}$"},{"type":"null"}],"title":"Test Event Code"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"additionalProperties":false,"type":"object","required":["pixel_id","hosts"],"title":"CapiInput"},"CapiKeyCreate":{"properties":{"replace":{"type":"boolean","title":"Replace","default":false}},"additionalProperties":false,"type":"object","title":"CapiKeyCreate"},"CapiKeyInput":{"properties":{"key":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Key"}},"additionalProperties":false,"type":"object","title":"CapiKeyInput","description":"Наявний ключ Conversions API (для кабінетів, де ключ видано поза сервісом); None — прибрати збережений."},"CarouselCard":{"properties":{"image_base64":{"type":"string","maxLength":7500000,"minLength":8,"title":"Image Base64"},"headline":{"type":"string","maxLength":255,"minLength":1,"title":"Headline"},"description":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Description"},"link":{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$","title":"Link"}},"additionalProperties":false,"type":"object","required":["image_base64","headline","link"],"title":"CarouselCard","description":"Картка каруселі Meta: зображення (PNG/JPEG до 5 МБ), заголовок, необов'язковий опис, власне посилання https."},"ChangeInput":{"properties":{"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"kind":{"type":"string","enum":["budget","status","negative_keywords","keywords","ad_set_budget","ad_set_status","ad_status","tracking_suffix","bid_strategy","extensions","ad_set_targeting","keyword_update","ad_set_bid","campaign_targeting","extensions_remove","ad_set_audiences","ad_group_targeting","ad_final_url","campaign_settings","ad_text"],"title":"Kind","default":"budget"},"ad_set_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ad Set Id"},"ad_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ad Id"},"budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Budget Minor"},"status":{"anyOf":[{"type":"string","enum":["enabled","paused"]},{"type":"null"}],"title":"Status"},"keywords":{"anyOf":[{"items":{"$ref":"#/components/schemas/KeywordInput"},"type":"array","maxItems":300,"minItems":1},{"type":"null"}],"title":"Keywords"},"url_suffix":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Url Suffix"},"bid_strategy":{"anyOf":[{"type":"string","enum":["MAXIMIZE_CONVERSIONS","MAXIMIZE_CONVERSION_VALUE","TARGET_SPEND","MANUAL_CPC","LOWEST_COST_WITHOUT_CAP","COST_CAP","LOWEST_COST_WITH_BID_CAP","MAXIMUM_DELIVERY","MANUAL_BID","ENHANCED_CPC"]},{"type":"null"}],"title":"Bid Strategy"},"target_cpa_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Target Cpa Minor"},"target_roas":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,3})(\\.[0-9]{1,4})?$"},{"type":"null"}],"title":"Target Roas"},"cpc_ceiling_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Cpc Ceiling Minor"},"bid_amount_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Bid Amount Minor"},"extensions":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExtensionInput"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Extensions"},"targeting":{"anyOf":[{"$ref":"#/components/schemas/TargetingPatch"},{"type":"null"}]},"keyword_changes":{"anyOf":[{"items":{"$ref":"#/components/schemas/KeywordChange"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Keyword Changes"},"cpc_bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Cpc Bid Minor"},"google_targeting":{"anyOf":[{"$ref":"#/components/schemas/GoogleTargetingPatch"},{"type":"null"}]},"google_ad_group_targeting":{"anyOf":[{"$ref":"#/components/schemas/GoogleAdGroupTargetingPatch"},{"type":"null"}]},"google_audiences":{"anyOf":[{"$ref":"#/components/schemas/GoogleAudiencePatch"},{"type":"null"}]},"extension_asset_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9]{1,20}$"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Extension Asset Ids"},"final_url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":12},{"type":"null"}],"title":"Final Url"},"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25,"minItems":1},{"type":"null"}],"title":"Countries"},"linkedin_targeting":{"anyOf":[{"$ref":"#/components/schemas/LinkedInTargetingPatch"},{"type":"null"}]},"linkedin_settings":{"anyOf":[{"$ref":"#/components/schemas/LinkedInSettingsPatch"},{"type":"null"}]},"microsoft_settings":{"anyOf":[{"$ref":"#/components/schemas/MicrosoftSettingsPatch"},{"type":"null"}]},"microsoft_targeting":{"anyOf":[{"$ref":"#/components/schemas/MicrosoftTargetingPatch"},{"type":"null"}]},"negative_list":{"anyOf":[{"type":"string","maxLength":100,"minLength":2},{"type":"null"}],"title":"Negative List"},"headlines":{"anyOf":[{"items":{"type":"string","maxLength":30,"minLength":1},"type":"array","maxItems":15,"minItems":3},{"type":"null"}],"title":"Headlines"},"descriptions":{"anyOf":[{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":4,"minItems":2},{"type":"null"}],"title":"Descriptions"},"snapchat_targeting":{"anyOf":[{"$ref":"#/components/schemas/SnapchatTargetingPatch"},{"type":"null"}]},"snapchat_creative":{"anyOf":[{"$ref":"#/components/schemas/SnapchatCreativePatch"},{"type":"null"}]},"reddit_targeting":{"anyOf":[{"$ref":"#/components/schemas/RedditTargetingPatch"},{"type":"null"}]},"reddit_headline":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Reddit Headline"},"reddit_body":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reddit Body"},"openai_bidding":{"anyOf":[{"$ref":"#/components/schemas/OpenAiBidding"},{"type":"null"}]},"openai_creative":{"anyOf":[{"$ref":"#/components/schemas/OpenAiCreativePatch"},{"type":"null"}]},"openai_targeting":{"anyOf":[{"$ref":"#/components/schemas/OpenAiTargetingPatch"},{"type":"null"}]},"openai_settings":{"anyOf":[{"$ref":"#/components/schemas/OpenAiSettingsPatch"},{"type":"null"}]},"openai_context_hints":{"anyOf":[{"items":{"type":"string","maxLength":300,"minLength":1},"type":"array","maxItems":2000},{"type":"null"}],"title":"Openai Context Hints"},"reason":{"type":"string","maxLength":1000,"minLength":10,"title":"Reason"},"override_reason":{"anyOf":[{"type":"string","maxLength":1000,"minLength":20},{"type":"null"}],"title":"Override Reason"}},"additionalProperties":false,"type":"object","required":["campaign_id","reason"],"title":"ChangeInput","description":"Пропозиція зміни. Вид визначає, яке з полів обов'язкове.\n\nbudget: budget_minor; status: status; negative_keywords і keywords: keywords;\nad_set_budget (Meta, F-1c): ad_set_id і budget_minor — денний бюджет однієї групи оголошень;\nad_set_status / ad_status (F-2e): status і ad_set_id / ad_id — пауза чи увімкнення групи або оголошення.\ntracking_suffix (UTM ч.2, Google): url_suffix — новий суфікс кінцевої URL-адреси кампанії («» — прибрати).\nbid_strategy (F-2): bid_strategy і, за потреби, ціль — target_cpa_minor, target_roas, cpc_ceiling_minor (Google, кампанія)\nабо bid_amount_minor з ad_set_id (Meta, група оголошень).\nextensions (F-2, Google): extensions — додаткові посилання й уточнення кампанії (лише додавання).\nad_set_targeting (Meta): ad_set_id і targeting — лише змінювані поля таргетингу групи (TargetingPatch).\nad_set_audiences (Google, Microsoft): ad_set_id і google_audiences — списки аудиторій групи (включення з коригуванням, виключення).\nextensions_remove (Google): extension_asset_ids — зняти розширення з кампанії (актив лишається в бібліотеці кабінету).\ncampaign_targeting (Google): google_targeting — лише змінювані поля таргетингу кампанії (гео, мови, розклад, пристрої);\nMicrosoft (08.10.2026) — countries: увесь новий перелік країн показу (коди ISO); LinkedIn (09.10.2026) — linkedin_targeting.\nkeyword_update (Google, Microsoft): ad_set_id і keyword_changes — статус і/або ставка наявних ключових слів групи.\nad_set_bid (Google, Microsoft): ad_set_id і cpc_bid_minor — ставка групи за замовчуванням (ручна ціна за клік);\nChatGPT Ads ч.2Б — ad_set_id і openai_bidding (стратегія й ставка групи).\nkeywords (08.10.2026): необов'язковий ad_set_id — група цієї кампанії, куди додати слова (інакше службова група).\nad_final_url (Google, 29.09.2026): ad_id і final_url — кінцеве посилання наявного оголошення (з відкатом); Snapchat ч.2 —\nпосилання креативу WEB_VIEW.\nad_text (Google, Microsoft, 10.10.2026): ad_id і headlines та/або descriptions — нові тексти адаптивного пошукового\nоголошення (увесь перелік; незмінний перелік можна не передавати), з відкатом. Snapchat ч.2 — ad_id і snapchat_creative\n(заголовок, назва бренду, кнопка — лише змінювані).\ncampaign_settings (LinkedIn, 09.10.2026): linkedin_settings — назва, дата завершення, загальний бюджет, статус групи кампаній,\nоптимізація автоматичної ставки, ротація креативів (лише змінювані поля).\noverride_reason дозволяє власнику перевищити ліміт з обґрунтуванням."},"CheckBody":{"properties":{"connection_id":{"type":"string","format":"uuid","title":"Connection Id"},"manager_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manager Id"}},"additionalProperties":false,"type":"object","required":["connection_id"],"title":"CheckBody"},"CheckInput":{"properties":{"change_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":20,"minItems":1,"title":"Change Ids"}},"additionalProperties":false,"type":"object","required":["change_ids"],"title":"CheckInput"},"CheckoutInput":{"properties":{"plan_code":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,19}$","title":"Plan Code"},"version":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Version"},"success_path":{"type":"string","maxLength":200,"pattern":"^/[^\\s]*$","title":"Success Path","default":"/#/settings?billing=success"},"cancel_path":{"type":"string","maxLength":200,"pattern":"^/[^\\s]*$","title":"Cancel Path","default":"/#/settings?billing=cancel"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["plan_code"],"title":"CheckoutInput"},"CheckpointInput":{"properties":{"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"CheckpointInput"},"CityItem":{"properties":{"key":{"type":"string","pattern":"^[0-9A-Za-z:_-]{1,40}$","title":"Key"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"radius":{"anyOf":[{"type":"integer","maximum":80.0,"minimum":1.0},{"type":"null"}],"title":"Radius"},"distance_unit":{"anyOf":[{"type":"string","enum":["kilometer","mile"]},{"type":"null"}],"title":"Distance Unit"}},"additionalProperties":false,"type":"object","required":["key"],"title":"CityItem","description":"Місто Meta; radius з distance_unit — показ у радіусі (Meta: 17–80 км або 10–50 миль), без них — саме місто."},"CityPick":{"properties":{"key":{"type":"string","pattern":"^[0-9A-Za-z_-]{1,40}$","title":"Key"},"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"radius":{"type":"integer","maximum":80.0,"minimum":17.0,"title":"Radius"}},"additionalProperties":false,"type":"object","required":["key","name","radius"],"title":"CityPick"},"ClaimInput":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"token":{"type":"string","maxLength":128,"minLength":32,"pattern":"^[A-Za-z0-9_-]+$","title":"Token"}},"additionalProperties":false,"type":"object","required":["id","token"],"title":"ClaimInput"},"ClientDeletionInput":{"properties":{"confirm_name":{"type":"string","maxLength":200,"minLength":1,"title":"Confirm Name"},"otp":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["confirm_name"],"title":"ClientDeletionInput","description":"Видалення клієнта: назва — як підтвердження (вводиться руками), код — якщо увімкнений другий фактор."},"ClientInput":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ClientInput"},"ClientMessage":{"properties":{"body":{"type":"string","maxLength":2000,"minLength":1,"title":"Body"},"client_nonce":{"type":"string","format":"uuid","title":"Client Nonce"},"consent":{"type":"boolean","title":"Consent","default":false}},"additionalProperties":false,"type":"object","required":["body","client_nonce"],"title":"ClientMessage"},"CloseInput":{"properties":{"status":{"type":"string","enum":["done","cancelled"],"title":"Status"}},"additionalProperties":false,"type":"object","required":["status"],"title":"CloseInput"},"CodeInput":{"properties":{"code":{"type":"string","maxLength":20,"minLength":6,"title":"Code"}},"additionalProperties":false,"type":"object","required":["code"],"title":"CodeInput"},"ConversationInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"title":{"type":"string","maxLength":200,"minLength":1,"title":"Title","default":"Розмова"}},"additionalProperties":false,"type":"object","required":["client_id"],"title":"ConversationInput"},"ConversionActionInput":{"properties":{"name":{"type":"string","pattern":"^[\\w .,()«»:+&/-]{3,100}$","title":"Name","default":"Заявка з сайту (AdAce)"},"category":{"type":"string","enum":["CONTACT","SUBMIT_LEAD_FORM","PHONE_CALL_LEAD","BOOK_APPOINTMENT","REQUEST_QUOTE","SIGNUP","PURCHASE"],"title":"Category","default":"CONTACT"},"value":{"type":"string","pattern":"^(0|[1-9][0-9]{0,6})(\\.[0-9]{1,2})?$","title":"Value","default":"1"}},"additionalProperties":false,"type":"object","title":"ConversionActionInput","description":"Етап 4: дія-конверсія WEBPAGE для заявок із сайту; цінність за замовчуванням — у валюті кабінету."},"ConversionInput":{"properties":{"name":{"type":"string","maxLength":100,"minLength":3,"title":"Name"},"pixel_id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Pixel Id"},"custom_event_type":{"type":"string","enum":["LEAD","CONTACT","SUBMIT_APPLICATION","SCHEDULE","COMPLETE_REGISTRATION","PURCHASE","ADD_TO_CART","INITIATED_CHECKOUT","ADD_PAYMENT_INFO","ADD_TO_WISHLIST","CONTENT_VIEW","SEARCH","START_TRIAL","SUBSCRIBE","DONATE","FIND_LOCATION","CUSTOMIZE_PRODUCT","OTHER"],"title":"Custom Event Type"},"url":{"anyOf":[{"$ref":"#/components/schemas/UrlRule"},{"type":"null"}]},"event":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_\\- ]{1,50}$"},{"type":"null"}],"title":"Event"},"param":{"anyOf":[{"$ref":"#/components/schemas/ParamRule"},{"type":"null"}]},"default_value":{"anyOf":[{"type":"number","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"Default Value"}},"additionalProperties":false,"type":"object","required":["name","pixel_id","custom_event_type"],"title":"ConversionInput","description":"Власна конверсія: за адресою сторінки (url) або за подією пікселя (event) з необов'язковою умовою на параметр."},"ConversionsInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"google_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Google Account Id"},"meta_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Meta Account Id"},"microsoft_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Microsoft Account Id"},"linkedin_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Linkedin Account Id"},"reddit_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reddit Account Id"},"reddit_pixel_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_]{3,64}$"},{"type":"null"}],"title":"Reddit Pixel Id"},"snapchat_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Snapchat Account Id"},"snapchat_pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},{"type":"null"}],"title":"Snapchat Pixel Id"},"openai_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Openai Account Id"},"meta_pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{5,20}$"},{"type":"null"}],"title":"Meta Pixel Id"},"allow_shared_meta":{"type":"boolean","title":"Allow Shared Meta","default":false},"backfill_existing":{"type":"boolean","title":"Backfill Existing","default":true}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"ConversionsInput","description":"Ч.2 (міграція 089): передача стадій заявки в Google і Meta для сайту клієнта; 099 — і в Microsoft."},"DeactivateInput":{"properties":{"otp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"DeactivateInput"},"DefinitionApprovalInput":{"properties":{"approval_reference":{"type":"string","const":"Sentinel_6179b78ec2b88191a031a042c15da0a1","title":"Approval Reference"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["approval_reference"],"title":"DefinitionApprovalInput"},"DemandGenAdGroupInput":{"properties":{"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Locations"},"excluded_locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Excluded Locations"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":60},{"type":"null"}],"title":"Languages"},"channels":{"anyOf":[{"additionalProperties":{"type":"boolean"},"propertyNames":{"enum":["youtubeInFeed","youtubeInStream","youtubeShorts","discover","gmail","display"]},"type":"object"},{"type":"null"}],"title":"Channels"},"audience":{"anyOf":[{"$ref":"#/components/schemas/GooglePlace"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["name"],"title":"DemandGenAdGroupInput"},"DemandGenAdInput":{"properties":{"final_url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Final Url"},"headlines":{"items":{"type":"string","maxLength":30,"minLength":1},"type":"array","maxItems":5,"minItems":1,"title":"Headlines"},"descriptions":{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":5,"minItems":1,"title":"Descriptions"},"business_name":{"type":"string","maxLength":25,"minLength":1,"title":"Business Name"},"logo_image_base64":{"type":"string","maxLength":7500000,"minLength":8,"title":"Logo Image Base64"},"marketing_image_base64":{"anyOf":[{"type":"string","maxLength":7500000,"minLength":8},{"type":"null"}],"title":"Marketing Image Base64"},"square_image_base64":{"anyOf":[{"type":"string","maxLength":7500000,"minLength":8},{"type":"null"}],"title":"Square Image Base64"},"portrait_image_base64":{"anyOf":[{"type":"string","maxLength":7500000,"minLength":8},{"type":"null"}],"title":"Portrait Image Base64"},"youtube_video":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Youtube Video"},"long_headlines":{"anyOf":[{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":5,"minItems":1},{"type":"null"}],"title":"Long Headlines"}},"additionalProperties":false,"type":"object","required":["final_url","headlines","descriptions","business_name","logo_image_base64"],"title":"DemandGenAdInput"},"DemandInput":{"properties":{"keywords":{"items":{"type":"string","maxLength":80,"minLength":2},"type":"array","maxItems":20,"minItems":1,"title":"Keywords"},"url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,500}$"},{"type":"null"}],"title":"Url"},"country":{"type":"string","pattern":"^[A-Z]{2}$","title":"Country","default":"US"},"states":{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":10,"title":"States"},"languages":{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":4,"minItems":1,"title":"Languages"},"by_state":{"type":"boolean","title":"By State","default":false}},"additionalProperties":false,"type":"object","required":["keywords","languages"],"title":"DemandInput"},"DisableInput":{"properties":{"code":{"type":"string","maxLength":20,"minLength":6,"title":"Code"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"}},"additionalProperties":false,"type":"object","required":["code","password"],"title":"DisableInput"},"DraftInput":{"properties":{"goal":{"type":"string","maxLength":2000,"minLength":10,"title":"Goal"}},"additionalProperties":false,"type":"object","required":["goal"],"title":"DraftInput"},"EmailCode":{"properties":{"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"code":{"type":"string","pattern":"^[0-9]{6}$","title":"Code"}},"additionalProperties":false,"type":"object","required":["email","code"],"title":"EmailCode"},"EmailConsume":{"properties":{"token":{"type":"string","maxLength":128,"minLength":32,"pattern":"^[a-zA-Z0-9_-]+$","title":"Token"}},"additionalProperties":false,"type":"object","required":["token"],"title":"EmailConsume"},"EmailRequest":{"properties":{"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"intent":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Intent"},"signup":{"type":"boolean","title":"Signup","default":false},"invitation":{"anyOf":[{"type":"string","maxLength":128,"minLength":32,"pattern":"^[a-zA-Z0-9_-]+$"},{"type":"null"}],"title":"Invitation"},"attribution":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attribution"}},"additionalProperties":false,"type":"object","required":["email"],"title":"EmailRequest"},"EvaluationInput":{"properties":{"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"ad_set_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ad Set Id"},"metric":{"type":"string","enum":["cost_per_result","results","spend","ctr","cpc"],"title":"Metric","default":"cost_per_result"},"days":{"type":"integer","maximum":30.0,"minimum":1.0,"title":"Days"},"start_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start On"},"note":{"type":"string","maxLength":300,"minLength":1,"title":"Note"}},"additionalProperties":false,"type":"object","required":["campaign_id","days","note"],"title":"EvaluationInput"},"EventSettingInput":{"properties":{"source_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{2,99}$","title":"Source Id"},"stage":{"type":"string","enum":["qualified","interview","hired"],"title":"Stage"}},"additionalProperties":false,"type":"object","required":["source_id","stage"],"title":"EventSettingInput","description":"Подія стадії заявки для вимірювання кампаній: джерело — ``source_id`` пікселя (його ``id``, не ``pixel_id``)."},"ExtensionInput":{"properties":{"type":{"type":"string","enum":["sitelink","callout","structured_snippet","call","action"],"title":"Type"},"text":{"type":"string","maxLength":25,"minLength":1,"title":"Text"},"final_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Final Url"},"description1":{"anyOf":[{"type":"string","maxLength":35,"minLength":1},{"type":"null"}],"title":"Description1"},"description2":{"anyOf":[{"type":"string","maxLength":35,"minLength":1},{"type":"null"}],"title":"Description2"},"values":{"anyOf":[{"items":{"type":"string","maxLength":25,"minLength":1},"type":"array","maxItems":10,"minItems":3},{"type":"null"}],"title":"Values"},"country_code":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country Code"}},"additionalProperties":false,"type":"object","required":["type","text"],"title":"ExtensionInput","description":"Розширення кампанії Google: уточнення (callout) — лише текст; додаткове посилання (sitelink) — текст, адреса https\nй або обидва описи, або жодного (вимоги Google: текст до 25 символів, описи до 35); уточнення структури\n(structured_snippet) — заголовок зі SNIPPET_HEADERS у text і 3–10 значень до 25 символів; дзвінок (call) — номер у text\nі код країни (country_code)."},"FeedbackInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"group_members":{"type":"boolean","title":"Group Members","default":true},"allowed_users":{"items":{"type":"integer","maximum":1000000000000000.0,"exclusiveMinimum":0.0},"type":"array","maxItems":50,"title":"Allowed Users"}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"FeedbackInput"},"FormContext":{"properties":{"title":{"type":"string","maxLength":100,"minLength":1,"title":"Title"},"style":{"type":"string","const":"LIST_STYLE","title":"Style","default":"LIST_STYLE"},"button_text":{"type":"string","maxLength":30,"minLength":1,"title":"Button Text"},"content":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":5,"minItems":1,"title":"Content"}},"additionalProperties":false,"type":"object","required":["title","button_text","content"],"title":"FormContext"},"FormOption":{"properties":{"key":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-zA-Z0-9_]+$","title":"Key"},"value":{"type":"string","maxLength":300,"minLength":1,"title":"Value"}},"additionalProperties":false,"type":"object","required":["key","value"],"title":"FormOption"},"FormPrivacy":{"properties":{"url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Url"},"link_text":{"type":"string","maxLength":100,"minLength":1,"title":"Link Text"}},"additionalProperties":false,"type":"object","required":["url","link_text"],"title":"FormPrivacy"},"FormQuestion":{"properties":{"type":{"type":"string","enum":["CUSTOM","FULL_NAME","PHONE","EMAIL","FIRST_NAME","LAST_NAME","CITY","ZIP"],"title":"Type"},"key":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-zA-Z0-9_]+$","title":"Key"},"label":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Label"},"options":{"anyOf":[{"items":{"$ref":"#/components/schemas/FormOption"},"type":"array","maxItems":20,"minItems":2},{"type":"null"}],"title":"Options"}},"additionalProperties":false,"type":"object","required":["type","key"],"title":"FormQuestion"},"FormThanks":{"properties":{"title":{"type":"string","maxLength":100,"minLength":1,"title":"Title"},"body":{"type":"string","maxLength":500,"minLength":1,"title":"Body"},"button_type":{"type":"string","enum":["CALL_BUSINESS","VIEW_WEBSITE"],"title":"Button Type"},"button_text":{"type":"string","maxLength":30,"minLength":1,"title":"Button Text"},"business_phone_number":{"anyOf":[{"type":"string","pattern":"^\\+[0-9]{7,15}$"},{"type":"null"}],"title":"Business Phone Number"},"country_code":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country Code"},"website_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Website Url"}},"additionalProperties":false,"type":"object","required":["title","body","button_type","button_text"],"title":"FormThanks"},"GoogleAdGroupTargetingPatch":{"properties":{"locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Locations"},"excluded_locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Excluded Locations"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":60},{"type":"null"}],"title":"Languages"},"channels":{"anyOf":[{"additionalProperties":{"type":"boolean"},"propertyNames":{"enum":["youtubeInFeed","youtubeInStream","youtubeShorts","discover","gmail","display"]},"type":"object"},{"type":"null"}],"title":"Channels"},"audience":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":1},{"type":"null"}],"title":"Audience"}},"additionalProperties":false,"type":"object","title":"GoogleAdGroupTargetingPatch","description":"Demand Gen ч.1: лише змінювані поля таргетингу групи Google — гео, виключення, мови (кожен перелік — повний новий)\nі канали показу групи Demand Gen (усі шість прапорців). Ч.3: аудиторія групи Demand Gen — одна аудиторія кабінету\nабо порожній перелік (прибрати аудиторію)."},"GoogleAudienceItem":{"properties":{"id":{"type":"string","pattern":"^[0-9]{1,20}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Name"},"bid_modifier":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.1},{"type":"null"}],"title":"Bid Modifier"}},"additionalProperties":false,"type":"object","required":["id"],"title":"GoogleAudienceItem","description":"Список аудиторій Google (user_list) на групі: ідентифікатор, назва, коригування ставки 0,1–10 (лише для включених)."},"GoogleAudiencePatch":{"properties":{"audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/GoogleAudienceItem"},"type":"array","maxItems":200},{"type":"null"}],"title":"Audiences"},"excluded_audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/GoogleAudienceItem"},"type":"array","maxItems":200},{"type":"null"}],"title":"Excluded Audiences"}},"additionalProperties":false,"type":"object","title":"GoogleAudiencePatch","description":"Аудиторії групи Google: повний новий перелік включених і/або виключених списків."},"GooglePlace":{"properties":{"id":{"type":"string","pattern":"^[0-9]{1,20}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["id"],"title":"GooglePlace","description":"Місце чи мова Google: ідентифікатор константи (geoTargetConstants/…, languageConstants/…) і назва для людини."},"GoogleSpec":{"properties":{"group_name":{"type":"string","maxLength":120,"minLength":3,"title":"Group Name"},"cpc_bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,8}$"},{"type":"null"}],"title":"Cpc Bid Minor"},"headlines":{"items":{"type":"string","maxLength":30,"minLength":1},"type":"array","maxItems":15,"minItems":3,"title":"Headlines"},"descriptions":{"items":{"type":"string","maxLength":90,"minLength":1},"type":"array","maxItems":4,"minItems":2,"title":"Descriptions"},"final_url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Final Url"},"path1":{"anyOf":[{"type":"string","maxLength":15,"pattern":"^[^\\s/]+$"},{"type":"null"}],"title":"Path1"},"path2":{"anyOf":[{"type":"string","maxLength":15,"pattern":"^[^\\s/]+$"},{"type":"null"}],"title":"Path2"},"keywords":{"items":{"$ref":"#/components/schemas/Keyword"},"type":"array","maxItems":30,"minItems":1,"title":"Keywords"},"locations":{"items":{"$ref":"#/components/schemas/Place"},"type":"array","maxItems":10,"minItems":1,"title":"Locations"}},"additionalProperties":false,"type":"object","required":["group_name","headlines","descriptions","final_url","keywords","locations"],"title":"GoogleSpec"},"GoogleTargetingPatch":{"properties":{"locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Locations"},"excluded_locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":500},{"type":"null"}],"title":"Excluded Locations"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":60},{"type":"null"}],"title":"Languages"},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleSlot"},"type":"array","maxItems":42},{"type":"null"}],"title":"Schedule"},"devices":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"propertyNames":{"enum":["MOBILE","DESKTOP","TABLET"]},"type":"object"},{"type":"null"}],"title":"Devices"}},"additionalProperties":false,"type":"object","title":"GoogleTargetingPatch","description":"Редагування Google ч.2: лише змінювані поля таргетингу кампанії; кожен перелік — повний новий."},"GrantInput":{"properties":{"action":{"type":"string","enum":["plan","unlimited","quota","clear"],"title":"Action"},"plan":{"anyOf":[{"type":"string","enum":["plus","pro","max"]},{"type":"null"}],"title":"Plan"},"quota":{"anyOf":[{"type":"string","enum":["ai_calls","mcp_tool_calls","agent_runs","report_exports","seats","connected_accounts"]},{"type":"null"}],"title":"Quota"},"value":{"anyOf":[{"type":"integer","maximum":1000000000.0,"minimum":0.0},{"type":"null"}],"title":"Value"},"days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Days"},"reason":{"type":"string","maxLength":500,"minLength":10,"title":"Reason"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["action","reason"],"title":"GrantInput"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Handoff":{"properties":{"consent":{"type":"boolean","title":"Consent","default":false}},"additionalProperties":false,"type":"object","title":"Handoff"},"ImageUpload":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"image_base64":{"type":"string","maxLength":7500000,"title":"Image Base64"}},"additionalProperties":false,"type":"object","required":["name","image_base64"],"title":"ImageUpload"},"ImagesInput":{"properties":{"images":{"items":{"$ref":"#/components/schemas/ImageUpload"},"type":"array","maxItems":12,"minItems":1,"title":"Images"}},"additionalProperties":false,"type":"object","required":["images"],"title":"ImagesInput"},"InitialPasswordInput":{"properties":{"password":{"type":"string","maxLength":256,"minLength":12,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20,"minLength":6},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["password"],"title":"InitialPasswordInput"},"InvitationInput":{"properties":{"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"role":{"type":"string","enum":["owner","admin","manager","analyst"],"title":"Role","default":"analyst"},"client_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"title":"Client Ids"},"otp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["email"],"title":"InvitationInput"},"KeyConnect":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"api_key":{"type":"string","format":"password","title":"Api Key","writeOnly":true}},"additionalProperties":false,"type":"object","required":["client_id","api_key"],"title":"KeyConnect"},"KeyEventInput":{"properties":{"event_name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,39}$","title":"Event Name"}},"additionalProperties":false,"type":"object","required":["event_name"],"title":"KeyEventInput"},"KeyInput":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"scopes":{"items":{"type":"string","enum":["read","propose"]},"type":"array","maxItems":2,"minItems":1,"title":"Scopes"},"expires_in_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["name","scopes"],"title":"KeyInput"},"Keyword":{"properties":{"text":{"type":"string","maxLength":80,"minLength":1,"title":"Text"},"match_type":{"type":"string","enum":["EXACT","PHRASE","BROAD"],"title":"Match Type","default":"PHRASE"}},"additionalProperties":false,"type":"object","required":["text"],"title":"Keyword"},"KeywordChange":{"properties":{"criterion_id":{"type":"string","pattern":"^[0-9]{1,20}$","title":"Criterion Id"},"status":{"anyOf":[{"type":"string","enum":["enabled","paused"]},{"type":"null"}],"title":"Status"},"cpc_bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Cpc Bid Minor"}},"additionalProperties":false,"type":"object","required":["criterion_id"],"title":"KeywordChange","description":"Редагування Google ч.1: наявне ключове слово групи — новий статус і/або ставка CPC у мінорних одиницях."},"KeywordInput":{"properties":{"text":{"type":"string","maxLength":80,"minLength":1,"title":"Text"},"match_type":{"type":"string","enum":["EXACT","PHRASE","BROAD"],"title":"Match Type","default":"EXACT"}},"additionalProperties":false,"type":"object","required":["text"],"title":"KeywordInput"},"KitInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"name":{"type":"string","maxLength":80,"minLength":2,"title":"Name"},"account_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"title":"Account Ids"},"methodology_md":{"type":"string","maxLength":20000,"title":"Methodology Md","default":""},"refresh":{"type":"string","enum":["manual","weekly"],"title":"Refresh","default":"manual"}},"additionalProperties":false,"type":"object","required":["client_id","name"],"title":"KitInput"},"KitPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":2},{"type":"null"}],"title":"Name"},"account_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100},{"type":"null"}],"title":"Account Ids"},"methodology_md":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Methodology Md"},"refresh":{"anyOf":[{"type":"string","enum":["manual","weekly"]},{"type":"null"}],"title":"Refresh"},"status":{"anyOf":[{"type":"string","enum":["draft","published","archived"]},{"type":"null"}],"title":"Status"}},"additionalProperties":false,"type":"object","title":"KitPatch"},"KpiInput":{"properties":{"action_type":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,120}$"},{"type":"null"}],"title":"Action Type"}},"additionalProperties":false,"type":"object","title":"KpiInput"},"LanguageAd":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"image_url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Image Url"},"vertical_image_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Vertical Image Url"},"primary_texts":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":5,"minItems":1,"title":"Primary Texts"},"headlines":{"items":{"type":"string","maxLength":255,"minLength":1},"type":"array","maxItems":5,"minItems":1,"title":"Headlines"},"description":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Description"},"link":{"anyOf":[{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Link"},"call_to_action":{"anyOf":[{"type":"string","pattern":"^[A-Z][A-Z_]{1,39}$"},{"type":"null"}],"title":"Call To Action"}},"additionalProperties":false,"type":"object","required":["image_url","primary_texts","headlines"],"title":"LanguageAd"},"LanguageCampaignInput":{"properties":{"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"objective":{"type":"string","enum":["OUTCOME_TRAFFIC","OUTCOME_LEADS","OUTCOME_SALES","OUTCOME_ENGAGEMENT","OUTCOME_AWARENESS","OUTCOME_APP_PROMOTION"],"title":"Objective"},"special_ad_categories":{"items":{"type":"string","enum":["CREDIT","EMPLOYMENT","HOUSING","ISSUES_ELECTIONS_POLITICS","FINANCIAL_PRODUCTS_SERVICES"]},"type":"array","maxItems":5,"title":"Special Ad Categories"},"optimization_goal":{"type":"string","enum":["AD_RECALL_LIFT","IMPRESSIONS","LANDING_PAGE_VIEWS","LEAD_GENERATION","LINK_CLICKS","OFFSITE_CONVERSIONS","POST_ENGAGEMENT","REACH","THRUPLAY","VALUE"],"title":"Optimization Goal"},"pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Pixel Id"},"custom_event_type":{"anyOf":[{"type":"string","enum":["ADD_PAYMENT_INFO","ADD_TO_CART","ADD_TO_WISHLIST","COMPLETE_REGISTRATION","CONTACT","CONTENT_VIEW","CUSTOMIZE_PRODUCT","DONATE","FIND_LOCATION","INITIATED_CHECKOUT","LEAD","OTHER","PURCHASE","SCHEDULE","SEARCH","START_TRIAL","SUBMIT_APPLICATION","SUBSCRIBE"]},{"type":"null"}],"title":"Custom Event Type"},"custom_conversion_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Custom Conversion Id"},"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25},{"type":"null"}],"title":"Countries"},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionItem"},"type":"array","maxItems":200,"minItems":1},{"type":"null"}],"title":"Regions"},"cities":{"anyOf":[{"items":{"$ref":"#/components/schemas/CityItem"},"type":"array","maxItems":250,"minItems":1},{"type":"null"}],"title":"Cities"},"age_min":{"type":"integer","maximum":65.0,"minimum":13.0,"title":"Age Min","default":18},"age_max":{"type":"integer","maximum":65.0,"minimum":13.0,"title":"Age Max","default":65},"genders":{"type":"string","enum":["all","male","female"],"title":"Genders","default":"all"},"advantage_audience":{"type":"boolean","title":"Advantage Audience"},"interests":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50,"minItems":1},{"type":"null"}],"title":"Interests"},"placements":{"anyOf":[{"$ref":"#/components/schemas/PlacementsInput"},{"type":"null"}]},"page_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Page Id"},"source_ad_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Ad Id"},"instagram":{"type":"string","enum":["auto","page","none"],"title":"Instagram","default":"auto"},"instagram_user_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,30}$"},{"type":"null"}],"title":"Instagram User Id"},"link":{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$","title":"Link"},"call_to_action":{"type":"string","pattern":"^[A-Z][A-Z_]{1,39}$","title":"Call To Action","default":"LEARN_MORE"},"disable_enhancements":{"type":"boolean","title":"Disable Enhancements","default":true},"apply_utm":{"type":"boolean","title":"Apply Utm","default":true},"groups":{"items":{"$ref":"#/components/schemas/LanguageGroup"},"type":"array","maxItems":6,"minItems":1,"title":"Groups"},"preview":{"type":"boolean","title":"Preview","default":false}},"additionalProperties":false,"type":"object","required":["name","objective","special_ad_categories","optimization_goal","advantage_audience","link","groups"],"title":"LanguageCampaignInput","description":"План мовної кампанії Meta: спільне для всіх груп (ціль, оптимізація, гео, вік, сторінка, посилання) і групи за мовами\nзі своїм бюджетом, посиланням (напр. ?lang=ru) та оголошеннями. preview=true — лише попередній перегляд."},"LanguageGroup":{"properties":{"language":{"type":"string","pattern":"^[a-z]{2}$","title":"Language"},"locales":{"anyOf":[{"items":{"type":"integer","exclusiveMaximum":1000000.0,"minimum":1.0},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Locales"},"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,8}$","title":"Budget Minor"},"link":{"anyOf":[{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$"},{"type":"null"}],"title":"Link"},"interests":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50,"minItems":1},{"type":"null"}],"title":"Interests"},"age_min":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Min"},"age_max":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Max"},"ads":{"items":{"$ref":"#/components/schemas/LanguageAd"},"type":"array","maxItems":6,"minItems":1,"title":"Ads"}},"additionalProperties":false,"type":"object","required":["language","budget_minor","ads"],"title":"LanguageGroup"},"LeadFormCreateInput":{"properties":{"page_id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Page Id"},"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"locale":{"type":"string","pattern":"^[A-Z]{2}_[A-Z]{2}$","title":"Locale"},"questions":{"items":{"$ref":"#/components/schemas/FormQuestion"},"type":"array","maxItems":15,"minItems":1,"title":"Questions"},"privacy_policy":{"$ref":"#/components/schemas/FormPrivacy"},"context_card":{"$ref":"#/components/schemas/FormContext"},"thank_you_page":{"$ref":"#/components/schemas/FormThanks"},"follow_up_action_url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Follow Up Action Url"},"is_optimized_for_quality":{"type":"boolean","title":"Is Optimized For Quality","default":true},"block_display_for_non_targeted_viewer":{"type":"boolean","title":"Block Display For Non Targeted Viewer","default":false}},"additionalProperties":false,"type":"object","required":["page_id","name","locale","questions","privacy_policy","context_card","thank_you_page","follow_up_action_url"],"title":"LeadFormCreateInput"},"LeadSiteInput":{"properties":{"hosts":{"items":{"type":"string","maxLength":253,"minLength":3},"type":"array","maxItems":10,"minItems":1,"title":"Hosts"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"additionalProperties":false,"type":"object","required":["hosts"],"title":"LeadSiteInput"},"LeadUpdate":{"properties":{"status":{"anyOf":[{"type":"string","enum":["new","wrote","qualified","interview","hired","rejected","no_answer"]},{"type":"null"}],"title":"Status"},"candidate_language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Candidate Language"},"clear_language":{"type":"boolean","title":"Clear Language","default":false}},"additionalProperties":false,"type":"object","title":"LeadUpdate"},"LimitsInput":{"properties":{"monthly_limit_cents":{"type":"integer","maximum":10000000.0,"minimum":0.0,"title":"Monthly Limit Cents"},"daily_user_limit_cents":{"type":"integer","maximum":10000000.0,"minimum":0.0,"title":"Daily User Limit Cents"},"task_limit_cents":{"type":"integer","maximum":1000000.0,"minimum":0.0,"title":"Task Limit Cents"}},"additionalProperties":false,"type":"object","required":["monthly_limit_cents","daily_user_limit_cents","task_limit_cents"],"title":"LimitsInput"},"LinkedInCapiInput":{"properties":{"token":{"anyOf":[{"type":"string","maxLength":2000,"minLength":20,"pattern":"^[A-Za-z0-9._~+/=-]+$"},{"type":"null"}],"title":"Token"}},"additionalProperties":false,"type":"object","title":"LinkedInCapiInput","description":"Ключ Direct API з Campaign Manager → Signals Manager (101); None — прибрати ключ."},"LinkedInEntity":{"properties":{"urn":{"type":"string","maxLength":170,"pattern":"^urn:li:[A-Za-z]{2,40}:[A-Za-z0-9_(),.:-]{1,120}$","title":"Urn"},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["urn"],"title":"LinkedInEntity"},"LinkedInPlanInput":{"properties":{"targeting":{"$ref":"#/components/schemas/LinkedInTargetingPatch"},"objective":{"type":"string","enum":["WEBSITE_VISIT","WEBSITE_CONVERSION","ENGAGEMENT","BRAND_AWARENESS"],"title":"Objective","default":"WEBSITE_VISIT"},"budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,12}$","title":"Budget Minor"},"audience_network":{"type":"boolean","title":"Audience Network","default":false},"audience_expansion":{"type":"boolean","title":"Audience Expansion","default":false},"breakdown":{"anyOf":[{"type":"string","enum":["titles","skills","industries","job_functions","seniorities","company_sizes","locations"]},{"type":"null"}],"title":"Breakdown"}},"additionalProperties":false,"type":"object","required":["targeting","budget_minor"],"title":"LinkedInPlanInput","description":"LinkedIn ч.6 (09.10.2026): оцінка перед запуском — таргетинг майбутньої кампанії (місця обов'язкові), ціль, денний бюджет."},"LinkedInSettingsPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"end_date":{"anyOf":[{"type":"string","pattern":"^([0-9]{4}-[0-9]{2}-[0-9]{2})?$"},{"type":"null"}],"title":"End Date"},"total_budget_minor":{"anyOf":[{"type":"string","pattern":"^([1-9][0-9]{0,12})?$"},{"type":"null"}],"title":"Total Budget Minor"},"group_status":{"anyOf":[{"type":"string","enum":["active","paused"]},{"type":"null"}],"title":"Group Status"},"optimization":{"anyOf":[{"type":"string","enum":["MAX_CLICK","MAX_CONVERSION","MAX_QUALIFIED_LEAD","MAX_LEAD","MAX_IMPRESSION","MAX_REACH","MAX_VIDEO_VIEW"]},{"type":"null"}],"title":"Optimization"},"creative_rotation":{"anyOf":[{"type":"string","enum":["OPTIMIZED","ROUND_ROBIN"]},{"type":"null"}],"title":"Creative Rotation"},"frequency_cap":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":0.0},{"type":"null"}],"title":"Frequency Cap"}},"additionalProperties":false,"type":"object","title":"LinkedInSettingsPatch","description":"LinkedIn ч.5 (09.10.2026): точкові налаштування кампанії — лише змінювані поля (linkedin_settings.py)."},"LinkedInTargetingPatch":{"properties":{"locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":200,"minItems":1},{"type":"null"}],"title":"Locations"},"excluded_locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":200},{"type":"null"}],"title":"Excluded Locations"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":30,"minItems":1},{"type":"null"}],"title":"Languages"},"job_functions":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":50},{"type":"null"}],"title":"Job Functions"},"seniorities":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":20},{"type":"null"}],"title":"Seniorities"},"industries":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":200},{"type":"null"}],"title":"Industries"},"titles":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":200},{"type":"null"}],"title":"Titles"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":200},{"type":"null"}],"title":"Skills"},"company_sizes":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedInEntity"},"type":"array","maxItems":20},{"type":"null"}],"title":"Company Sizes"},"audience_network":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Audience Network"},"audience_expansion":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Audience Expansion"},"excluded_site_categories":{"anyOf":[{"items":{"type":"string","pattern":"^IAB[0-9]{1,2}(-[0-9]{1,2})?$"},"type":"array","maxItems":80},{"type":"null"}],"title":"Excluded Site Categories"}},"additionalProperties":false,"type":"object","title":"LinkedInTargetingPatch","description":"LinkedIn ч.2 (09.10.2026): лише змінювані поля таргетингу кампанії; кожен перелік — повний новий (urn із пошуку LinkedIn)."},"LocaleItem":{"properties":{"key":{"type":"integer","exclusiveMaximum":1000000.0,"minimum":1.0,"title":"Key"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["key"],"title":"LocaleItem","description":"Мова Meta: ключ із пошуку мов (GET /accounts/{id}/targeting-search?type=locale) і назва для перегляду."},"LoginInput":{"properties":{"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"intent":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Intent"},"invitation":{"anyOf":[{"type":"string","maxLength":128,"minLength":32,"pattern":"^[a-zA-Z0-9_-]+$"},{"type":"null"}],"title":"Invitation"}},"additionalProperties":false,"type":"object","required":["email","password"],"title":"LoginInput"},"MarketingInput":{"properties":{"spend_accounts":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"title":"Spend Accounts"},"google_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Google Account Id"},"send_signups":{"type":"boolean","title":"Send Signups","default":false},"otp":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"MarketingInput","description":"Етап 2 (міграція 104): кабінети, чиї витрати — реклама AdAce Ads; кабінет Google для конверсії «Реєстрація» і вимикач\nпередачі. Зміна кабінету Google чи вмикання передачі — з кодом другого фактора (сервіс створює дію конверсії в Google)."},"MemberInput":{"properties":{"role":{"anyOf":[{"type":"string","enum":["owner","admin","manager","analyst"]},{"type":"null"}],"title":"Role"},"client_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Client Ids"},"otp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"MemberInput"},"MembersChange":{"properties":{"action":{"type":"string","enum":["add","remove"],"title":"Action"},"emails":{"items":{"type":"string","maxLength":254},"type":"array","maxItems":50000,"title":"Emails"},"phones":{"items":{"type":"string","maxLength":30},"type":"array","maxItems":50000,"title":"Phones"},"default_country_code":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,3}$"},{"type":"null"}],"title":"Default Country Code"}},"additionalProperties":false,"type":"object","required":["action"],"title":"MembersChange"},"MessageInput":{"properties":{"content":{"type":"string","maxLength":4000,"minLength":1,"title":"Content"}},"additionalProperties":false,"type":"object","required":["content"],"title":"MessageInput"},"MetaFormsInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"},"page_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{5,25}$"},{"type":"null"}],"title":"Page Id"},"chat_id":{"anyOf":[{"type":"integer","maximum":1000000000000000.0,"minimum":-1000000000000000.0},{"type":"null"}],"title":"Chat Id"},"bot_token":{"anyOf":[{"type":"string","pattern":"^[0-9]{5,15}:[A-Za-z0-9_-]{30,80}$"},{"type":"null"}],"title":"Bot Token"}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"MetaFormsInput","description":"04.10.2026 (міграція 091): заявки з форм Facebook / Instagram сторінки — у чат клієнта його ботом (ім'я, телефон,\nвідповіді), у сервіс — лише технічні мітки. bot_token порожній — лишити збережений."},"MetaSpec":{"properties":{"group_name":{"type":"string","maxLength":120,"minLength":3,"title":"Group Name"},"special_category":{"type":"string","enum":["none","employment","housing","credit"],"title":"Special Category"},"page_id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Page Id"},"countries":{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":5,"minItems":1,"title":"Countries"},"city":{"anyOf":[{"$ref":"#/components/schemas/CityPick"},{"type":"null"}]},"image_base64":{"type":"string","maxLength":7500000,"minLength":8,"title":"Image Base64"},"primary_text":{"type":"string","maxLength":500,"minLength":1,"title":"Primary Text"},"headline":{"type":"string","maxLength":100,"minLength":1,"title":"Headline"},"description":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Description"},"link":{"type":"string","pattern":"^https?://[^\\s<>\\\"']{3,2040}$","title":"Link"},"call_to_action":{"type":"string","enum":["LEARN_MORE","CONTACT_US","GET_QUOTE","SIGN_UP"],"title":"Call To Action"}},"additionalProperties":false,"type":"object","required":["group_name","special_category","page_id","countries","image_base64","primary_text","headline","link","call_to_action"],"title":"MetaSpec"},"MfaLoginInput":{"properties":{"challenge":{"type":"string","maxLength":256,"minLength":16,"title":"Challenge"},"code":{"type":"string","maxLength":20,"minLength":6,"title":"Code"}},"additionalProperties":false,"type":"object","required":["challenge","code"],"title":"MfaLoginInput"},"MicrosoftDemandInput":{"properties":{"keywords":{"items":{"type":"string","maxLength":80,"minLength":2},"type":"array","maxItems":20,"title":"Keywords"},"url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,500}$"},{"type":"null"}],"title":"Url"},"country":{"type":"string","enum":["US","GB","CA","AU","FR","DE"],"title":"Country","default":"US"},"language":{"type":"string","enum":["en","fr","de"],"title":"Language","default":"en"},"daily_budget_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Daily Budget Minor"},"max_cpc_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Max Cpc Minor"}},"additionalProperties":false,"type":"object","title":"MicrosoftDemandInput","description":"Microsoft ч.5 (09.10.2026): оцінка попиту в Bing (Ad Insight)."},"MicrosoftSettingsPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Name"},"audience_network":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Audience Network"},"search_partners":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Search Partners"},"conversion_goals":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9]{1,20}$"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Conversion Goals"}},"additionalProperties":false,"type":"object","title":"MicrosoftSettingsPatch","description":"Microsoft ч.4 (09.10.2026): назва кампанії, Microsoft Audience Network, пошукові партнери — лише змінювані поля."},"MicrosoftTargetingPatch":{"properties":{"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleSlot"},"type":"array","maxItems":49},{"type":"null"}],"title":"Schedule"},"devices":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"propertyNames":{"enum":["MOBILE","DESKTOP","TABLET"]},"type":"object"},{"type":"null"}],"title":"Devices"},"location_intent":{"anyOf":[{"type":"string","enum":["people_in","people_in_or_interested"]},{"type":"null"}],"title":"Location Intent"},"locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Locations"},"excluded_locations":{"anyOf":[{"items":{"$ref":"#/components/schemas/GooglePlace"},"type":"array","maxItems":100},{"type":"null"}],"title":"Excluded Locations"}},"additionalProperties":false,"type":"object","title":"MicrosoftTargetingPatch","description":"Microsoft ч.7 (09.10.2026): розклад показів (до 7 інтервалів на день, 49 разом), коригування за пристроями (усі три;\n0 — не показувати) і намір місця кампанії — лише змінювані поля."},"MonitorRuleInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"},"kind":{"type":"string","enum":["cpa_spike","roas_drop","not_delivering","spend_pacing","tracking_gap","budget_exhausted","pixel_health","ga4_no_results","cpa_week"],"title":"Kind"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"channels":{"items":{"type":"string","enum":["in_app","email","webhook"]},"type":"array","minItems":1,"title":"Channels"},"cooldown_hours":{"type":"integer","maximum":720.0,"minimum":1.0,"title":"Cooldown Hours","default":24},"interval_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"Interval Hours","default":24},"enabled":{"type":"boolean","title":"Enabled","default":true}},"additionalProperties":false,"type":"object","required":["client_id","kind"],"title":"MonitorRuleInput"},"MonitorRulePatch":{"properties":{"params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Params"},"channels":{"anyOf":[{"items":{"type":"string","enum":["in_app","email","webhook"]},"type":"array","minItems":1},{"type":"null"}],"title":"Channels"},"cooldown_hours":{"anyOf":[{"type":"integer","maximum":720.0,"minimum":1.0},{"type":"null"}],"title":"Cooldown Hours"},"interval_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Interval Hours"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"}},"additionalProperties":false,"type":"object","title":"MonitorRulePatch"},"OfferInput":{"properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,39}$","title":"Key"},"title":{"type":"string","maxLength":120,"minLength":1,"title":"Title"},"url":{"type":"string","maxLength":2000,"minLength":10,"title":"Url"},"active":{"type":"boolean","title":"Active","default":true}},"additionalProperties":false,"type":"object","required":["key","title","url"],"title":"OfferInput"},"OnboardingInput":{"properties":{"hosts":{"items":{"type":"string","maxLength":253,"minLength":3},"type":"array","maxItems":10,"minItems":1,"title":"Hosts"},"template":{"type":"string","enum":["recruiting","services","sales"],"title":"Template","default":"recruiting"},"languages":{"items":{"type":"string","pattern":"^[a-z]{2}$"},"type":"array","maxItems":10,"minItems":1,"title":"Languages"},"measurement_consent":{"type":"string","enum":["unknown","configured","not_required"],"title":"Measurement Consent","default":"unknown"},"conversion_routes":{"anyOf":[{"additionalProperties":{"type":"string","enum":["meta","google","both","none"]},"type":"object","maxProperties":10},{"type":"null"}],"title":"Conversion Routes"},"offers":{"items":{"$ref":"#/components/schemas/OfferInput"},"type":"array","maxItems":30,"title":"Offers"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"additionalProperties":false,"type":"object","required":["hosts"],"title":"OnboardingInput"},"OpenAiAdGroupInput":{"properties":{"strategy":{"type":"string","enum":["fixed_bid","maximize_clicks","maximize_conversions"],"title":"Strategy","default":"fixed_bid"},"max_bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Max Bid Minor"},"context_hints":{"anyOf":[{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Context Hints"}},"additionalProperties":false,"type":"object","title":"OpenAiAdGroupInput","description":"Нова група ChatGPT Ads на паузі. Тип ціни (billing_event_type) виводиться з цілі кампанії; strategy: fixed_bid (потрібна\nmax_bid_minor), maximize_clicks (ціль clicks) або maximize_conversions (ціль conversions) — обидві maximize потребують\nденного бюджету кампанії й без max_bid_minor. max_bid_minor — мінорні одиниці валюти кабінету: за клік (за конверсію\nдля цілі conversions), а для impressions — за 1000 показів. context_hints — короткі підказки про тему (не ключові слова)."},"OpenAiAdSpec":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"target_url":{"type":"string","title":"Target Url"},"image_url":{"type":"string","title":"Image Url"},"price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price"}},"additionalProperties":false,"type":"object","required":["title","body","target_url","image_url"],"title":"OpenAiAdSpec","description":"Нове оголошення ChatGPT Ads (chat_card): заголовок 3–50 символів, текст до 100, посилання http(s) до 2048 символів,\nзображення за публічним посиланням (JPEG, PNG чи WebP від 640×640 — OpenAI бере файл сам), необов'язкова ціна до 100."},"OpenAiBidding":{"properties":{"strategy":{"type":"string","enum":["fixed_bid","maximize_clicks","maximize_conversions"],"title":"Strategy"},"max_bid":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,8})(\\.[0-9]{1,6})?$"},{"type":"null"}],"title":"Max Bid"}},"additionalProperties":false,"type":"object","required":["strategy"],"title":"OpenAiBidding","description":"Ставка й стратегія групи ChatGPT Ads. fixed_bid — з max_bid (основні одиниці валюти, до 6 знаків: ставка за покази —\nза один показ); maximize_clicks і maximize_conversions — без ставки. Сервіс завжди пише в OpenAI увесь bidding_config."},"OpenAiCampaignSpec":{"properties":{"bidding_type":{"type":"string","enum":["clicks","impressions","conversions"],"title":"Bidding Type","default":"clicks"},"budget_type":{"type":"string","enum":["daily","lifetime"],"title":"Budget Type","default":"daily"},"conversion_event_setting_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]{3,80}$"},{"type":"null"}],"title":"Conversion Event Setting Id"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Countries"},"location_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,40}$"},"type":"array","maxItems":2500,"minItems":1},{"type":"null"}],"title":"Location Ids"},"excluded_countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Excluded Countries"},"excluded_location_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,40}$"},"type":"array","maxItems":2500,"minItems":1},{"type":"null"}],"title":"Excluded Location Ids"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["ios_app","android_app","web","desktop_web","ios_web","android_web"]},"type":"array","maxItems":6,"minItems":1},{"type":"null"}],"title":"Platforms"}},"additionalProperties":false,"type":"object","title":"OpenAiCampaignSpec","description":"Нова кампанія ChatGPT Ads на паузі. bidding_type — ціль кампанії (після створення не змінюється): clicks (типово),\nimpressions або conversions (лише з conversion_event_setting_id). Бюджет — budget_minor кампанії: денний (budget_type=daily)\nчи на весь строк (lifetime, потрібна end_date). Показ — країни (ISO) і / або місця з довідника (search_openai_locations);\nбез жодного місця OpenAI показував би скрізь, тож місце вказується явно."},"OpenAiCreativePatch":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":50,"minLength":3},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Body"},"price":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Price"}},"additionalProperties":false,"type":"object","title":"OpenAiCreativePatch","description":"Зміна креативу оголошення ChatGPT Ads: заголовок 3–50 символів, текст до 100, ціна (рядок до 100). Сервіс читає\nкреатив, змінює лише передані поля й пише увесь об'єкт; оголошення проходить перевірку знову."},"OpenAiSettingsPatch":{"properties":{"start_date":{"anyOf":[{"type":"string","pattern":"^$|^20[0-9]{2}-[0-9]{2}-[0-9]{2}$"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","pattern":"^$|^20[0-9]{2}-[0-9]{2}-[0-9]{2}$"},{"type":"null"}],"title":"End Date"}},"additionalProperties":false,"type":"object","title":"OpenAiSettingsPatch","description":"Розклад кампанії ChatGPT Ads: перший і останній день показу в часовому поясі кабінету (YYYY-MM-DD; \"\" — без дати)."},"OpenAiTargetingPatch":{"properties":{"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":250},{"type":"null"}],"title":"Countries"},"location_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,40}$"},"type":"array","maxItems":2500},{"type":"null"}],"title":"Location Ids"},"excluded_countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":250},{"type":"null"}],"title":"Excluded Countries"},"excluded_location_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,40}$"},"type":"array","maxItems":2500},{"type":"null"}],"title":"Excluded Location Ids"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["ios_app","android_app","web","desktop_web","ios_web","android_web"]},"type":"array","maxItems":6,"minItems":1},{"type":"null"}],"title":"Platforms"}},"additionalProperties":false,"type":"object","title":"OpenAiTargetingPatch","description":"Таргетинг кампанії ChatGPT Ads: країни, місця з довідника (id), виключені місця й платформи показу. Лише передані\nполя; сервіс читає весь targeting, замінює ці частини й пише його повністю (оновлення гео замінює старі критерії)."},"ParamRule":{"properties":{"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,49}$","title":"Name"},"operator":{"type":"string","enum":["i_contains","i_not_contains","contains","not_contains","eq","neq","lt","lte","gt","gte","regex_match"],"title":"Operator"},"value":{"anyOf":[{"type":"string"},{"type":"number"}],"title":"Value"}},"additionalProperties":false,"type":"object","required":["name","operator","value"],"title":"ParamRule"},"PasswordChangeInput":{"properties":{"password":{"type":"string","maxLength":256,"minLength":12,"title":"Password"},"current_password":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Current Password"},"otp":{"anyOf":[{"type":"string","maxLength":20,"minLength":6},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["password"],"title":"PasswordChangeInput"},"PixelInput":{"properties":{"name":{"type":"string","maxLength":100,"minLength":3,"pattern":"^.*\\S.*$","title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"PixelInput"},"Place":{"properties":{"id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Id"},"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["id","name"],"title":"Place"},"PlacementsInput":{"properties":{"publisher_platforms":{"items":{"type":"string","enum":["facebook","instagram","audience_network","messenger","threads"]},"type":"array","maxItems":5,"title":"Publisher Platforms"},"facebook_positions":{"items":{"type":"string","pattern":"^[a-z][a-z_]{1,39}$"},"type":"array","maxItems":20,"title":"Facebook Positions"},"instagram_positions":{"items":{"type":"string","pattern":"^[a-z][a-z_]{1,39}$"},"type":"array","maxItems":20,"title":"Instagram Positions"},"audience_network_positions":{"items":{"type":"string","pattern":"^[a-z][a-z_]{1,39}$"},"type":"array","maxItems":20,"title":"Audience Network Positions"},"messenger_positions":{"items":{"type":"string","pattern":"^[a-z][a-z_]{1,39}$"},"type":"array","maxItems":20,"title":"Messenger Positions"},"threads_positions":{"items":{"type":"string","pattern":"^[a-z][a-z_]{1,39}$"},"type":"array","maxItems":20,"title":"Threads Positions"},"device_platforms":{"items":{"type":"string","enum":["mobile","desktop"]},"type":"array","maxItems":2,"title":"Device Platforms"}},"additionalProperties":false,"type":"object","title":"PlacementsInput","description":"Плейсменти групи Meta. Порожні publisher_platforms — автоматичні (Advantage+ placements); порожній перелік позицій\nплатформи — усі її позиції; порожні device_platforms — усі пристрої."},"PlanInput":{"properties":{"source_account_id":{"type":"string","format":"uuid","title":"Source Account Id"},"target_account_id":{"type":"string","format":"uuid","title":"Target Account Id"},"date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"},"date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"},"lang":{"type":"string","enum":["en","ru","uk"],"title":"Lang"},"special_category":{"type":"string","enum":["none","employment","housing","credit"],"title":"Special Category"},"share_percent":{"type":"integer","maximum":50.0,"minimum":10.0,"title":"Share Percent","default":20},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country"},"keyword_language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Keyword Language"},"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":3},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["source_account_id","target_account_id","lang","special_category"],"title":"PlanInput"},"PlatformReplacementGrantInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"source_connection_id":{"type":"string","format":"uuid","title":"Source Connection Id"},"target_family":{"type":"string","enum":["google","meta","linkedin","tiktok","microsoft","snapchat","reddit","amazon","klaviyo"],"title":"Target Family"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["client_id","source_connection_id","target_family"],"title":"PlatformReplacementGrantInput","description":"A single client-scoped exception for one disconnected source hold."},"PlatformSlotResetInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"held_connection_id":{"type":"string","format":"uuid","title":"Held Connection Id"},"active_connection_id":{"type":"string","format":"uuid","title":"Active Connection Id"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["client_id","held_connection_id","active_connection_id"],"title":"PlatformSlotResetInput","description":"One exact client's two Reddit hold generations; target stays the owner's choice."},"PlaybookImportInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"scope":{"additionalProperties":true,"type":"object","title":"Scope"},"playbook":{"additionalProperties":true,"type":"object","title":"Playbook"}},"additionalProperties":false,"type":"object","required":["client_id","scope","playbook"],"title":"PlaybookImportInput"},"PortalInput":{"properties":{"return_path":{"type":"string","maxLength":200,"pattern":"^/[^\\s]*$","title":"Return Path","default":"/#/settings"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"PortalInput"},"PreferencesInput":{"properties":{"events":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Events"}},"additionalProperties":false,"type":"object","required":["events"],"title":"PreferencesInput"},"PresetInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"PresetInput"},"PropertySelection":{"properties":{"property_ids":{"items":{"type":"string","pattern":"^[0-9]{1,30}$"},"type":"array","maxItems":20,"minItems":1,"title":"Property Ids"}},"additionalProperties":false,"type":"object","required":["property_ids"],"title":"PropertySelection"},"PublishInput":{"properties":{"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Digest"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["digest","password"],"title":"PublishInput"},"PurchaseInput":{"properties":{"success_path":{"type":"string","maxLength":200,"pattern":"^/[^\\s]*$","title":"Success Path","default":"/#/billing?purchase=success"},"cancel_path":{"type":"string","maxLength":200,"pattern":"^/[^\\s]*$","title":"Cancel Path","default":"/#/billing?purchase=cancel"}},"additionalProperties":false,"type":"object","title":"PurchaseInput"},"Question":{"properties":{"question":{"type":"string","maxLength":1000,"minLength":3,"title":"Question"}},"additionalProperties":false,"type":"object","required":["question"],"title":"Question"},"RecheckBody":{"properties":{"account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"},"client_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Id"}},"additionalProperties":false,"type":"object","title":"RecheckBody"},"RecommendInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"}},"additionalProperties":false,"type":"object","required":["client_id"],"title":"RecommendInput"},"ReconcileInput":{"properties":{"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"ReconcileInput"},"RedditAdSpec":{"properties":{"headline":{"type":"string","maxLength":300,"minLength":1,"title":"Headline"},"body":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Body"},"link":{"type":"string","pattern":"^https://[^\\s<>\\\"'#]{3,2040}$","title":"Link"},"call_to_action":{"type":"string","enum":["Apply Now","Contact Us","Download","Get a Quote","Learn More","Order Now","Shop Now","Sign Up","View More","Watch Now","Book Now","Read More","Subscribe","Visit Store"],"title":"Call To Action"},"image_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"'#]{3,2040}$"},{"type":"null"}],"title":"Image Url"},"video_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"'#]{3,2040}$"},{"type":"null"}],"title":"Video Url"},"thumbnail_url":{"anyOf":[{"type":"string","pattern":"^https://[^\\s<>\\\"'#]{3,2040}$"},{"type":"null"}],"title":"Thumbnail Url"},"allow_comments":{"type":"boolean","title":"Allow Comments","default":false}},"additionalProperties":false,"type":"object","required":["headline","link","call_to_action"],"title":"RedditAdSpec","description":"Оголошення нової кампанії Reddit: допис із зображенням або відео (з обкладинкою) за посиланням https."},"RedditCampaignSpec":{"properties":{"objective":{"type":"string","enum":["CLICKS","CONVERSIONS"],"title":"Objective"},"special_ad_category":{"type":"string","enum":["NONE","HOUSING_EMPLOYMENT_CREDIT"],"title":"Special Ad Category"},"pixel_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_]{3,64}$"},{"type":"null"}],"title":"Pixel Id"},"geolocations":{"items":{"type":"string","pattern":"^[A-Z]{2}(:[A-Za-z0-9_-]{1,40}){0,3}$"},"type":"array","maxItems":200,"minItems":1,"title":"Geolocations"},"communities":{"anyOf":[{"items":{"type":"string","pattern":"^(r/)?[A-Za-z0-9_]{2,21}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Communities"},"interests":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9A-Za-z_.:-]{1,80}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Interests"},"keywords":{"anyOf":[{"items":{"type":"string","maxLength":80,"minLength":1},"type":"array","maxItems":300},{"type":"null"}],"title":"Keywords"},"languages":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":50},{"type":"null"}],"title":"Languages"},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/RedditDevice"},"type":"array","maxItems":10},{"type":"null"}],"title":"Devices"},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/RedditSlot"},"type":"array","maxItems":50},{"type":"null"}],"title":"Schedule"},"bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,12}$"},{"type":"null"}],"title":"Bid Minor"},"ad":{"$ref":"#/components/schemas/RedditAdSpec"}},"additionalProperties":false,"type":"object","required":["objective","special_ad_category","geolocations","ad"],"title":"RedditCampaignSpec","description":"Нова кампанія Reddit на паузі: ціль, спеціальна категорія (явно), піксель, таргетинг групи, ставка й оголошення."},"RedditDevice":{"properties":{"type":{"type":"string","enum":["DESKTOP","MOBILE"],"title":"Type"},"os":{"anyOf":[{"type":"string","enum":["ANDROID","IOS"]},{"type":"null"}],"title":"Os"}},"additionalProperties":false,"type":"object","required":["type"],"title":"RedditDevice"},"RedditSlot":{"properties":{"start_day":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Start Day"},"start_hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Start Hour"},"end_day":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"End Day"},"end_hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"End Hour"}},"additionalProperties":false,"type":"object","required":["start_day","start_hour","end_day","end_hour"],"title":"RedditSlot","description":"Вікно показу групи: дні 0 (неділя) … 6 (субота), години 0–23 у поясі групи (як у Reddit)."},"RedditTargetingPatch":{"properties":{"geolocations":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}(:[A-Za-z0-9_-]{1,40}){0,3}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Geolocations"},"excluded_geolocations":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}(:[A-Za-z0-9_-]{1,40}){0,3}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Excluded Geolocations"},"communities":{"anyOf":[{"items":{"type":"string","pattern":"^(r/)?[A-Za-z0-9_]{2,21}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Communities"},"excluded_communities":{"anyOf":[{"items":{"type":"string","pattern":"^(r/)?[A-Za-z0-9_]{2,21}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Excluded Communities"},"interests":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9A-Za-z_.:-]{1,80}$"},"type":"array","maxItems":200},{"type":"null"}],"title":"Interests"},"keywords":{"anyOf":[{"items":{"type":"string","maxLength":80,"minLength":1},"type":"array","maxItems":300},{"type":"null"}],"title":"Keywords"},"excluded_keywords":{"anyOf":[{"items":{"type":"string","maxLength":80,"minLength":1},"type":"array","maxItems":300},{"type":"null"}],"title":"Excluded Keywords"},"custom_audience_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9A-Za-z_.:-]{1,80}$"},"type":"array","maxItems":50},{"type":"null"}],"title":"Custom Audience Ids"},"excluded_custom_audience_ids":{"anyOf":[{"items":{"type":"string","pattern":"^[0-9A-Za-z_.:-]{1,80}$"},"type":"array","maxItems":50},{"type":"null"}],"title":"Excluded Custom Audience Ids"},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/RedditDevice"},"type":"array","maxItems":10},{"type":"null"}],"title":"Devices"},"languages":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":50},{"type":"null"}],"title":"Languages"},"gender":{"anyOf":[{"type":"string","enum":["all","male","female"]},{"type":"null"}],"title":"Gender"},"age_min":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Min"},"age_max":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Max"},"expand_targeting":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expand Targeting"},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/RedditSlot"},"type":"array","maxItems":50},{"type":"null"}],"title":"Schedule"}},"additionalProperties":false,"type":"object","title":"RedditTargetingPatch","description":"Зміна таргетингу групи Reddit: лише передані поля; решта таргетингу лишається як є. Порожній перелік — прибрати."},"RefreshRequest":{"properties":{},"additionalProperties":false,"type":"object","title":"RefreshRequest"},"RegionItem":{"properties":{"key":{"type":"string","pattern":"^[0-9A-Za-z:_-]{1,40}$","title":"Key"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["key"],"title":"RegionItem","description":"Регіон Meta: ключ із пошуку місць (GET /accounts/{id}/targeting-search?type=location) і назва для перегляду."},"RegistrationInput":{"properties":{"client_name":{"type":"string","maxLength":200,"minLength":1,"title":"Client Name"},"redirect_uris":{"items":{"type":"string"},"type":"array","maxItems":10,"minItems":1,"title":"Redirect Uris"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method","default":"none"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"}},"type":"object","required":["client_name","redirect_uris"],"title":"RegistrationInput"},"RejectInput":{"properties":{"reason_code":{"type":"string","enum":["not_now","wrong_target","too_aggressive","bad_data","already_handled","other"],"title":"Reason Code"},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Note"}},"additionalProperties":false,"type":"object","required":["reason_code"],"title":"RejectInput"},"RejectionInput":{"properties":{"reason":{"type":"string","maxLength":1000,"minLength":10,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"RejectionInput"},"ReportInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"date_from":{"type":"string","format":"date","title":"Date From"},"date_to":{"type":"string","format":"date","title":"Date To"},"mode":{"type":"string","enum":["previous_period","previous_month","previous_year"],"title":"Mode","default":"previous_period"}},"additionalProperties":false,"type":"object","required":["client_id","date_from","date_to"],"title":"ReportInput"},"ResultViewedInput":{"properties":{"result_id":{"type":"string","format":"uuid","title":"Result Id"},"revision":{"type":"integer","maximum":1000000.0,"minimum":1.0,"title":"Revision"},"view_id":{"type":"string","format":"uuid","title":"View Id"},"foreground":{"type":"boolean","const":true,"title":"Foreground"},"explicit_action":{"type":"boolean","const":true,"title":"Explicit Action"}},"additionalProperties":false,"type":"object","required":["result_id","revision","view_id","foreground","explicit_action"],"title":"ResultViewedInput"},"RevokeGrantInput":{"properties":{"otp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"RevokeGrantInput"},"RollbackInput":{"properties":{"version_id":{"type":"string","format":"uuid","title":"Version Id"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["version_id","password"],"title":"RollbackInput"},"RunInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"task":{"type":"string","enum":["analytics_sync","anomaly_check","pace_check","connection_check","client_report"],"title":"Task"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"additionalProperties":false,"type":"object","required":["client_id","task"],"title":"RunInput"},"SafetyInput":{"properties":{"on":{"type":"boolean","title":"On"},"reason":{"type":"string","maxLength":500,"minLength":10,"title":"Reason"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["on","reason"],"title":"SafetyInput"},"SaveInput":{"properties":{"path":{"type":"string","maxLength":500,"minLength":1,"title":"Path"},"content":{"type":"string","maxLength":2097152,"title":"Content"},"base_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Base Sha256"},"note":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Note"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["path","content","base_sha256","password"],"title":"SaveInput"},"ScheduleInput":{"properties":{"hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Hour"},"minute":{"type":"integer","maximum":59.0,"minimum":0.0,"title":"Minute","default":0},"timezone":{"type":"string","maxLength":100,"minLength":1,"title":"Timezone"},"enabled":{"type":"boolean","title":"Enabled","default":true},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"additionalProperties":false,"type":"object","required":["hour","timezone"],"title":"ScheduleInput"},"ScheduleSlot":{"properties":{"day":{"type":"string","enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"title":"Day"},"start_hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Start Hour"},"start_minute":{"type":"integer","enum":[0,15,30,45],"title":"Start Minute","default":0},"end_hour":{"type":"integer","maximum":24.0,"minimum":0.0,"title":"End Hour"},"end_minute":{"type":"integer","enum":[0,15,30,45],"title":"End Minute","default":0},"bid_modifier":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.1},{"type":"null"}],"title":"Bid Modifier"}},"additionalProperties":false,"type":"object","required":["day","start_hour","end_hour"],"title":"ScheduleSlot","description":"Інтервал розкладу показів Google: день, початок і кінець (хвилини 0/15/30/45), коригування ставки 0.1–10 (1 — без)."},"SearchSegmentInput":{"properties":{"name":{"type":"string","maxLength":100,"minLength":3,"title":"Name"},"keywords":{"items":{"type":"string","maxLength":80,"minLength":1},"type":"array","maxItems":200,"minItems":1,"title":"Keywords"},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description"}},"additionalProperties":false,"type":"object","required":["name","keywords"],"title":"SearchSegmentInput"},"Selection":{"properties":{"selection_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"minItems":1,"title":"Selection Ids"}},"additionalProperties":false,"type":"object","required":["selection_ids"],"title":"Selection"},"SettingsInput":{"properties":{"sandbox_execution_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sandbox Execution Enabled"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"},"live_writes_paused":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Live Writes Paused"}},"additionalProperties":false,"type":"object","title":"SettingsInput"},"SetupInput":{"properties":{"ga4_account_id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Ga4 Account Id"},"property_name":{"type":"string","maxLength":100,"minLength":3,"title":"Property Name"},"site_url":{"type":"string","maxLength":2000,"minLength":3,"title":"Site Url"},"time_zone":{"type":"string","maxLength":64,"minLength":3,"title":"Time Zone"},"currency":{"type":"string","pattern":"^[A-Z]{3}$","title":"Currency"},"key_event":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,39}$","title":"Key Event","default":"generate_lead"},"link_account_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":5,"title":"Link Account Ids"},"auto_tagging_account_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":5,"title":"Auto Tagging Account Ids"},"dry_run":{"type":"boolean","title":"Dry Run","default":true}},"additionalProperties":false,"type":"object","required":["ga4_account_id","property_name","site_url","time_zone","currency"],"title":"SetupInput"},"ShortLinkInput":{"properties":{"code":{"type":"string","pattern":"^[a-z0-9]{1,16}$","title":"Code"},"target_path":{"type":"string","maxLength":300,"pattern":"^/[A-Za-z0-9/_.-]*$","title":"Target Path"},"utm_source":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[A-Za-z0-9_.-]+$","title":"Utm Source"},"utm_medium":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[A-Za-z0-9_.-]+$","title":"Utm Medium"},"utm_campaign":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[A-Za-z0-9_.-]+$","title":"Utm Campaign"},"utm_content":{"anyOf":[{"type":"string","maxLength":100,"pattern":"^[A-Za-z0-9_.-]*$"},{"type":"null"}],"title":"Utm Content"},"note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Note"},"sent_count":{"anyOf":[{"type":"integer","maximum":10000000.0,"minimum":0.0},{"type":"null"}],"title":"Sent Count"},"cost_minor":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Cost Minor"},"cost_currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}],"title":"Cost Currency"},"active":{"type":"boolean","title":"Active","default":true}},"additionalProperties":false,"type":"object","required":["code","target_path","utm_source","utm_medium","utm_campaign"],"title":"ShortLinkInput"},"SiteOpenAiInput":{"properties":{"pixel_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{2,99}$","title":"Pixel Id"},"source_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{2,99}$"},{"type":"null"}],"title":"Source Id"},"event_settings":{"additionalProperties":{"type":"string"},"propertyNames":{"enum":["qualified","interview","hired"]},"type":"object","title":"Event Settings"}},"additionalProperties":false,"type":"object","required":["pixel_id"],"title":"SiteOpenAiInput","description":"Піксель сайту: pixel_id (для пікселя й серверних подій), source_id (id джерела) і налаштування подій за стадіями."},"SiteSelection":{"properties":{"site_urls":{"items":{"type":"string","maxLength":300,"minLength":1},"type":"array","maxItems":20,"minItems":1,"title":"Site Urls"}},"additionalProperties":false,"type":"object","required":["site_urls"],"title":"SiteSelection"},"SnapchatAdInput":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"media_url":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Media Url"},"media_type":{"type":"string","enum":["image","video"],"title":"Media Type","default":"image"},"headline":{"type":"string","maxLength":34,"minLength":1,"title":"Headline"},"brand_name":{"type":"string","maxLength":32,"minLength":1,"title":"Brand Name"},"call_to_action":{"type":"string","enum":["APPLY_NOW","MORE","ORDER_NOW","PLAY","READ","SHOP_NOW","SHOW","SIGN_UP","VIEW","WATCH","DONATE","DOWNLOAD","RESPOND","BUY_TICKETS","SHOWTIMES","BOOK_NOW","GET_NOW","LISTEN","TRY","VOTE","VIEW_MENU","PRE_REGISTER","PLAY_GAME"],"title":"Call To Action","default":"APPLY_NOW"},"link":{"type":"string","pattern":"^https://[^\\s<>\\\"']{3,2040}$","title":"Link"}},"additionalProperties":false,"type":"object","required":["media_url","headline","brand_name","link"],"title":"SnapchatAdInput","description":"Snapchat ч.2: нове оголошення на паузі — зображення (PNG/JPEG 1080×1920 до 5 МБ) чи відео (MP4/MOV до 200 МБ) за публічним\nпосиланням https (сервер завантажує файл у Snapchat), заголовок (до 34), назва бренду (до 32), кнопка й посилання сайту."},"SnapchatAdSquadInput":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":3},{"type":"null"}],"title":"Name"},"targeting":{"$ref":"#/components/schemas/SnapchatTargetingPatch"},"optimization_goal":{"type":"string","enum":["IMPRESSIONS","LANDING_PAGE_VIEW","PIXEL_ADD_TO_CART","PIXEL_PAGE_VIEW","PIXEL_PURCHASE","PIXEL_SIGNUP","STORY_OPENS","SWIPES","VIDEO_VIEWS"],"title":"Optimization Goal","default":"SWIPES"},"budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,12}$","title":"Budget Minor"},"bid_strategy":{"type":"string","enum":["AUTO_BID","LOWEST_COST_WITH_MAX_BID","TARGET_COST"],"title":"Bid Strategy","default":"AUTO_BID"},"bid_minor":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]{0,10}$"},{"type":"null"}],"title":"Bid Minor"},"positions":{"anyOf":[{"items":{"type":"string","enum":["INTERSTITIAL_USER","INTERSTITIAL_CONTENT","INTERSTITIAL_SPOTLIGHT","INSTREAM","PUBLIC_STORIES_INSTREAM","FEED","CAMERA","CHAT_FEED"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Positions"},"pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},{"type":"null"}],"title":"Pixel Id"}},"additionalProperties":false,"type":"object","required":["targeting","budget_minor"],"title":"SnapchatAdSquadInput","description":"Snapchat ч.2: нова група (ad squad) на паузі — таргетинг (країни чи регіони обов'язкові), ціль оптимізації, денний бюджет\n(не менше 5 одиниць валюти — вимога Snapchat), стратегія ставок і розміщення. Назва — у групі; у кампанії — необов'язкова."},"SnapchatCapiInput":{"properties":{"token":{"anyOf":[{"type":"string","maxLength":2000,"minLength":20,"pattern":"^[A-Za-z0-9._~+/=-]+$"},{"type":"null"}],"title":"Token"}},"additionalProperties":false,"type":"object","title":"SnapchatCapiInput","description":"Статичний токен Conversions API пікселя Snapchat (Business Details → Conversions API Tokens, 112); None — прибрати."},"SnapchatCreativePatch":{"properties":{"headline":{"anyOf":[{"type":"string","maxLength":34,"minLength":1},{"type":"null"}],"title":"Headline"},"brand_name":{"anyOf":[{"type":"string","maxLength":32,"minLength":1},{"type":"null"}],"title":"Brand Name"},"call_to_action":{"anyOf":[{"type":"string","enum":["APPLY_NOW","MORE","ORDER_NOW","PLAY","READ","SHOP_NOW","SHOW","SIGN_UP","VIEW","WATCH","DONATE","DOWNLOAD","RESPOND","BUY_TICKETS","SHOWTIMES","BOOK_NOW","GET_NOW","LISTEN","TRY","VOTE","VIEW_MENU","PRE_REGISTER","PLAY_GAME"]},{"type":"null"}],"title":"Call To Action"}},"additionalProperties":false,"type":"object","title":"SnapchatCreativePatch","description":"Snapchat ч.2: тексти креативу наявного оголошення — заголовок (до 34 символів), назва бренду (до 32) і кнопка; лише\nзмінювані. Креатив змінюється латкою (PATCH) і проходить перевірку Snapchat знову."},"SnapchatItem":{"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,64}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["id"],"title":"SnapchatItem","description":"Snapchat ч.2: значення таргетингу — ідентифікатор Snapchat (регіон, інтерес, аудиторія) і назва для перегляду."},"SnapchatRegion":{"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,64}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"country":{"type":"string","pattern":"^[A-Z]{2}$","title":"Country"}},"additionalProperties":false,"type":"object","required":["id","country"],"title":"SnapchatRegion"},"SnapchatTargetingPatch":{"properties":{"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":50},{"type":"null"}],"title":"Countries"},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/SnapchatRegion"},"type":"array","maxItems":200},{"type":"null"}],"title":"Regions"},"age_min":{"anyOf":[{"type":"integer","maximum":35.0,"minimum":13.0},{"type":"null"}],"title":"Age Min"},"age_max":{"anyOf":[{"type":"integer","maximum":55.0,"minimum":13.0},{"type":"null"}],"title":"Age Max"},"gender":{"anyOf":[{"type":"string","enum":["all","male","female"]},{"type":"null"}],"title":"Gender"},"languages":{"anyOf":[{"items":{"type":"string","pattern":"^[a-z]{2}$"},"type":"array","maxItems":30},{"type":"null"}],"title":"Languages"},"interests":{"anyOf":[{"items":{"$ref":"#/components/schemas/SnapchatItem"},"type":"array","maxItems":100},{"type":"null"}],"title":"Interests"},"custom_audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/SnapchatItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Custom Audiences"},"excluded_audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/SnapchatItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Excluded Audiences"}},"additionalProperties":false,"type":"object","title":"SnapchatTargetingPatch","description":"Snapchat ч.2 (10.10.2026): лише змінювані поля таргетингу групи (ad squad); кожен перелік — повний новий. Решта\nтаргетингу (поштові індекси, метро, пристрої, розширення аудиторії) лишається як є (snapchat_targeting)."},"Start":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"access":{"type":"string","enum":["read","edit","tags","pages"],"title":"Access","default":"read"},"services":{"anyOf":[{"items":{"type":"string","enum":["ads","analytics","search_console"]},"type":"array","maxItems":3,"minItems":1},{"type":"null"}],"title":"Services"},"region":{"anyOf":[{"type":"string","enum":["na","eu","fe"]},{"type":"null"}],"title":"Region"}},"additionalProperties":false,"type":"object","required":["client_id"],"title":"Start"},"SummaryInput":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"},"date_from":{"type":"string","format":"date","title":"Date From"},"date_to":{"type":"string","format":"date","title":"Date To"}},"additionalProperties":false,"type":"object","required":["account_id","date_from","date_to"],"title":"SummaryInput"},"TargetingItem":{"properties":{"id":{"type":"string","pattern":"^[0-9]{1,30}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["id"],"title":"TargetingItem","description":"Аудиторія чи інтерес Meta: ідентифікатор і (необов'язково) назва для перегляду."},"TargetingPatch":{"properties":{"countries":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Z]{2}$"},"type":"array","maxItems":25},{"type":"null"}],"title":"Countries"},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionItem"},"type":"array","maxItems":200},{"type":"null"}],"title":"Regions"},"cities":{"anyOf":[{"items":{"$ref":"#/components/schemas/CityItem"},"type":"array","maxItems":250},{"type":"null"}],"title":"Cities"},"age_min":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Min"},"age_max":{"anyOf":[{"type":"integer","maximum":65.0,"minimum":13.0},{"type":"null"}],"title":"Age Max"},"genders":{"anyOf":[{"type":"string","enum":["all","male","female"]},{"type":"null"}],"title":"Genders"},"advantage_audience":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Advantage Audience"},"placements":{"anyOf":[{"$ref":"#/components/schemas/PlacementsInput"},{"type":"null"}]},"custom_audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Custom Audiences"},"excluded_audiences":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Excluded Audiences"},"interests":{"anyOf":[{"items":{"$ref":"#/components/schemas/TargetingItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Interests"},"languages":{"anyOf":[{"items":{"$ref":"#/components/schemas/LocaleItem"},"type":"array","maxItems":50},{"type":"null"}],"title":"Languages"}},"additionalProperties":false,"type":"object","title":"TargetingPatch","description":"Зміна таргетингу групи Meta: лише передані поля; решта таргетингу лишається як є."},"TelegramAdminInput":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"enabled":{"type":"boolean","title":"Enabled"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["workspace_id","enabled"],"title":"TelegramAdminInput"},"TelegramSettingsInput":{"properties":{"muted_events":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Muted Events"}},"additionalProperties":false,"type":"object","required":["muted_events"],"title":"TelegramSettingsInput"},"TemplateInput":{"properties":{"params":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":6,"title":"Params"}},"additionalProperties":false,"type":"object","required":["params"],"title":"TemplateInput"},"TermsInput":{"properties":{"version":{"type":"string","title":"Version"}},"additionalProperties":false,"type":"object","required":["version"],"title":"TermsInput"},"TestCampaign":{"properties":{"name":{"type":"string","maxLength":80,"minLength":3,"title":"Name"},"budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,6}$","title":"Budget Minor"}},"additionalProperties":false,"type":"object","required":["name","budget_minor"],"title":"TestCampaign"},"TestSendInput":{"properties":{"stage":{"type":"string","enum":["qualified","interview","hired"],"title":"Stage","default":"qualified"},"oppref":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_.:~+/=-]{4,255}$"},{"type":"null"}],"title":"Oppref"},"emails":{"items":{"type":"string","maxLength":254},"type":"array","maxItems":3,"title":"Emails"},"phones":{"items":{"type":"string","maxLength":30},"type":"array","maxItems":3,"title":"Phones"}},"additionalProperties":false,"type":"object","title":"TestSendInput","description":"Тестове надсилання: лише validate_only. Пошта й телефон (необов'язково) хешуються на сервері й не зберігаються."},"UrlRule":{"properties":{"operator":{"type":"string","enum":["i_contains","eq","regex_match"],"title":"Operator","default":"i_contains"},"value":{"type":"string","maxLength":500,"minLength":1,"title":"Value"}},"additionalProperties":false,"type":"object","required":["value"],"title":"UrlRule"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookInput":{"properties":{"url":{"type":"string","pattern":"^https://[^\\s]{4,490}$","title":"Url"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["url"],"title":"WebhookInput"},"WorkingWritesInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"WorkingWritesInput"},"WritePolicyInput":{"properties":{"autonomy":{"type":"string","enum":["observe","propose","auto"],"title":"Autonomy","default":"propose"},"writes_paused":{"type":"boolean","title":"Writes Paused","default":false},"max_change_percent":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Max Change Percent","default":100},"max_daily_increase_percent":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Max Daily Increase Percent","default":200},"max_writes_per_hour":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Max Writes Per Hour","default":20},"max_daily_budget":{"anyOf":[{"type":"integer","maximum":100000000.0,"minimum":1.0},{"type":"null"}],"title":"Max Daily Budget"},"client_daily_limit":{"anyOf":[{"type":"integer","maximum":100000000.0,"minimum":1.0},{"type":"null"}],"title":"Client Daily Limit"},"client_limit_currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}],"title":"Client Limit Currency"},"otp":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Otp"}},"additionalProperties":false,"type":"object","title":"WritePolicyInput"},"agency__channel_expansion_api__CreateInput":{"properties":{"overrides":{"additionalProperties":true,"type":"object","maxProperties":20,"title":"Overrides"}},"additionalProperties":false,"type":"object","title":"CreateInput","description":"Поля створення кампанії, яких плану бракує або які людина змінює (перевіряються тією ж схемою, що й create_campaign)."},"agency__client_onboarding_providers__GA4FeedbackInput":{"properties":{"stream_resource":{"type":"string","pattern":"^properties/([0-9]{1,30})/dataStreams/([0-9]{1,30})$","title":"Stream Resource"}},"additionalProperties":false,"type":"object","required":["stream_resource"],"title":"GA4FeedbackInput"},"agency__dashboards__api__LinkInput":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"name":{"type":"string","maxLength":80,"minLength":2,"title":"Name"},"account_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"title":"Account Ids"},"default_range":{"type":"integer","title":"Default Range","default":30},"allowed_ranges":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Allowed Ranges"},"show_spend":{"type":"boolean","title":"Show Spend","default":true},"show_campaigns":{"type":"boolean","title":"Show Campaigns","default":true},"brand":{"anyOf":[{"$ref":"#/components/schemas/Brand"},{"type":"null"}]},"expires_in_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"}},"additionalProperties":false,"type":"object","required":["client_id","name"],"title":"LinkInput"},"agency__first_campaign__CreateInput":{"properties":{"draft_id":{"type":"string","format":"uuid","title":"Draft Id"},"account_id":{"type":"string","format":"uuid","title":"Account Id"},"campaign_name":{"type":"string","maxLength":120,"minLength":3,"title":"Campaign Name"},"daily_budget_minor":{"type":"string","pattern":"^[1-9][0-9]{0,12}$","title":"Daily Budget Minor"},"google":{"anyOf":[{"$ref":"#/components/schemas/GoogleSpec"},{"type":"null"}]},"meta":{"anyOf":[{"$ref":"#/components/schemas/MetaSpec"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["draft_id","account_id","campaign_name","daily_budget_minor"],"title":"CreateInput"},"agency__ga4__SyncInput":{"properties":{"days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Days","default":30}},"additionalProperties":false,"type":"object","title":"SyncInput"},"agency__ga4_setup__LinkInput":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"}},"additionalProperties":false,"type":"object","required":["account_id"],"title":"LinkInput"},"agency__kits__api__PreviewInput":{"properties":{"question":{"type":"string","maxLength":2000,"minLength":3,"title":"Question"}},"additionalProperties":false,"type":"object","required":["question"],"title":"PreviewInput"},"agency__klaviyo__SyncInput":{"properties":{"days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Days","default":90}},"additionalProperties":false,"type":"object","title":"SyncInput"},"agency__leads__GA4FeedbackInput":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"measurement_id":{"anyOf":[{"type":"string","pattern":"^G-[A-Z0-9]{4,20}$"},{"type":"null"}],"title":"Measurement Id"},"api_secret":{"anyOf":[{"type":"string","maxLength":200,"minLength":10,"pattern":"^[A-Za-z0-9_-]+$"},{"type":"null"}],"title":"Api Secret"}},"additionalProperties":false,"type":"object","required":["enabled"],"title":"GA4FeedbackInput"},"agency__search_console__SyncInput":{"properties":{"days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Days","default":30}},"additionalProperties":false,"type":"object","title":"SyncInput"},"agency__site_pages__SiteInput":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"host":{"type":"string","maxLength":253,"pattern":"^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?)+$","title":"Host"},"username":{"type":"string","maxLength":200,"minLength":1,"title":"Username"},"password":{"type":"string","maxLength":200,"minLength":1,"title":"Password"},"root_path":{"type":"string","maxLength":500,"pattern":"^[A-Za-z0-9._~@+/-]*$","title":"Root Path","default":""},"public_url":{"type":"string","maxLength":500,"pattern":"^https://[^\\s]+$","title":"Public Url"}},"additionalProperties":false,"type":"object","required":["name","host","username","password","public_url"],"title":"SiteInput"},"agency__tag_manager__SiteInput":{"properties":{"site_url":{"type":"string","maxLength":2000,"minLength":3,"title":"Site Url"},"connection_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Connection Id"},"meta_event":{"type":"string","enum":["Contact","Lead","SubmitApplication","Schedule","CompleteRegistration"],"title":"Meta Event","default":"Contact"},"meta_pixel_id":{"anyOf":[{"type":"string","pattern":"^[0-9]{5,20}$"},{"type":"null"}],"title":"Meta Pixel Id"},"forms":{"type":"boolean","title":"Forms","default":false}},"additionalProperties":false,"type":"object","required":["site_url"],"title":"SiteInput"},"agency__tracking_audit__SiteInput":{"properties":{"url":{"type":"string","maxLength":2000,"minLength":3,"title":"Url"}},"additionalProperties":false,"type":"object","required":["url"],"title":"SiteInput"},"agency__utm__PreviewInput":{"properties":{"params":{"additionalProperties":{"type":"string"},"type":"object","maxProperties":6,"title":"Params"},"provider":{"type":"string","title":"Provider"},"campaign_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Campaign Name"}},"additionalProperties":false,"type":"object","required":["params","provider"],"title":"PreviewInput"}}}}