Exentis Group Blog API

The Blog API from Exentis Group — the `blog` custom post type behind /en/media/blog/, served as JSON at the `blogposts` REST base and grouped by the `blogkategorie` taxonomy. 16 blog entries were readable anonymously at probe time.

OpenAPI Specification

exentis-group-blog-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Exentis Group Blog API
  version: 2.0.0
  description: 'The `blog` custom post type behind /en/media/blog/, served as JSON at the blogposts REST
    base. 16 blog entries were readable anonymously at probe time.


    Derived by API Evangelist from the live WordPress REST API discovery document at https://www.exentis-group.com/wp-json/
    and anonymous sample responses. Exentis Group publishes no developer portal; this documents the machine-readable
    surface its own public host serves. Read-only without credentials; writes require a WordPress application
    password.'
  contact:
    name: Exentis Group AG
    email: info@exentis-group.com
    url: https://www.exentis-group.com/en/contact/
  termsOfService: https://www.exentis-group.com/en/terms-of-use/
  x-provenance:
    method: derived
    source: https://www.exentis-group.com/wp-json/
    derived: '2026-08-12'
    by: API Evangelist enrichment pipeline
servers:
- url: https://www.exentis-group.com/wp-json
  description: WordPress REST API root on the Exentis Group production host.
tags:
- name: Blog
paths:
  /wp/v2/blogposts:
    get:
      operationId: listBlogPosts
      summary: List blog
      description: Retrieve a paginated collection of blog from www.exentis-group.com. No authentication
        required. Pagination totals are returned in the X-WP-Total and X-WP-TotalPages response headers.
      tags:
      - Blog
      parameters:
      - 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: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: blogkategorie
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items with specific terms assigned in the blogkategorie taxonomy.
      - name: blogkategorie_exclude
        in: query
        required: false
        schema:
          type: object
        description: Limit result set to items except those with specific terms assigned in the blogkategorie
          taxonomy.
      - 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: exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to specific IDs.
      - name: lang
        in: query
        required: false
        schema:
          type: string
          enum:
          - ''
          - de
          - en
          default: ''
        description: Limit results to a specific language. By default, results are not filtered by language.
      - 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: 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: 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
          default: date
        description: Sort collection by post attribute.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Current page of the collection.
      - name: parent
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to items with particular parent IDs.
      - name: parent_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to all items except those of a particular parent ID.
      - 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: search_columns
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
          default: []
        description: Array of column names to be searched.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - 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
          items:
            type: string
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - dp-rewrite-republish
            - any
          default: publish
        description: Limit result set to posts assigned one or more statuses.
      - name: tax_relation
        in: query
        required: false
        schema:
          type: string
          enum:
          - AND
          - OR
        description: Limit result set based on relationship between multiple taxonomies.
      responses:
        '200':
          description: A page of blog.
          headers:
            X-WP-Total:
              description: Total number of items in the collection matching the query.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available at the current per_page.
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Blog'
        '400':
          $ref: '#/components/responses/Error400'
  /wp/v2/blogposts/{id}:
    get:
      operationId: getBlogPost
      summary: Retrieve a single blog by id
      description: Retrieve one object by its numeric WordPress id. No authentication required.
      tags:
      - Blog
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: Unique numeric identifier for the object.
      - 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 the response.
          `edit` requires authentication.
      responses:
        '200':
          description: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blog'
        '401':
          $ref: '#/components/responses/Error401'
        '404':
          $ref: '#/components/responses/Error404'
components:
  schemas:
    Blog:
      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
        parent:
          type: integer
        template:
          type: string
        blogkategorie:
          type: array
          items:
            type: integer
        class_list:
          type: array
          items:
            type: string
        acf:
          type: object
          properties:
            bild_ubersicht:
              type: integer
            bildformat_ubersicht:
              type: string
            textauszug_ubersicht:
              type: string
            titel:
              type: string
            beitragsbild:
              type: integer
            inhalt:
              type: array
              items:
                type: object
                properties:
                  acf_fc_layout: {}
                  inhalt_titel: {}
                  anchorlink_titel: {}
                  inhalt_text: {}
                  inhalt_links: {}
            artikel_download: {}
        yoast_head:
          type: string
        yoast_head_json:
          type: object
          properties:
            title:
              type: string
            description:
              type: string
            robots:
              type: object
              properties:
                index:
                  type: string
                follow:
                  type: string
                max-snippet:
                  type: string
                max-image-preview:
                  type: string
                max-video-preview:
                  type: string
            canonical:
              type: string
            og_locale:
              type: string
            og_type:
              type: string
            og_title:
              type: string
            og_description:
              type: string
            og_url:
              type: string
            og_site_name:
              type: string
            twitter_card:
              type: string
            schema:
              type: object
              properties:
                '@context':
                  type: string
                '@graph':
                  type: array
                  items: {}
        lang:
          type: string
        translations:
          type: object
          properties:
            de:
              type: integer
            en:
              type: integer
        pll_sync_post:
          type: array
          items: {}
        _links:
          type: object
          properties:
            self:
              type: array
              items:
                type: object
                properties:
                  href: {}
                  targetHints: {}
            collection:
              type: array
              items:
                type: object
                properties:
                  href: {}
            about:
              type: array
              items:
                type: object
                properties:
                  href: {}
            wp:attachment:
              type: array
              items:
                type: object
                properties:
                  href: {}
            wp:term:
              type: array
              items:
                type: object
                properties:
                  taxonomy: {}
                  embeddable: {}
                  href: {}
            curies:
              type: array
              items:
                type: object
                properties:
                  name: {}
                  href: {}
                  templated: {}
      description: Structure derived from a live anonymous response; values are not reproduced here.
    Error:
      type: object
      description: The WordPress REST API error envelope (WP_Error serialized).
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_forbidden, rest_post_invalid_id, rest_invalid_param.
        message:
          type: string
          description: Human-readable message. Localized to the site locale (de_CH on this host).
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code, repeated in the body.
            params:
              type: object
              description: Per-parameter validation detail on 400 rest_invalid_param.
      required:
      - code
      - message
  responses:
    Error400:
      description: rest_invalid_param — a query parameter failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error401:
      description: rest_forbidden — the resource or context requires authentication.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error404:
      description: rest_no_route or rest_post_invalid_id — no such route or object.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    applicationPassword:
      type: http
      scheme: basic
      description: 'WordPress application passwords (HTTP Basic: username + application password). Authorization
        endpoint: https://www.exentis-group.com/wp/wp-admin/authorize-application.php. Not required for
        the read operations documented here.'