Start here
List projects, read pages, and download WordPress-ready packages.
- Base URL
https://build.itspagecraft.com- Authentication
- Bearer token
- Scopes
projects:readpackages:read
Discovery
Get the current WordPress and MCP endpoints.
GET
/.well-known/pagecraft-integrationscurl https://build.itspagecraft.com/.well-known/pagecraft-integrations
WordPress
Connect with OAuth 2.0 Authorization Code with PKCE.
- 1Authorize
Send the user to the authorization endpoint.
- 2Exchange
Exchange the returned code and PKCE verifier for a token.
- 3Import
List projects and download a project or page package.
Authorization parameters
| Parameter | Value |
|---|---|
installation_id | Stable WordPress installation ID |
redirect_uri | Pagecraft callback in WordPress admin |
code_challenge | Base64url SHA-256 PKCE challenge |
code_challenge_method | S256 |
state | Random value checked on return |
Callback rule
Use the exact Pagecraft callback in WordPress admin. HTTPS is required except on localhost and .local sites.
Endpoints
| Method | Path | Use |
|---|---|---|
| GET | /v1/integrations/wordpress/authorize | Start the PKCE connection |
| POST | /v1/integrations/wordpress/token | Issue or refresh an access token |
| GET | /v1/integrations/wordpress/connection | Check the current connection |
| GET | /v1/integrations/wordpress/catalog | List owned projects and pages |
| GET | /v1/integrations/wordpress/projects/{projectId}/package | Download a project package |
| GET | /v1/integrations/wordpress/projects/{projectId}/pages/{pageId}/package | Download one page package |
| POST | /v1/integrations/wordpress/revoke | Disconnect the credential |
Exchange the code
curl https://build.itspagecraft.com/v1/integrations/wordpress/token \
--header "Content-Type: application/json" \
--data '{
"grant_type": "authorization_code",
"code": "AUTHORIZATION_CODE",
"code_verifier": "PKCE_VERIFIER",
"redirect_uri": "WORDPRESS_CALLBACK"
}'
Returns access and refresh tokens.
Read the catalog
curl https://build.itspagecraft.com/v1/integrations/wordpress/catalog \
--header "Authorization: Bearer $PAGECRAFT_TOKEN"
Access tokens expire after 15 minutes and can be refreshed without reconnecting.
MCP
Connect an MCP client at POST /mcp using a Pagecraft bearer token.
pagecraft_list_projects- Lists projects owned by the connected account.
pagecraft_list_pages- Lists pages in a project. Input:
projectId. pagecraft_get_page- Reads one page. Input:
projectIdandpageId.
MCP uses the same read-only Pagecraft integration token as WordPress.
Access
- Read-only access is limited to projects you own.
- Imports are manual and create an independent WordPress copy.
- Pagecraft never receives the WordPress password.
Common responses
| Status | Meaning |
|---|---|
400 | The grant, redirect, or PKCE values are invalid. |
401 | The token is missing, expired, or revoked. Reconnect or refresh it. |
403 | The account does not own a Pagecraft project. |
404 | The project or page was not found for this account. |
422 | Pagecraft could not create the requested package. |
503 | The integration service is temporarily unavailable. |