Appearance
meta
10 endpoints.
GET /api/v1/meta/config
Get Meta Config
Get the tenant's Meta Ads configuration.
200 — Successful Response
json
{}PUT /api/v1/meta/config
Save Meta Config
Save Meta Ads configuration for the tenant.
Request body
json
{
"properties": {
"meta_app_id": {
"type": "string",
"title": "Meta App Id"
},
"meta_app_secret": {
"type": "string",
"title": "Meta App Secret"
},
"meta_redirect_uri": {
"type": "string",
"title": "Meta Redirect Uri"
}
},
"type": "object",
"required": [
"meta_app_id",
"meta_app_secret",
"meta_redirect_uri"
],
"title": "MetaConfigRequest"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/meta/accounts
List Accounts
200 — Successful Response
json
{}GET /api/v1/meta/accounts/{account_id}/ads
List Account Ads
Local synced ads for one account — feeds the cascade Ad selector.
Tenant + account scoped; reads the mirrored ads table (not live Meta).
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
account_id | path | yes | string |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/meta/connect
Connect Meta
Return Meta OAuth URL for the frontend to redirect to.
200 — Successful Response
json
{}GET /api/v1/meta/callback
Meta Callback
Handle Meta OAuth callback - exchange code for token, discover ad accounts.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
code | query | yes | string | |
state | query | no | string |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}DELETE /api/v1/meta/accounts/{account_id}
Delete Account
Soft-delete a Meta ad account.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
account_id | path | yes | string |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/meta/sync-status
Sync Status
Get sync status for all accounts.
200 — Successful Response
json
{}POST /api/v1/meta/accounts/{account_id}/sync
Trigger Sync
Manually trigger a sync for a specific account.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
account_id | path | yes | string |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/meta/accounts/sync-all
Sync All Accounts
Sync all accounts for the current tenant.
200 — Successful Response
json
{}