These endpoints support tooling that connects Auto Blogger to external systems: confirming who the token represents, registering webhook URLs, backfilling published posts, and discovering WordPress OAuth settings.
See REST API overview for authentication and scopes.
Current user and account
GET /api/me
Authorization: Bearer TOKEN
No extra scope beyond a valid token. Use this after OAuth to learn which workspace the token acts on.
Example response
{
"user": {
"id": 1,
"name": "Alex Example",
"email": "[email protected]"
},
"accounts": [
{
"id": 10,
"name": "Acme Marketing",
"slug": "acme-marketing",
"role": "owner"
}
],
"account": {
"id": 10,
"name": "Acme Marketing",
"slug": "acme-marketing",
"role": "owner"
}
}
account is the first account on the user (same ordering as the dashboard default). Multi-account users should prefer the accounts array to pick the correct workspace.
Published posts (sync)
GET /api/websites/{uuid}/published-posts
Authorization: Bearer TOKEN
Scope: websites:read.
Returns the same JSON shape as outbound webhook post.published deliveries—ideal for backfilling WordPress or verifying sync.
Query parameters
| Parameter | Default | Max |
|---|---|---|
per_page |
50 | 100 |
page |
1 | Standard page number for long result sets |
Example response
{
"data": [
{
"event": "post.published",
"website": { "uuid": "550e8400-e29b-41d4-a716-446655440000" },
"post": {
"id": 42,
"slug": "how-we-grew-organic-traffic",
"title": "How we grew organic traffic",
"meta_title": "...",
"meta_description": "...",
"published_at": "2026-05-20T14:30:00+00:00",
"url": "https://www.example.com/how-we-grew-organic-traffic",
"html_excerpt": "...",
"html": "<p>...</p>"
}
}
],
"meta": {
"current_page": 1,
"last_page": 3,
"per_page": 50,
"total": 120
}
}
Cover images appear under post.images when present (see Webhooks).
Webhook integrations
Manage HTTPS webhook endpoints that receive post.published events. Requires websites:manage or integrations:manage and Owner/Admin role.
List integrations
GET /api/websites/{uuid}/integrations
Authorization: Bearer TOKEN
Returns webhook integrations only (type: webhook).
{
"data": [
{
"id": 7,
"type": "webhook",
"name": "WordPress",
"url": "https://blog.example.com/wp-json/auto-blogger/v1/webhook",
"signing_configured": true,
"created_at": "2026-06-01T09:00:00+00:00"
}
]
}
signing_configured is true when a secret was saved (signature header enabled).
Create integration
POST /api/websites/{uuid}/integrations
Authorization: Bearer TOKEN
Content-Type: application/json
{
"name": "Production WordPress",
"url": "https://blog.example.com/wp-json/auto-blogger/v1/webhook",
"secret": "your-webhook-secret"
}
| Field | Rules |
|---|---|
url |
Required. Must be https:// |
name |
Optional. Defaults to WordPress |
secret |
Optional. Enables X-Webhook-Signature verification (webhooks guide) |
type |
Optional. Defaults to webhook |
201 Created with data object.
Delete integration
DELETE /api/websites/{uuid}/integrations/{integration_id}
Authorization: Bearer TOKEN
204 No Content. 404 if the integration belongs to another website.
WordPress OAuth config (plugin setup)
This URL is not on the authenticated API prefix. It is public so the WordPress plugin can read the OAuth client ID before the user signs in.
GET /oauth/wordpress/oauth-config
No bearer token. Used by the WordPress plugin and custom OAuth clients to discover client ID and paths.
Example — configured
{
"oauth_client_id": "019e9234-0000-7000-8000-000000000001",
"oauth_connect_path": "/oauth/wordpress/connect",
"oauth_redirect_path": "/oauth/wordpress/callback",
"oauth_redirect_uri": "https://auto-blogger.ai/oauth/wordpress/callback"
}
Example — not configured
503 Service Unavailable
{
"message": "WordPress OAuth is not configured on this server."
}
(Exact wording may vary; status code 503 indicates OAuth is unavailable.)
Connect flow (summary)
- Plugin calls
oauth-config. - Browser opens
/oauth/wordpress/connectwith:return_url— plugin admin URL (validated)code_challenge/code_challenge_method=S256(PKCE)
- User signs in and approves scopes (default client requests
websites:read integrations:manage). - Callback returns to WordPress; plugin exchanges code at
POST /oauth/token.
Agents that need topic management should request websites:manage (or rely on integrations:manage, which also grants website writes) during authorization.
Related
- Webhooks — payload fields and signature verification
- WordPress plugin — end-user setup
- Websites API — site CRUD
- Content topics API — priority queue