Daring Foods Pages API

Public, unauthenticated read access to the 17 static marketing pages of daring.com - Our Mission, Ingredients, How To Cook, Locator, FAQ, Careers, Terms & Conditions and the Foodservice sub-tree. Unlike the custom post types, pages return full rendered content.

OpenAPI Specification

daring-foods-pages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Daring Foods Pages API
  version: wp/v2
  summary: Public read access to the static marketing pages of daring.com.
  description: 'Public, unauthenticated read access to the 17 static pages that make up daring.com - Home, Products, Our Mission, Ingredients, How To Cook, Locator, FAQ, Careers, Accessibility Statement, Terms & Conditions, VIP, and the Foodservice sub-tree (Foodservice, Products, Mission, How To Cook, Support, Store Locator) - via the WordPress REST API. Unlike the custom post types on this host, pages DO return their full rendered `content` and `excerpt`, which makes this the collection to read when harvesting Daring''s own statements about ingredients, sourcing, sustainability claims and foodservice terms. Pages are hierarchical: the Foodservice sub-pages carry a non-zero `parent`.'
  contact:
    name: Daring Foods
    url: https://daring.com/faq/
  license:
    name: Site content - all rights reserved; see Terms & Conditions
    url: https://daring.com/terms-and-conditions/
  x-apis-io-provenance:
    method: derived
    source: https://daring.com/wp-json/
    derived_on: '2026-08-04'
    note: Routes enumerated from the live WordPress route index at https://daring.com/wp-json/ (222 routes across 10 namespaces) on 2026-08-04, then probed anonymously one at a time; only routes verified to return HTTP 200 without credentials are documented here. Schemas reflect fields observed in the live responses. Write methods exist on the same routes but require WordPress authentication (cookie + X-WP-Nonce, or Application Passwords) and return HTTP 401 anonymously, so they are not documented. No fabricated operations, parameters or fields.
servers:
- url: https://daring.com/wp-json
  description: Production
tags:
- name: Pages
  description: Static marketing pages of daring.com, including the Foodservice sub-tree.
paths:
  /wp/v2/pages:
    get:
      tags:
      - Pages
      operationId: listPages
      summary: List pages
      description: Returns a paginated collection of published pages. Verified live at 17 pages.
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/context'
      - $ref: '#/components/parameters/slugFilter'
      - $ref: '#/components/parameters/include'
      - $ref: '#/components/parameters/exclude'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/embed'
      - name: parent
        in: query
        description: Limit results to pages whose parent is one of the given IDs.
        schema:
          type: array
          items:
            type: integer
      - name: menu_order
        in: query
        description: Limit results to pages with a specific menu_order value.
        schema:
          type: integer
      responses:
        '200':
          description: A page of pages.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
            Link:
              $ref: '#/components/headers/LinkPagination'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Page'
              example:
              - id: 447
                date: '2023-06-07T16:09:53'
                modified: '2024-09-26T19:16:51'
                slug: faq
                status: publish
                type: page
                link: https://daring.com/faq/
                title:
                  rendered: FAQ
                parent: 0
                menu_order: 0
        '400':
          description: Invalid request parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: rest_invalid_param
                message: 'Invalid parameter(s): per_page'
                data:
                  status: 400
                  params:
                    per_page: per_page must be between 1 (inclusive) and 100 (inclusive)
  /wp/v2/pages/{id}:
    get:
      tags:
      - Pages
      operationId: getPage
      summary: Retrieve a page
      description: Returns a single published page by numeric ID, including its full rendered content.
      parameters:
      - $ref: '#/components/parameters/idPath'
      - $ref: '#/components/parameters/context'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/embed'
      responses:
        '200':
          description: The requested page.
          headers:
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
              example:
                id: 447
                date: '2023-06-07T16:09:53'
                modified: '2024-09-26T19:16:51'
                slug: faq
                status: publish
                type: page
                link: https://daring.com/faq/
                title:
                  rendered: FAQ
                parent: 0
                menu_order: 0
        '404':
          description: Object not found, or no route matches the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: rest_post_invalid_id
                message: Invalid post ID.
                data:
                  status: 404
components:
  parameters:
    slugFilter:
      name: slug
      in: query
      description: Limit results to items with one of the given slugs.
      schema:
        type: array
        items:
          type: string
    page:
      name: page
      in: query
      description: Current page of the collection (1-based).
      schema:
        type: integer
        minimum: 1
        default: 1
    perPage:
      name: per_page
      in: query
      description: Maximum number of items returned per page. Verified server cap is 100; a larger value returns HTTP 400 rest_invalid_param.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    include:
      name: include
      in: query
      description: Limit result set to specific IDs.
      schema:
        type: array
        items:
          type: integer
    orderby:
      name: orderby
      in: query
      description: Field to sort the collection by.
      schema:
        type: string
        enum:
        - date
        - id
        - include
        - modified
        - relevance
        - slug
        - title
        default: date
    context:
      name: context
      in: query
      description: Scope under which the request is made; determines the fields present in the response. Anonymous callers may use `view` and `embed` only - `edit` returns HTTP 401.
      schema:
        type: string
        enum:
        - view
        - embed
        default: view
    exclude:
      name: exclude
      in: query
      description: Ensure result set excludes specific IDs.
      schema:
        type: array
        items:
          type: integer
    idPath:
      name: id
      in: path
      required: true
      description: Unique numeric identifier for the object.
      schema:
        type: integer
    search:
      name: search
      in: query
      description: Limit results to those matching a free-text string.
      schema:
        type: string
    fields:
      name: _fields
      in: query
      description: Comma-separated list of fields to limit the response to (e.g. `id,slug,title,link`). A WordPress core response-shaping convention, verified working on this host.
      schema:
        type: string
    offset:
      name: offset
      in: query
      description: Offset the result set by a specific number of items.
      schema:
        type: integer
        minimum: 0
    order:
      name: order
      in: query
      description: Sort direction.
      schema:
        type: string
        enum:
        - asc
        - desc
        default: desc
    embed:
      name: _embed
      in: query
      description: Inline embeddable linked resources (featured media, terms, author) into an `_embedded` object.
      schema:
        type: boolean
  schemas:
    Error:
      type: object
      description: 'The WordPress REST error envelope. NOTE: this is NOT RFC 9457 problem+json - the media type is application/json and the shape is {code, message, data}.'
      required:
      - code
      - message
      - data
      properties:
        code:
          type: string
          description: Machine-readable WordPress error code, e.g. rest_post_invalid_id, rest_invalid_param, rest_no_route.
          examples:
          - rest_post_invalid_id
        message:
          type: string
          description: Human-readable error message.
          examples:
          - Invalid post ID.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code, repeated in the body.
              examples:
              - 404
            params:
              type: object
              additionalProperties:
                type: string
              description: 'Present on rest_invalid_param: per-parameter validation messages.'
            details:
              type: object
              description: 'Present on rest_invalid_param: per-parameter structured detail.'
    Page:
      type: object
      description: A WordPress page.
      properties:
        id:
          type: integer
          description: Unique identifier for the item.
        date:
          type:
          - string
          - 'null'
          format: date-time
          description: Publication date in the site's timezone.
        date_gmt:
          type:
          - string
          - 'null'
          format: date-time
          description: Publication date as GMT.
        modified:
          type: string
          format: date-time
          description: Last modification date in the site's timezone.
        modified_gmt:
          type: string
          format: date-time
          description: Last modification date as GMT.
        guid:
          type: object
          properties:
            rendered:
              type: string
          description: Globally unique identifier for the item.
        slug:
          type: string
          description: Alphanumeric identifier unique to its post type.
        status:
          type: string
          description: Publication status; only `publish` is visible anonymously.
          examples:
          - publish
        type:
          type: string
          description: WordPress post type of the item.
        link:
          type: string
          format: uri
          description: Public URL of the item on daring.com.
        title:
          type: object
          properties:
            rendered:
              type: string
          description: 'Item title. NOTE: HTML entities are escaped in the rendered value (e.g. `Buffalo Mac & Cheese`).'
        featured_media:
          type: integer
          description: Media library ID of the featured image; 0 when unset. Resolve via /wp/v2/media/{id} or `_embed`.
        template:
          type: string
          description: Theme file used to display the item.
        class_list:
          type: array
          items:
            type: string
          description: CSS class names WordPress generates for the item.
        acf:
          description: Advanced Custom Fields payload. Observed EMPTY (`[]`) on this host - the site runs ACF but does not expose field values over REST, so nutrition, ingredient and recipe-step data are NOT available through this API.
          type:
          - array
          - object
        yoast_head:
          type: string
          description: Yoast SEO rendered <head> markup for the item.
        yoast_head_json:
          type: object
          description: Yoast SEO head metadata as structured JSON, including the schema.org JSON-LD graph.
        _links:
          type: object
          description: HAL-style link relations (self, collection, about, wp:featuredmedia, curies).
        content:
          type: object
          properties:
            rendered:
              type: string
            protected:
              type: boolean
          description: Full page body as rendered HTML. Populated on this host.
        excerpt:
          type: object
          properties:
            rendered:
              type: string
            protected:
              type: boolean
        author:
          type: integer
        parent:
          type: integer
          description: ID of the parent page; 0 for top-level. Foodservice sub-pages carry the Foodservice page ID (15).
        menu_order:
          type: integer
          description: Ordering position within the page tree.
        comment_status:
          type: string
        ping_status:
          type: string
        featured_image_src:
          type:
          - string
          - boolean
          - 'null'
        featured_image_src_square:
          type:
          - string
          - boolean
          - 'null'
  headers:
    XWPTotal:
      description: Total number of items in the unpaginated collection.
      schema:
        type: integer
    CacheControl:
      description: 'Observed as `max-age=600, must-revalidate` on this host (WP Engine edge cache, x-cacheable: SHORT).'
      schema:
        type: string
    LinkPagination:
      description: RFC 8288 Link header carrying `prev` and `next` relations for the collection.
      schema:
        type: string
    XWPTotalPages:
      description: Total number of pages available at the requested per_page size.
      schema:
        type: integer