Group14 Technologies Media API

Public, unauthenticated read access to the group14.technology media library and video library — factory and material photography, press imagery and the generated size variants of each attachment, plus the site-specific `video` custom post type and its category vocabulary. Verified live at 420 attachments and 15 videos across 3 video categories on 2026-08-22.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/group14-technologies-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

group14-technologies-media-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Group14 Technologies Media API
  version: wp/v2
  description: Public, unauthenticated read access to the group14.technology media library and video library — factory
    and material photography, press imagery and the generated size variants of each attachment, plus the site-specific
    `video` custom post type and its category vocabulary. Verified live at 420 attachments and 15 videos across
    3 video categories on 2026-08-22. Group14 publishes no API documentation; this surface was discovered by probe
    and derived from the server's own OPTIONS schema documents.
  contact:
    name: Group14 Technologies
    url: https://group14.technology/contact/
  x-derived-from: https://group14.technology/wp-json/ route index + per-route HTTP OPTIONS schema documents
  x-derived-on: '2026-08-22'
  x-api-evangelist-note: Third-party profile. Group14 Technologies is a silicon battery materials manufacturer and
    publishes no developer program, no API documentation and no SDKs. This document describes the anonymously readable
    WordPress REST content API behind group14.technology. Every path, parameter and schema here was read from the
    server's own published OPTIONS documents on 2026-08-22 — nothing is invented.
servers:
- url: https://group14.technology/wp-json
  description: Group14 Technologies WordPress REST API
tags:
- name: Media
  description: WordPress media attachments — photography, press assets and their generated size variants.
- name: Video
  description: The site-specific video custom post type.
- name: Taxonomy
  description: The video-category vocabulary.
paths:
  /wp/v2/media:
    get:
      operationId: listMediaItems
      summary: List media item records
      description: 'Anonymous, read-only listing of the `media` collection on group14.technology. Verified live
        on 2026-08-22; the collection answers `Allow: GET` without credentials.'
      tags:
      - Media
      parameters:
      - name: context
        in: query
        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
        description: Current page of the collection.
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
      - name: search
        in: query
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: after
        in: query
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: author_exclude
        in: query
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: before
        in: query
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: exclude
        in: query
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: search_semantics
        in: query
        description: How to interpret the search input.
        schema:
          type: string
          enum:
          - exact
      - name: offset
        in: query
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
      - name: parent
        in: query
        description: Limit result set to items with particular parent IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: parent_exclude
        in: query
        description: Limit result set to all items except those of a particular parent ID.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: search_columns
        in: query
        description: Array of column names to be searched.
        schema:
          type: array
          default: []
          items:
            enum:
            - post_title
            - post_content
            - post_excerpt
            type: string
      - name: slug
        in: query
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          default: inherit
          items:
            enum:
            - inherit
            - private
            - trash
            type: string
      - name: media_type
        in: query
        description: Limit result set to attachments of a particular media type or media types.
        schema:
          type: array
          default: null
          items:
            type: string
            enum:
            - image
            - video
            - text
            - application
            - audio
      - name: mime_type
        in: query
        description: Limit result set to attachments of a particular MIME type or MIME types.
        schema:
          type: array
          default: null
          items:
            type: string
      - name: wpml_language
        in: query
        description: WPML's language code
        schema:
          type: string
          enum:
          - zh-hans
          - en
          - de
          - ja
          - ko
      responses:
        '200':
          description: A page of media item records.
          headers:
            X-WP-Total: &id003
              description: Total number of records in the unpaginated collection.
              schema:
                type: integer
            X-WP-TotalPages: &id004
              description: Total number of pages available at the requested per_page.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items: &id001
                  $ref: '#/components/schemas/Attachment'
        '400': &id005
          description: Invalid parameter — `rest_invalid_param`. The WordPress REST API rejected a query argument
            (out-of-range `per_page`, unknown `orderby`, malformed date).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401': &id002
          description: Unauthorized — `rest_forbidden` / `rest_cannot_read`. Returned when a non-public field or
            route (`context=edit`, users, MCP, abilities) is requested anonymously.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/media/{id}:
    get:
      operationId: getMediaItem
      summary: Retrieve one media item record
      description: Anonymous, read-only retrieval of a single `media` record by its numeric WordPress id.
      tags:
      - Media
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the media item.
        schema:
          type: integer
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response. Anonymous callers
          may only use `view` and `embed`.
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
      responses:
        '200':
          description: The requested media item record.
          content:
            application/json:
              schema: *id001
        '401': *id002
        '404': &id007
          description: Not found — `rest_post_invalid_id`, `rest_no_route` or `rest_term_invalid`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/video:
    get:
      operationId: listVideos
      summary: List video records
      description: 'Anonymous, read-only listing of the `video` collection on group14.technology. Verified live
        on 2026-08-22; the collection answers `Allow: GET` without credentials.'
      tags:
      - Video
      parameters:
      - name: context
        in: query
        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
        description: Current page of the collection.
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
      - name: search
        in: query
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: after
        in: query
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: before
        in: query
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: exclude
        in: query
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: search_semantics
        in: query
        description: How to interpret the search input.
        schema:
          type: string
          enum:
          - exact
      - name: offset
        in: query
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
      - name: search_columns
        in: query
        description: Array of column names to be searched.
        schema:
          type: array
          default: []
          items:
            enum:
            - post_title
            - post_content
            - post_excerpt
            type: string
      - name: slug
        in: query
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        description: Limit result set to posts assigned one or more statuses.
        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
            - email_sent
            - email_failed
            - email_scheduled
            - any
            type: string
      - name: tax_relation
        in: query
        description: Limit result set based on relationship between multiple taxonomies.
        schema:
          type: string
          enum:
          - AND
          - OR
      - name: video-category
        in: query
        description: Limit result set to items with specific terms assigned in the video-category taxonomy.
        schema:
          type: object
      - name: video-category_exclude
        in: query
        description: Limit result set to items except those with specific terms assigned in the video-category taxonomy.
        schema:
          type: object
      - name: wpml_language
        in: query
        description: WPML's language code
        schema:
          type: string
          enum:
          - zh-hans
          - en
          - de
          - ja
          - ko
      responses:
        '200':
          description: A page of video records.
          headers:
            X-WP-Total: *id003
            X-WP-TotalPages: *id004
          content:
            application/json:
              schema:
                type: array
                items: &id006
                  $ref: '#/components/schemas/Video'
        '400': *id005
        '401': *id002
  /wp/v2/video/{id}:
    get:
      operationId: getVideo
      summary: Retrieve one video record
      description: Anonymous, read-only retrieval of a single `video` record by its numeric WordPress id.
      tags:
      - Video
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the video.
        schema:
          type: integer
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response. Anonymous callers
          may only use `view` and `embed`.
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
      responses:
        '200':
          description: The requested video record.
          content:
            application/json:
              schema: *id006
        '401': *id002
        '404': *id007
  /wp/v2/video-category:
    get:
      operationId: listVideoCategories
      summary: List video category records
      description: 'Anonymous, read-only listing of the `video-category` collection on group14.technology. Verified
        live on 2026-08-22; the collection answers `Allow: GET` without credentials.'
      tags:
      - Taxonomy
      parameters:
      - name: context
        in: query
        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
        description: Current page of the collection.
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
      - name: search
        in: query
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: exclude
        in: query
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: order
        in: query
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: orderby
        in: query
        description: Sort collection by term attribute.
        schema:
          type: string
          enum:
          - id
          - include
          - name
          - slug
          - include_slugs
          - term_group
          - description
          - count
          default: name
      - name: hide_empty
        in: query
        description: Whether to hide terms not assigned to any posts.
        schema:
          type: boolean
          default: false
      - name: parent
        in: query
        description: Limit result set to terms assigned to a specific parent.
        schema:
          type: integer
      - name: post
        in: query
        description: Limit result set to terms assigned to a specific post.
        schema:
          type: integer
          default: null
      - name: slug
        in: query
        description: Limit result set to terms with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: wpml_language
        in: query
        description: WPML's language code
        schema:
          type: string
          enum:
          - zh-hans
          - en
          - de
          - ja
          - ko
      responses:
        '200':
          description: A page of video category records.
          headers:
            X-WP-Total: *id003
            X-WP-TotalPages: *id004
          content:
            application/json:
              schema:
                type: array
                items: &id008
                  $ref: '#/components/schemas/VideoCategory'
        '400': *id005
        '401': *id002
  /wp/v2/video-category/{id}:
    get:
      operationId: getVideoCategory
      summary: Retrieve one video category record
      description: Anonymous, read-only retrieval of a single `video-category` record by its numeric WordPress id.
      tags:
      - Taxonomy
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the video category.
        schema:
          type: integer
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response. Anonymous callers
          may only use `view` and `embed`.
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
      responses:
        '200':
          description: The requested video category record.
          content:
            application/json:
              schema: *id008
        '401': *id002
        '404': *id007
components:
  schemas:
    Error:
      type: object
      description: WordPress REST API error envelope. This is NOT RFC 9457 problem+json; it is served as application/json.
      properties:
        code:
          type: string
          description: Machine-readable WordPress error slug, e.g. rest_invalid_param.
        message:
          type: string
          description: Human-readable message.
        data:
          type: object
          description: Additional context.
          properties:
            status:
              type: integer
              description: HTTP status code.
      required:
      - code
      - message
    Attachment:
      type: object
      title: attachment
      properties:
        date:
          description: The date the post was published, in the site's timezone.
          type: string
          format: date-time
        date_gmt:
          description: The date the post was published, as GMT.
          type: string
          format: date-time
        guid:
          description: The globally unique identifier for the post.
          type: object
          properties:
            raw:
              description: GUID for the post, as it exists in the database.
              type: string
            rendered:
              description: GUID for the post, transformed for display.
              type: string
        id:
          description: Unique identifier for the post.
          type: integer
        link:
          description: URL to the post.
          type: string
          format: uri
        modified:
          description: The date the post was last modified, in the site's timezone.
          type: string
          format: date-time
        modified_gmt:
          description: The date the post was last modified, as GMT.
          type: string
          format: date-time
        slug:
          description: An alphanumeric identifier for the post unique to its type.
          type: string
        status:
          description: A named status for the post.
          type: string
          enum:
          - publish
          - future
          - draft
          - pending
          - private
          - acf-disabled
        type:
          description: Type of post.
          type: string
        permalink_template:
          description: Permalink template for the post.
          type: string
        generated_slug:
          description: Slug automatically generated from the post title.
          type: string
        class_list:
          description: An array of the class names for the post container element.
          type: array
          items:
            type: string
        title:
          description: The title for the post.
          type: object
          properties:
            raw:
              description: Title for the post, as it exists in the database.
              type: string
            rendered:
              description: HTML title for the post, transformed for display.
              type: string
        author:
          description: The ID for the author of the post.
          type: integer
        featured_media:
          description: The ID of the featured media for the post.
          type: integer
        comment_status:
          description: Whether or not comments are open on the post.
          type: string
          enum:
          - open
          - closed
        ping_status:
          description: Whether or not the post can be pinged.
          type: string
          enum:
          - open
          - closed
        meta:
          description: Meta fields.
          type: object
          properties:
            _acf_changed:
              type: boolean
              title: ''
              description: ''
              default: false
            content-type:
              type: string
              title: ''
              description: ''
              default: ''
            inline_featured_image:
              type: boolean
              title: ''
              description: ''
              default: false
        template:
          description: The theme file to use to display the post.
          type: string
        acf:
          description: ACF field data
          type: object
          properties: {}
        alt_text:
          description: Alternative text to display when attachment is not displayed.
          type: string
        caption:
          description: The attachment caption.
          type: object
          properties:
            raw:
              description: Caption for the attachment, as it exists in the database.
              type: string
            rendered:
              description: HTML caption for the attachment, transformed for display.
              type: string
        description:
          description: The attachment description.
          type: object
          properties:
            raw:
              description: Description for the attachment, as it exists in the database.
              type: string
            rendered:
              description: HTML description for the attachment, transformed for display.
              type: string
        media_type:
          description: Attachment type.
          type: string
          enum:
          - image
          - file
        mime_type:
          description: The attachment MIME type.
          type: string
        media_details:
          description: Details about the media file, specific to its type.
          type: object
        post:
          description: The ID for the associated post of the attachment.
          type: integer
        source_url:
          description: URL to the original attachment file.
          type: string
          format: uri
        missing_image_sizes:
          description: List of the missing image sizes of the attachment.
          type: array
          items:
            type: string
        filename:
          description: Original attachment file name.
          type: string
        filesize:
          description: Attachment file size in bytes.
          type: integer
        exif_orientation:
          description: EXIF orientation value. Values 1-8 follow the EXIF specification, where 1 means no rotation
            needed.
          type: integer
    Video:
      type: object
      title: video
      properties:
        date:
          description: The date the post was published, in the site's timezone.
          type: string
          format: date-time
        date_gmt:
          description: The date the post was published, as GMT.
          type: string
          format: date-time
        guid:
          description: The globally unique identifier for the post.
          type: object
          properties:
            raw:
              description: GUID for the post, as it exists in the database.
              type: string
            rendered:
              description: GUID for the post, transformed for display.
              type: string
        id:
          description: Unique identifier for the post.
          type: integer
        link:
          description: URL to the post.
          type: string
          format: uri
        modified:
          description: The date the post was last modified, in the site's timezone.
          type: string
          format: date-time
        modified_gmt:
          description: The date the post was last modified, as GMT.
          type: string
          format: date-time
        slug:
          description: An alphanumeric identifier for the post unique to its type.
          type: string
        status:
          description: A named status for the post.
          type: string
          enum:
          - publish
          - future
          - draft
          - pending
          - private
          - acf-disabled
        type:
          description: Type of post.
          type: string
        password:
          description: A password to protect access to the content and excerpt.
          type: string
        permalink_template:
          description: Permalink template for the post.
          type: string
        generated_slug:
          description: Slug automatically generated from the post title.
          type: string
        class_list:
          description: An array of the class names for the post container element.
          type: array
          items:
            type: string
        title:
          description: The title for the post.
          type: object
          properties:
            raw:
              description: Title for the post, as it exists in the database.
              type: string
            rendered:
              description: HTML title for the post, transformed for display.
              type: string
        featured_media:
          description: The ID of the featured media for the post.
          type: integer
        template:
          description: The theme file to use to display the post.
          type: string
        video-category:
          description: The terms assigned to the post in the video-category taxonomy.
          type: array
          items:
            type: integer
        acf:
          description: ACF field data
          type: object
          properties: {}
    VideoCategory:
      type: object
      title: video-category
      properties:
        id:
          description: Unique identifier for the term.
          type: integer
        count:
          description: Number of published posts for the term.
          type: integer
        description:
          description: HTML description of the term.
          type: string
        link:
          description: URL of the term.
          type: string
          format: uri
        name:
          description: HTML title for the term.
          type: string
        slug:
          description: An alphanumeric identifier for the term unique to its type.
          type: string
        taxonomy:
          description: Type attribution for the term.
          type: string
          enum:
          - video-category
        parent:
          description: The parent term ID.
          type: integer
        meta:
          description: Meta fields.
          type: object
          properties: {}
        acf:
          description: ACF field data
          type: object
          properties: {}