Labayh Meta API

Discovery, registered types, taxonomies, statuses and cross-content search.

OpenAPI Specification

labayh-meta-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Labayh Content Consultants Meta API
  version: wp/v2
  summary: Public read access to Labayh's consultant directory, therapeutic programs, support groups, webinars and editorial content.
  description: Labayh (لبيه) publishes its consultant directory, therapeutic programs, support groups, webinars and editorial content through the WordPress REST API mounted at https://labayh.net/wp-json. The collection and item GET operations documented here were verified to respond 200 anonymously; at derivation time the directory exposed 875 consultants across 255 specialty categories, 2,162 blog articles, 33 recorded webinars, 10 therapeutic programs and 12 support groups. Write operations are listed because the server advertises them, but they require an authenticated WordPress user and are not part of a published partner program. This description was derived from the server's own discovery document and per-route OPTIONS schemas — Labayh does not publish an OpenAPI description or a developer portal of its own.
  contact:
    name: Labayh
    url: https://labayh.net/en/contact-us/
  termsOfService: https://labayh.net/en/terms-conditions/
  x-derived-from: https://labayh.net/wp-json/
  x-derivation-method: derived
  x-derivation-date: '2026-07-19'
servers:
- url: https://labayh.net/wp-json
  description: Production
security:
- applicationPassword: []
- cookieNonce: []
tags:
- name: Meta
  description: Discovery, registered types, taxonomies, statuses and cross-content search.
paths:
  /wp/v2/types:
    get:
      operationId: listTypes
      summary: List types
      description: Registered content types.
      tags:
      - Meta
      security: []
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: نطاق الطلب؛ يحدد أي الحقول ستظهر في الرد.
      responses:
        '200':
          description: A page of types.
          headers:
            X-WP-Total:
              description: Total number of matching items.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContentType'
        '400':
          $ref: '#/components/responses/BadRequest'
  /wp/v2/taxonomies:
    get:
      operationId: listTaxonomies
      summary: List taxonomies
      description: Registered taxonomies.
      tags:
      - Meta
      security: []
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: نطاق الطلب؛ يحدد أي الحقول ستظهر في الرد.
      - name: type
        in: query
        required: false
        schema:
          type: string
        description: حصر النتائج على الفئات المرتبطة مع نوع محتوى مُعين.
      responses:
        '200':
          description: A page of taxonomies.
          headers:
            X-WP-Total:
              description: Total number of matching items.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Taxonomy'
        '400':
          $ref: '#/components/responses/BadRequest'
  /wp/v2/statuses:
    get:
      operationId: listStatuses
      summary: List statuses
      description: Registered content statuses.
      tags:
      - Meta
      security: []
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: نطاق الطلب؛ يحدد أي الحقول ستظهر في الرد.
      responses:
        '200':
          description: A page of statuses.
          headers:
            X-WP-Total:
              description: Total number of matching items.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContentStatus'
        '400':
          $ref: '#/components/responses/BadRequest'
  /wp/v2/search:
    get:
      operationId: listSearch
      summary: List search
      description: Cross-content search.
      tags:
      - Meta
      security: []
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
        description: نطاق الطلب؛ يحدد أي الحقول ستظهر في الرد.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: تأكد أن النتيجة تستثني معرِّفات معينة.
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
          default: []
        description: حصر النتائج على مُعرفات مُعينة.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
        description: الصفحة الحالية للمجموعة.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 10
        description: العدد الأقصى للعناصر ليتم إرجاعه في النتائج.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: حصر النتائج على مطابقة سلسلة نصية.
      - name: subtype
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - post
            - page
            - consultant
            - program
            - event
            - recorded_webinar
            - support_group
            - live_webinar
            - category
            - post_tag
            - consultant_categories
            - program_categories
            - event_categories
            - recorded_webinar_categories
            - support_group_categories
            - live_webinar_categories
            - any
          default: any
        description: حصر النتائج على العناصر لواحد أو أكثر من أنواع الكائن الفرعية.
      - name: type
        in: query
        required: false
        schema:
          type: string
          enum:
          - post
          - term
          - post-format
          default: post
        description: حصر النتائج على العناصر من نوع الكائن.
      responses:
        '200':
          description: A page of search.
          headers:
            X-WP-Total:
              description: Total number of matching items.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchResult'
        '400':
          $ref: '#/components/responses/BadRequest'
  /:
    get:
      operationId: getApiIndex
      summary: Retrieve the API discovery index
      description: Returns site metadata, the registered namespaces, the supported authentication methods, and the full route table.
      tags:
      - Meta
      security: []
      responses:
        '200':
          description: The API index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiIndex'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    SearchResult:
      type: object
      title: search-result
      properties:
        id:
          type: integer
          description: المُعرف الفريد للكائن.
        title:
          type: string
          description: عنوان الكائن.
        url:
          type: string
          format: uri
          description: رابط الكائن.
        type:
          type: string
          enum:
          - post
          - term
          - post-format
          description: نوع الكائن.
        subtype:
          type: string
          enum:
          - post
          - page
          - consultant
          - program
          - event
          - recorded_webinar
          - support_group
          - live_webinar
          - category
          - post_tag
          - consultant_categories
          - program_categories
          - event_categories
          - recorded_webinar_categories
          - support_group_categories
          - live_webinar_categories
          description: نوع الكائن الفرعي.
    ApiIndex:
      type: object
      title: API index
      properties:
        name:
          type: string
          description: Site title.
        description:
          type: string
          description: Site tagline.
        url:
          type: string
          format: uri
        home:
          type: string
          format: uri
        namespaces:
          type: array
          items:
            type: string
          description: Registered API namespaces.
        authentication:
          type: object
          additionalProperties: true
          description: Supported authentication methods.
        routes:
          type: object
          additionalProperties: true
          description: The full route table.
    ContentType:
      type: object
      title: type
      properties:
        capabilities:
          type: object
          description: كل الصلاحيات المستخدمة بواسطة نوع المحتوى.
          additionalProperties: true
        description:
          type: string
          description: وصف سهل القراءة لنوع المحتوى.
        hierarchical:
          type: boolean
          description: ما إذا كان ينبغي أن يكون نوع المحتوى هرمي البنية (له أبناء).
        viewable:
          type: boolean
          description: ما إذا كان يمكن عرض نوع المقالة أم لا.
        labels:
          type: object
          description: تسميات سهلة القراءة لنوع المحتوى في سياقات متنوعة.
          additionalProperties: true
        name:
          type: string
          description: عنوان نوع المقالة.
        slug:
          type: string
          description: مُعرف أبجدي رقمي لنوع المحتوى.
        supports:
          type: object
          description: كافة المميزات مدعومة بواسطة نوع المقالة.
          additionalProperties: true
        has_archive:
          type: string
          description: إذا كانت القيمة سلسلة نصية، فإن القيمة ستُستخدم كاسم لطيف للأرشيف. إذا كانت القيمة false، فإن نوع المحتوى لن يمتلك أرشيفًا.
        taxonomies:
          type: array
          description: الفئات المرتبطة مع نوع المحتوى.
          items:
            type: string
        rest_base:
          type: string
          description: أساس مسار الـ REST لنوع المحتوى.
        rest_namespace:
          type: string
          description: مسار مساحة الاسم REST لنوع المحتوى.
        visibility:
          type: object
          description: إعدادات الظهور لنوع المقالة.
          properties:
            show_ui:
              type: boolean
              description: ما إذا كان سيتم إنشاء واجهة مستخدم افتراضية لإدارة هذا النوع من المحتوى.
            show_in_nav_menus:
              type: boolean
              description: امكانية جعل نوع المحتوى متاح للتحديد في قوائم التنقل.
        icon:
          type: string
          description: أيقونة نوع المحتوى.
        template:
          type: array
          description: تم ربط قالب المكوِّن بنوع المحتوى.
          items:
            type: string
        template_lock:
          type:
          - boolean
          - string
          enum:
          - all
          - insert
          - contentOnly
          - false
          description: template_lock المرتبط بنوع المحتوى، أو خطأ في حال عدم وجوده.
    ContentStatus:
      type: object
      title: status
      properties:
        name:
          type: string
          description: عنوان الحالة.
        private:
          type: boolean
          description: ما إذا كانت المقالات مع هذه الحالة ينبغي أن تكون خاصة.
        protected:
          type: boolean
          description: ما إذا كانت المقالات مع هذه الحالة ينبغي أن تكون محمية.
        public:
          type: boolean
          description: ما إذا كانت المقالات من هذه الحالة ينبغي أن تظهر في واجهة الموقع.
        queryable:
          type: boolean
          description: ما إذا كانت المقالات مع هذه الحالة ينبغي أن تكون عًمومية.
        show_in_list:
          type: boolean
          description: ما إذا كان يجب تضمين المقالات في قائمة التحرير لنفس نوع المقالة.
        slug:
          type: string
          description: مُعرف أبجدي رقمي للحالة.
        date_floating:
          type: boolean
          description: ما إذا كانت منشورات هذه الحالة قد يكون لها تواريخ منشور مطلقة.
    Error:
      type: object
      title: Error
      description: The WordPress REST error envelope returned on every 4xx/5xx response.
      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
          description: Additional error context.
          properties:
            status:
              type: integer
              description: The HTTP status code.
            params:
              type: object
              additionalProperties: true
              description: Per-parameter validation messages.
    Taxonomy:
      type: object
      title: taxonomy
      properties:
        capabilities:
          type: object
          description: كل الصلاحيات المستخدمة بواسطة الفئة.
          additionalProperties: true
        description:
          type: string
          description: وصف سهل القراءة للفئة.
        hierarchical:
          type: boolean
          description: ما إذا كان ينبغي أن تكون الفئة هرمية.
        labels:
          type: object
          description: تسميات سهلة القراءة للفئة في سياقات متنوعة.
          additionalProperties: true
        name:
          type: string
          description: عنوان الفئة.
        slug:
          type: string
          description: مُعرف أبجدي رقمي للفئة.
        show_cloud:
          type: boolean
          description: ما إذا كان ينبغي عرض سحابة العناصر.
        types:
          type: array
          description: الأنواع المرتبطة بالفئة.
          items:
            type: string
        rest_base:
          type: string
          description: أساس مسار الـ REST للفئة.
        rest_namespace:
          type: string
          description: مسار مساحة اسم REST للفئة.
        visibility:
          type: object
          description: إعدادات الظهور للفئة.
          properties:
            public:
              type: boolean
              description: ما إذا كان القصد من الفئة هو استخدامها بشكل عام، إما عبر واجهة مدير الموقع أو من خلال واجهة الموقع للمستخدمين.
            publicly_queryable:
              type: boolean
              description: ما إذا كانت الفئة صالحة بشكل عام.
            show_ui:
              type: boolean
              description: ما إذا كان سيتم إنشاء واجهة مستخدم (UI) افتراضية لإدارة هذه الفئة.
            show_admin_column:
              type: boolean
              description: إمكانية السماح بالانشاء الآلي لأعمدة الفئات في جدول أنواع المقالات المرتبط.
            show_in_nav_menus:
              type: boolean
              description: إمكانية جعل الفئة متاحة للاختيار في قوائم التصفح.
            show_in_quick_edit:
              type: boolean
              description: إمكانية مشاهدة الفئة في لوحة التحرير السريع/المتعدد.
  responses:
    NotFound:
      description: No resource matched the supplied identifier (rest_no_route / rest_post_invalid_id).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid parameter (rest_invalid_param).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    applicationPassword:
      type: http
      scheme: basic
      description: 'WordPress application passwords, advertised by the API index at https://labayh.net/wp-json/ (authorization endpoint: https://labayh.net/wp-admin/authorize-application.php). Required for every write operation; the documented read operations need no credentials.'
    cookieNonce:
      type: apiKey
      in: header
      name: X-WP-Nonce
      description: Cookie-authenticated first-party requests pass a nonce in the X-WP-Nonce header.