openapi: 3.1.0 info: title: Global Partners LP Pages API version: wp/v2 summary: Pages from the public WordPress REST API served by www.globalp.com. description: 'Published website pages. This contract was derived faithfully from Global Partners LP''s own live WordPress REST API discovery document at https://www.globalp.com/wp-json/ on 2026-09-12. Every path, method, parameter name, type, description, enum and default below is copied from that document; response schemas are inferred from the structure of real unauthenticated responses. Nothing is invented. Read operations on this collection are public and unauthenticated. Write operations are present in the provider''s route table but are capability-gated: an anonymous request returns HTTP 401 `rest_forbidden`. Global Partners publishes no developer program, no API keys and no API documentation; this is the site''s platform API, not a supported product.' contact: name: Global Partners LP url: https://www.globalp.com/contact-us termsOfService: https://www.globalp.com/terms-of-use x-generated: '2026-09-12' x-method: derived x-source: https://www.globalp.com/wp-json/ servers: - url: https://www.globalp.com/wp-json description: Production — www.globalp.com WordPress REST API tags: - name: pages description: Published website pages. paths: /wp/v2/pages: get: operationId: listPages summary: List pages description: Published website pages. tags: - pages parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: author in: query required: false schema: type: array default: [] items: type: integer description: Limit result set to posts assigned to specific authors. - name: author_exclude in: query required: false schema: type: array default: [] items: type: integer description: Ensure result set excludes posts assigned to specific authors. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: exclude in: query required: false schema: type: array default: [] items: type: integer description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array default: [] items: type: integer description: Limit result set to specific IDs. - name: menu_order in: query required: false schema: type: integer description: Limit result set to posts with a specific menu_order value. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title - menu_order default: date description: Sort collection by post attribute. - name: parent in: query required: false schema: type: array default: [] items: type: integer description: Limit result set to items with particular parent IDs. - name: parent_exclude in: query required: false schema: type: array default: [] items: type: integer description: Limit result set to all items except those of a particular parent ID. - name: search_columns in: query required: false schema: type: array default: [] items: enum: - post_title - post_content - post_excerpt type: string description: Array of column names to be searched. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: status in: query required: false schema: type: array default: publish items: enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - any type: string description: Limit result set to posts assigned one or more statuses. responses: '200': description: Success. content: application/json: schema: type: array items: $ref: '#/components/schemas/Pages' headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current per_page size. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string '400': description: Invalid parameter (rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: createPages summary: Create a page record description: Create a page record. Requires an authenticated WordPress user with the relevant capability; anonymous requests receive 401 rest_forbidden. tags: - pages requestBody: required: true content: application/json: schema: type: object properties: date: type: string format: date-time description: The date the post was published, in the site's timezone. date_gmt: type: string format: date-time description: The date the post was published, as GMT. slug: type: string description: An alphanumeric identifier for the post unique to its type. status: type: string enum: - publish - future - draft - pending - private - acf-disabled description: A named status for the post. password: type: string description: A password to protect access to the content and excerpt. parent: type: integer description: The ID for the parent of the post. title: type: object description: The title for the post. content: type: object description: The content for the post. author: type: integer description: The ID for the author of the post. excerpt: type: object description: The excerpt for the post. featured_media: type: integer description: The ID of the featured media for the post. comment_status: type: string enum: - open - closed description: Whether or not comments are open on the post. ping_status: type: string enum: - open - closed description: Whether or not the post can be pinged. menu_order: type: integer description: The order of the post in relation to other posts. meta: type: object description: Meta fields. template: type: string description: The theme file to use to display the post. security: - applicationPassword: [] responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/Pages' '400': description: Invalid parameter (rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Not authenticated, or the authenticated user lacks the capability (rest_forbidden). content: application/json: schema: $ref: '#/components/schemas/Error' /wp/v2/pages/{id}: get: operationId: getPages summary: Retrieve one page record description: Retrieve one page record. Requires an authenticated WordPress user with the relevant capability; anonymous requests receive 401 rest_forbidden. tags: - pages parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the page. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/Pages' '400': description: Invalid parameter (rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: No record matches the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: updatePages summary: Update one page record description: Update one page record. Requires an authenticated WordPress user with the relevant capability; anonymous requests receive 401 rest_forbidden. tags: - pages parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the page. requestBody: required: true content: application/json: schema: type: object properties: date: type: string format: date-time description: The date the post was published, in the site's timezone. date_gmt: type: string format: date-time description: The date the post was published, as GMT. slug: type: string description: An alphanumeric identifier for the post unique to its type. status: type: string enum: - publish - future - draft - pending - private - acf-disabled description: A named status for the post. password: type: string description: A password to protect access to the content and excerpt. parent: type: integer description: The ID for the parent of the post. title: type: object description: The title for the post. content: type: object description: The content for the post. author: type: integer description: The ID for the author of the post. excerpt: type: object description: The excerpt for the post. featured_media: type: integer description: The ID of the featured media for the post. comment_status: type: string enum: - open - closed description: Whether or not comments are open on the post. ping_status: type: string enum: - open - closed description: Whether or not the post can be pinged. menu_order: type: integer description: The order of the post in relation to other posts. meta: type: object description: Meta fields. template: type: string description: The theme file to use to display the post. security: - applicationPassword: [] responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/Pages' '400': description: Invalid parameter (rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Not authenticated, or the authenticated user lacks the capability (rest_forbidden). content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: No record matches the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: deletePages summary: Delete one page record description: Delete one page record. Requires an authenticated WordPress user with the relevant capability; anonymous requests receive 401 rest_forbidden. tags: - pages parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the page. - name: force in: query required: false schema: type: boolean default: false description: Whether to bypass Trash and force deletion. security: - applicationPassword: [] responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/Pages' '400': description: Invalid parameter (rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Not authenticated, or the authenticated user lacks the capability (rest_forbidden). content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: No record matches the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Error: type: object description: The WordPress REST API error envelope. properties: code: type: string description: Machine-readable error code, e.g. rest_forbidden, rest_post_invalid_id. message: type: string description: Human-readable error message. data: type: object properties: status: type: integer description: The HTTP status code. Pages: type: object properties: id: type: integer date: type: string date_gmt: type: string guid: type: object properties: rendered: type: string modified: type: string modified_gmt: type: string slug: type: string status: type: string type: type: string link: type: string title: type: object properties: rendered: type: string content: type: object properties: rendered: type: string protected: type: boolean excerpt: type: object properties: rendered: type: string protected: type: boolean author: type: integer featured_media: type: integer parent: type: integer menu_order: type: integer comment_status: type: string ping_status: type: string template: type: string meta: type: object properties: _acf_changed: type: boolean content-type: type: string footnotes: type: string class_list: type: array items: type: string acf: type: array items: {} _links: type: object properties: self: type: array items: type: object properties: href: type: string targetHints: type: object properties: allow: {} collection: type: array items: type: object properties: href: type: string about: type: array items: type: object properties: href: type: string author: type: array items: type: object properties: embeddable: type: boolean href: type: string replies: type: array items: type: object properties: embeddable: type: boolean href: type: string version-history: type: array items: type: object properties: count: type: integer href: type: string up: type: array items: type: object properties: embeddable: type: boolean href: type: string wp:attachment: type: array items: type: object properties: href: type: string curies: type: array items: type: object properties: name: type: string href: type: string templated: type: boolean description: A Page record as returned by the public, unauthenticated collection endpoint. Structure derived from a live response on 2026-09-12; no values are reproduced. securitySchemes: applicationPassword: type: http scheme: basic description: WordPress application passwords (HTTP Basic). The site's discovery document advertises the authorization endpoint at https://www.globalp.com/wp-admin/authorize-application.php. Read operations require no credentials.