Skip to content

Get page-to-package binding

GET
/wp-json/wp2lms-pro/embed-packages/v1/pages/{page_id}/package
curl --request GET \
--url 'https://example.com/wp-json/wp2lms-pro/embed-packages/v1/pages/128/package?blog_id=1' \
--header 'X-WP-Nonce: <X-WP-Nonce>'

Reads WordPress page replace meta (PagePackageReplace). page_id is the WordPress page ID (post_type=page), not blog_id and not the package id. If the post is not a page — 404 embed_packages_page_not_found. Does not create or change the binding. resolved is the integer package ID when replace is enabled, the package is published, and the launch file is readable on disk; otherwise JSON null (it is not a URL object). Requires manage_network (multisite) or edit_pages. Cookie + X-WP-Nonce or Application Password.

page_id
required
integer
>= 1

WordPress page ID (post_type=page) the embed package is bound to. Not blog_id and not the package id. If the post is not a page — 404 embed_packages_page_not_found.

Example
128
blog_id
integer
>= 1

Network site ID (switch_to_blog). Optional: defaults to the request current blog. Not a package id and not page_id. Minimum 1; on a single site it must match the current site — otherwise 400 embed_packages_invalid_blog. In a network an unknown site or a site from another network is 404 embed_packages_unknown_blog.

Example
1

Current page-to-package binding (meta plus resolved).

Media typeapplication/json
object
page_id

WordPress page ID (post_type=page) the package is bound to. Not blog_id and not the package id.

integer
enabled

Whether replace is enabled (_wp2_embed_replace_with_package = “1”).

boolean
package_id

CPT package ID from page meta (0 if unset).

integer
alpine

Request Alpine wiring on replace (_wp2_embed_replace_alpine).

boolean
launch_path

Per-page launch override (_wp2_embed_replace_launch_path), without the package default. Empty — no override.

string
effective_launch_path

Actual launch HTML: page override or package meta.launch_path. On GET when unresolved — override only; on PUT when unresolved — empty string.

string
resolved

Package ID when replace is enabled, the package is published, and the launch file is readable on disk; otherwise JSON null. Not a URL object.

integer
nullable
Example
{
"page_id": 128,
"enabled": true,
"package_id": 42,
"alpine": false,
"launch_path": "about.html",
"effective_launch_path": "about.html",
"resolved": 42
}

Embed_packages_invalid_blog — blog_id < 1, or on a single site it does not match the current site.

Media typeapplication/json
object
code

WP_Error code (get_error_code()), e.g. embed_packages_not_found.

string
message

WP_Error text (get_error_message()).

string
data

WP_Error data. Usually { "status": 404 }. Ingest/materialize errors without status are returned by WordPress REST as 500.

object
Example
{
"code": "embed_packages_not_found",
"message": "Package not found.",
"data": {
"status": 404
}
}

Not authenticated. WordPress REST: rest_forbidden (status 401) when there is no cookie session. Cookie + X-WP-Nonce or Application Password.

Media typeapplication/json
object
code

WP_Error code (get_error_code()), e.g. embed_packages_not_found.

string
message

WP_Error text (get_error_message()).

string
data

WP_Error data. Usually { "status": 404 }. Ingest/materialize errors without status are returned by WordPress REST as 500.

object
Example
{
"code": "embed_packages_not_found",
"message": "Package not found.",
"data": {
"status": 404
}
}

Missing manage_network (multisite) or edit_pages (single site), or invalid REST nonce (rest_cookie_invalid_nonce).

Media typeapplication/json
object
code

WP_Error code (get_error_code()), e.g. embed_packages_not_found.

string
message

WP_Error text (get_error_message()).

string
data

WP_Error data. Usually { "status": 404 }. Ingest/materialize errors without status are returned by WordPress REST as 500.

object
Example
{
"code": "embed_packages_not_found",
"message": "Package not found.",
"data": {
"status": 404
}
}

Embed_packages_page_not_found — no WordPress page with this page_id; embed_packages_unknown_blog — unknown blog_id in the network.

Media typeapplication/json
object
code

WP_Error code (get_error_code()), e.g. embed_packages_not_found.

string
message

WP_Error text (get_error_message()).

string
data

WP_Error data. Usually { "status": 404 }. Ingest/materialize errors without status are returned by WordPress REST as 500.

object
Example
{
"code": "embed_packages_not_found",
"message": "Package not found.",
"data": {
"status": 404
}
}