Starfish Space Template Parts API
Block theme template parts.
Block theme template parts.
openapi: 3.2.0
info:
title: Starfish Space Website Content API (WordPress REST v2) Template Parts API
version: '2'
description: 'The public WordPress REST API served by Starfish Space at https://www.starfishspace.com/wp-json/wp/v2. Starfish Space is a Tukwila, Washington satellite-servicing company building the Otter spacecraft; this API is the content interface behind starfishspace.com (news/press releases, pages, media, taxonomies), not a spacecraft, telemetry or mission-data API. Read operations are available anonymously; write operations require an authenticated WordPress user.
This document was DERIVED by API Evangelist from documents the API itself publishes: the machine-readable route index at /wp-json/wp/v2 and the item JSON Schemas returned by HTTP OPTIONS on each collection route. No paths, parameters or schema properties were invented.'
contact:
name: Starfish Space
url: https://www.starfishspace.com/contact/
x-derived-from:
- https://www.starfishspace.com/wp-json/wp/v2
- https://www.starfishspace.com/wp-json/wp/v2/{resource} (HTTP OPTIONS)
servers:
- url: https://www.starfishspace.com/wp-json
description: Production
tags:
- name: template-parts
description: Block theme template parts.
paths:
/wp/v2/template-parts:
get:
operationId: listTemplateParts
tags:
- template-parts
summary: List template parts
description: Retrieve a collection of template parts from the Starfish Space WordPress REST API.
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: wp_id
in: query
required: false
description: Limit to the specified post id.
schema:
type: integer
- name: area
in: query
required: false
description: Limit to the specified template part area.
schema:
type: string
- name: post_type
in: query
required: false
description: Post type to get the templates for.
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
post:
operationId: createTemplateParts
tags:
- template-parts
summary: Create or update template parts
description: Create or update a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
slug:
type: string
minLength: 1
pattern: '[a-zA-Z0-9_\%-]+'
description: Unique slug identifying the template.
theme:
type: string
description: Theme identifier for the template.
type:
type: string
description: Type of template.
content:
default: ''
type:
- object
- string
properties:
raw:
description: Content for the template, as it exists in the database.
type: string
context:
- view
- edit
block_version:
description: Version of the content block format used by the template.
type: integer
context:
- edit
readonly: true
description: Content of template.
title:
default: ''
type:
- object
- string
properties:
raw:
description: Title for the template, as it exists in the database.
type: string
context:
- view
- edit
- embed
rendered:
description: HTML title for the template, transformed for display.
type: string
context:
- view
- edit
- embed
readonly: true
description: Title of template.
description:
default: ''
type: string
description: Description of template.
status:
default: publish
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: Status of template.
author:
type: integer
description: The ID for the author of the template.
area:
type: string
description: Where the template part is intended for use (header, footer, etc.)
required:
- slug
security:
- basicAuth: []
- cookieNonce: []
/wp/v2/template-parts/lookup:
get:
operationId: listTemplatePartsLookup
tags:
- template-parts
summary: List template parts
description: Retrieve a collection of template parts from the Starfish Space WordPress REST API.
parameters:
- name: slug
in: query
required: true
description: The slug of the template to get the fallback for
schema:
type: string
- name: is_custom
in: query
required: false
description: Indicates if a template is custom or part of the template hierarchy
schema:
type: boolean
- name: template_prefix
in: query
required: false
description: The template prefix for the created template. This is used to extract the main template type, e.g. in `taxonomy-books` extracts the `taxonomy`
schema:
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
/wp/v2/template-parts/{id}:
get:
operationId: getTemplatePartsById
tags:
- template-parts
summary: Retrieve a single template part
description: Retrieve a single template part by route parameter from the Starfish Space WordPress REST API.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
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
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
post:
operationId: createTemplatePartsById
tags:
- template-parts
summary: Create or update template part
description: Create or update a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: string
minLength: 1
pattern: '[a-zA-Z0-9_\%-]+'
description: Unique slug identifying the template.
theme:
type: string
description: Theme identifier for the template.
type:
type: string
description: Type of template.
content:
type:
- object
- string
properties:
raw:
description: Content for the template, as it exists in the database.
type: string
context:
- view
- edit
block_version:
description: Version of the content block format used by the template.
type: integer
context:
- edit
readonly: true
description: Content of template.
title:
type:
- object
- string
properties:
raw:
description: Title for the template, as it exists in the database.
type: string
context:
- view
- edit
- embed
rendered:
description: HTML title for the template, transformed for display.
type: string
context:
- view
- edit
- embed
readonly: true
description: Title of template.
description:
type: string
description: Description of template.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: Status of template.
author:
type: integer
description: The ID for the author of the template.
area:
type: string
description: Where the template part is intended for use (header, footer, etc.)
security:
- basicAuth: []
- cookieNonce: []
put:
operationId: updateTemplatePartsById
tags:
- template-parts
summary: Update template part
description: Update a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: string
minLength: 1
pattern: '[a-zA-Z0-9_\%-]+'
description: Unique slug identifying the template.
theme:
type: string
description: Theme identifier for the template.
type:
type: string
description: Type of template.
content:
type:
- object
- string
properties:
raw:
description: Content for the template, as it exists in the database.
type: string
context:
- view
- edit
block_version:
description: Version of the content block format used by the template.
type: integer
context:
- edit
readonly: true
description: Content of template.
title:
type:
- object
- string
properties:
raw:
description: Title for the template, as it exists in the database.
type: string
context:
- view
- edit
- embed
rendered:
description: HTML title for the template, transformed for display.
type: string
context:
- view
- edit
- embed
readonly: true
description: Title of template.
description:
type: string
description: Description of template.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: Status of template.
author:
type: integer
description: The ID for the author of the template.
area:
type: string
description: Where the template part is intended for use (header, footer, etc.)
security:
- basicAuth: []
- cookieNonce: []
patch:
operationId: updateTemplatePartsById2
tags:
- template-parts
summary: Update template part
description: Update a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: string
minLength: 1
pattern: '[a-zA-Z0-9_\%-]+'
description: Unique slug identifying the template.
theme:
type: string
description: Theme identifier for the template.
type:
type: string
description: Type of template.
content:
type:
- object
- string
properties:
raw:
description: Content for the template, as it exists in the database.
type: string
context:
- view
- edit
block_version:
description: Version of the content block format used by the template.
type: integer
context:
- edit
readonly: true
description: Content of template.
title:
type:
- object
- string
properties:
raw:
description: Title for the template, as it exists in the database.
type: string
context:
- view
- edit
- embed
rendered:
description: HTML title for the template, transformed for display.
type: string
context:
- view
- edit
- embed
readonly: true
description: Title of template.
description:
type: string
description: Description of template.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: Status of template.
author:
type: integer
description: The ID for the author of the template.
area:
type: string
description: Where the template part is intended for use (header, footer, etc.)
security:
- basicAuth: []
- cookieNonce: []
delete:
operationId: deleteTemplatePartsById
tags:
- template-parts
summary: Delete template part
description: Delete a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
schema:
type: integer
- name: force
in: query
required: false
description: Whether to bypass Trash and force deletion.
schema:
type: boolean
default: false
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
security:
- basicAuth: []
- cookieNonce: []
/wp/v2/template-parts/{id}/autosaves:
get:
operationId: getTemplatePartsByIdAutosaves
tags:
- template-parts
summary: Retrieve a single template part
description: Retrieve a single template part by route parameter from the Starfish Space WordPress REST API.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
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
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
post:
operationId: createTemplatePartsByIdAutosaves
tags:
- template-parts
summary: Create or update template part
description: Create or update a template part via the Starfish Space WordPress REST API. Requires an authenticated WordPress user with sufficient capabilities.
parameters:
- name: id
in: path
required: true
description: WordPress route parameter id.
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'404':
description: No route or resource matched the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: string
minLength: 1
pattern: '[a-zA-Z0-9_\%-]+'
description: Unique slug identifying the template.
theme:
type: string
description: Theme identifier for the template.
type:
type: string
description: Type of template.
content:
type:
- object
- string
properties:
raw:
description: Content for the template, as it exists in the database.
type: string
context:
- view
- edit
block_version:
description: Version of the content block format used by the template.
type: integer
context:
- edit
readonly: true
description: Content of template.
title:
type:
- object
- string
properties:
raw:
description: Title for the template, as it exists in the database.
type: string
context:
- view
- edit
- embed
rendered:
description: HTML title for the template, transformed for display.
type: string
context:
- view
- edit
- embed
readonly: true
description: Title of template.
description:
type: string
description: Description of template.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: Status of template.
author:
type: integer
description: The ID for the author of the template.
area:
type: string
description: Where the template part is intended for use (header, footer, etc.)
security:
- basicAuth: []
- cookieNonce: []
/wp/v2/template-parts/{parent}/autosaves/{id}:
get:
operationId: getTemplatePartsByParentAutosavesById
tags:
- template-parts
summary: Retrieve a single template part
description: Retrieve a single template part by route parameter from the Starfish Space WordPress REST API.
parameters:
- name: parent
in: path
required: true
description: WordPress route parameter parent.
schema:
type: integer
- name: id
in: path
required: true
description: WordPress route parameter id.
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
'400':
description: Invalid parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
'403':
description: Not allowed for the current user.
content:
application/json:
schema:
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/starfish-space/refs/heads/main/openapi/starfish-space-template-parts-api-openapi.yml