LanzaTech menu-items API
The menu-items API from LanzaTech — 4 operation(s) for menu-items.
The menu-items API from LanzaTech — 4 operation(s) for menu-items.
openapi: 3.0.3
info:
title: LanzaTech WordPress REST block-directory menu-items API
version: wp/v2
description: 'The public WordPress REST API served by lanzatech.com. Derived faithfully from the provider''s own live discovery document at https://lanzatech.com/wp-json/ on 2026-07-19. Alongside the standard WordPress content types (posts, pages, media, categories, tags), LanzaTech publishes five custom content types that model the company itself: news (external news coverage), employee, board-member, download (published reports and life-cycle assessments) and testimonial. Read operations are publicly accessible without authentication; write operations require a WordPress application password.'
contact:
name: LanzaTech
url: https://lanzatech.com/contact/
termsOfService: https://lanzatech.com/terms-of-use/
x-generated: '2026-07-19'
x-method: derived
x-source: https://lanzatech.com/wp-json/
servers:
- url: https://lanzatech.com/wp-json
description: Production
tags:
- name: menu-items
paths:
/wp/v2/menu-items:
get:
operationId: listMenuItems
summary: GET /wp/v2/menu-items
tags:
- menu-items
parameters:
- name: context
in: query
required: false
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
- name: page
in: query
required: false
description: Current page of the collection.
schema:
type: integer
default: 1
minimum: 1
- name: per_page
in: query
required: false
description: Maximum number of items to be returned in result set.
schema:
type: integer
default: 100
minimum: 1
maximum: 100
- name: search
in: query
required: false
description: Limit results to those matching a string.
schema:
type: string
- name: after
in: query
required: false
description: Limit response to posts published after a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: modified_after
in: query
required: false
description: Limit response to posts modified after a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: before
in: query
required: false
description: Limit response to posts published before a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: modified_before
in: query
required: false
description: Limit response to posts modified before a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: exclude
in: query
required: false
description: Ensure result set excludes specific IDs.
schema:
type: array
default: []
items:
type: integer
- name: include
in: query
required: false
description: Limit result set to specific IDs.
schema:
type: array
default: []
items:
type: integer
- name: offset
in: query
required: false
description: Offset the result set by a specific number of items.
schema:
type: integer
- name: order
in: query
required: false
description: Order sort attribute ascending or descending.
schema:
type: string
enum:
- asc
- desc
default: asc
- name: orderby
in: query
required: false
description: Sort collection by object attribute.
schema:
type: string
enum:
- author
- date
- id
- include
- modified
- parent
- relevance
- slug
- include_slugs
- title
- menu_order
default: menu_order
- name: slug
in: query
required: false
description: Limit result set to posts with one or more specific slugs.
schema:
type: array
items:
type: string
- name: status
in: query
required: false
description: Limit result set to posts assigned one or more statuses.
schema:
type: array
default: publish
items:
type: string
enum:
- publish
- future
- draft
- pending
- private
- trash
- auto-draft
- inherit
- request-pending
- request-confirmed
- request-failed
- request-completed
- any
- name: tax_relation
in: query
required: false
description: Limit result set based on relationship between multiple taxonomies.
schema:
type: string
enum:
- AND
- OR
- name: menus
in: query
required: false
description: Limit result set to items with specific terms assigned in the menus taxonomy.
schema:
type: object
- name: menus_exclude
in: query
required: false
description: Limit result set to items except those with specific terms assigned in the menus taxonomy.
schema:
type: object
- name: menu_order
in: query
required: false
description: Limit result set to posts with a specific menu_order value.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
headers:
X-WP-Total:
description: Total items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total pages in the collection.
schema:
type: integer
Link:
description: RFC 8288 pagination links (rel=next / rel=prev).
schema:
type: string
'400': &id001
$ref: '#/components/responses/Error'
'404': *id001
post:
operationId: createMenuItems
summary: POST /wp/v2/menu-items
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: The title for the object.
type:
type: string
enum:
- taxonomy
- post_type
- post_type_archive
- custom
default: custom
description: The family of objects originally represented, such as "post_type" or "taxonomy".
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
default: publish
description: A named status for the object.
parent:
type: integer
default: 0
minimum: 0
description: The ID for the parent of the object.
attr_title:
type: string
description: Text for the title attribute of the link element for this menu item.
classes:
type: array
items:
type: string
description: Class names for the link element of this menu item.
description:
type: string
description: The description of this menu item.
menu_order:
type: integer
default: 1
minimum: 1
description: The DB ID of the nav_menu_item that is this item's menu parent, if any, otherwise 0.
object:
type: string
description: The type of object originally represented, such as "category", "post", or "attachment".
object_id:
type: integer
default: 0
minimum: 0
description: The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.
target:
type: string
enum:
- _blank
- ''
description: The target attribute of the link element for this menu item.
url:
type: string
format: uri
description: The URL to which this menu item points.
xfn:
type: array
items:
type: string
description: The XFN relationship expressed in the link of this menu item.
menus:
type: integer
description: The terms assigned to the object in the nav_menu taxonomy.
meta:
type: object
description: Meta fields.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id002
$ref: '#/components/responses/Error'
'401': *id002
'403': *id002
'404': *id002
/wp/v2/menu-items/{id}:
parameters:
- name: id
in: path
required: true
description: 'Route-matched value (WordPress route pattern: [\d]+).'
schema:
type: integer
get:
operationId: getMenuItemsById
summary: GET /wp/v2/menu-items/{id}
tags:
- menu-items
parameters:
- name: id
in: query
required: false
description: Unique identifier for the post.
schema:
type: integer
- name: context
in: query
required: false
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'404':
$ref: '#/components/responses/Error'
post:
operationId: createMenuItemsById
summary: POST /wp/v2/menu-items/{id}
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Unique identifier for the post.
title:
type: string
description: The title for the object.
type:
type: string
enum:
- taxonomy
- post_type
- post_type_archive
- custom
description: The family of objects originally represented, such as "post_type" or "taxonomy".
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
description: A named status for the object.
parent:
type: integer
minimum: 0
description: The ID for the parent of the object.
attr_title:
type: string
description: Text for the title attribute of the link element for this menu item.
classes:
type: array
items:
type: string
description: Class names for the link element of this menu item.
description:
type: string
description: The description of this menu item.
menu_order:
type: integer
minimum: 1
description: The DB ID of the nav_menu_item that is this item's menu parent, if any, otherwise 0.
object:
type: string
description: The type of object originally represented, such as "category", "post", or "attachment".
object_id:
type: integer
minimum: 0
description: The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.
target:
type: string
enum:
- _blank
- ''
description: The target attribute of the link element for this menu item.
url:
type: string
format: uri
description: The URL to which this menu item points.
xfn:
type: array
items:
type: string
description: The XFN relationship expressed in the link of this menu item.
menus:
type: integer
description: The terms assigned to the object in the nav_menu taxonomy.
meta:
type: object
description: Meta fields.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id003
$ref: '#/components/responses/Error'
'401': *id003
'403': *id003
'404': *id003
put:
operationId: replaceMenuItemsById
summary: PUT /wp/v2/menu-items/{id}
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Unique identifier for the post.
title:
type: string
description: The title for the object.
type:
type: string
enum:
- taxonomy
- post_type
- post_type_archive
- custom
description: The family of objects originally represented, such as "post_type" or "taxonomy".
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
description: A named status for the object.
parent:
type: integer
minimum: 0
description: The ID for the parent of the object.
attr_title:
type: string
description: Text for the title attribute of the link element for this menu item.
classes:
type: array
items:
type: string
description: Class names for the link element of this menu item.
description:
type: string
description: The description of this menu item.
menu_order:
type: integer
minimum: 1
description: The DB ID of the nav_menu_item that is this item's menu parent, if any, otherwise 0.
object:
type: string
description: The type of object originally represented, such as "category", "post", or "attachment".
object_id:
type: integer
minimum: 0
description: The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.
target:
type: string
enum:
- _blank
- ''
description: The target attribute of the link element for this menu item.
url:
type: string
format: uri
description: The URL to which this menu item points.
xfn:
type: array
items:
type: string
description: The XFN relationship expressed in the link of this menu item.
menus:
type: integer
description: The terms assigned to the object in the nav_menu taxonomy.
meta:
type: object
description: Meta fields.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id004
$ref: '#/components/responses/Error'
'401': *id004
'403': *id004
'404': *id004
patch:
operationId: updateMenuItemsById
summary: PATCH /wp/v2/menu-items/{id}
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Unique identifier for the post.
title:
type: string
description: The title for the object.
type:
type: string
enum:
- taxonomy
- post_type
- post_type_archive
- custom
description: The family of objects originally represented, such as "post_type" or "taxonomy".
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
description: A named status for the object.
parent:
type: integer
minimum: 0
description: The ID for the parent of the object.
attr_title:
type: string
description: Text for the title attribute of the link element for this menu item.
classes:
type: array
items:
type: string
description: Class names for the link element of this menu item.
description:
type: string
description: The description of this menu item.
menu_order:
type: integer
minimum: 1
description: The DB ID of the nav_menu_item that is this item's menu parent, if any, otherwise 0.
object:
type: string
description: The type of object originally represented, such as "category", "post", or "attachment".
object_id:
type: integer
minimum: 0
description: The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.
target:
type: string
enum:
- _blank
- ''
description: The target attribute of the link element for this menu item.
url:
type: string
format: uri
description: The URL to which this menu item points.
xfn:
type: array
items:
type: string
description: The XFN relationship expressed in the link of this menu item.
menus:
type: integer
description: The terms assigned to the object in the nav_menu taxonomy.
meta:
type: object
description: Meta fields.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id005
$ref: '#/components/responses/Error'
'401': *id005
'403': *id005
'404': *id005
delete:
operationId: deleteMenuItemsById
summary: DELETE /wp/v2/menu-items/{id}
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Unique identifier for the post.
force:
type: boolean
default: false
description: Whether to bypass Trash and force deletion.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id006
$ref: '#/components/responses/Error'
'401': *id006
'403': *id006
'404': *id006
/wp/v2/menu-items/{id}/autosaves:
parameters:
- name: id
in: path
required: true
description: 'Route-matched value (WordPress route pattern: [\d]+).'
schema:
type: integer
get:
operationId: getMenuItemsAutosavesById
summary: GET /wp/v2/menu-items/{id}/autosaves
tags:
- menu-items
parameters:
- name: parent
in: query
required: false
description: The ID for the parent of the autosave.
schema:
type: integer
- name: context
in: query
required: false
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'404':
$ref: '#/components/responses/Error'
post:
operationId: createMenuItemsAutosavesById
summary: POST /wp/v2/menu-items/{id}/autosaves
tags:
- menu-items
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
parent:
type: integer
minimum: 0
description: The ID for the parent of the object.
title:
type: string
description: The title for the object.
type:
type: string
enum:
- taxonomy
- post_type
- post_type_archive
- custom
description: The family of objects originally represented, such as "post_type" or "taxonomy".
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
description: A named status for the object.
attr_title:
type: string
description: Text for the title attribute of the link element for this menu item.
classes:
type: array
items:
type: string
description: Class names for the link element of this menu item.
description:
type: string
description: The description of this menu item.
menu_order:
type: integer
minimum: 1
description: The DB ID of the nav_menu_item that is this item's menu parent, if any, otherwise 0.
object:
type: string
description: The type of object originally represented, such as "category", "post", or "attachment".
object_id:
type: integer
minimum: 0
description: The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.
target:
type: string
enum:
- _blank
- ''
description: The target attribute of the link element for this menu item.
url:
type: string
format: uri
description: The URL to which this menu item points.
xfn:
type: array
items:
type: string
description: The XFN relationship expressed in the link of this menu item.
menus:
type: integer
description: The terms assigned to the object in the nav_menu taxonomy.
meta:
type: object
description: Meta fields.
security:
- applicationPassword: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400': &id007
$ref: '#/components/responses/Error'
'401': *id007
'403': *id007
'404': *id007
/wp/v2/menu-items/{parent}/autosaves/{id}:
parameters:
- name: parent
in: path
required: true
description: 'Route-matched value (WordPress route pattern: [\d]+).'
schema:
type: integer
- name: id
in: path
required: true
description: 'Route-matched value (WordPress route pattern: [\d]+).'
schema:
type: integer
get:
operationId: getMenuItemsAutosavesByParentById
summary: GET /wp/v2/menu-items/{parent}/autosaves/{id}
tags:
- menu-items
parameters:
- name: parent
in: query
required: false
description: The ID for the parent of the autosave.
schema:
type: integer
- name: id
in: query
required: false
description: The ID for the autosave.
schema:
type: integer
- name: context
in: query
required: false
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'404':
$ref: '#/components/responses/Error'
components:
responses:
Error:
description: WordPress REST API error envelope.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
description: The WordPress REST API error envelope, captured verbatim from live responses.
properties:
code:
type: string
description: Machine-readable error code, e.g. rest_post_invalid_id.
message:
type: string
description: Human-readable error message.
data:
type: object
properties:
status:
type: integer
description: HTTP status code.
params:
type: object
description: Per-parameter validation messages (rest_invalid_param).
details:
type: object
description: Per-parameter structured error details.
securitySchemes:
applicationPassword:
type: http
scheme: basic
description: WordPress application passwords, advertised by the API root document at https://lanzatech.com/wp-json/ (authentication.application-passwords.endpoints.authorization = https://lanzatech.com/wp-admin/authorize-application.php). Sent as HTTP Basic credentials. Only required for write operations; all read operations captured here are public.