Webservices PR-6.1-dev Pending

User tests: Successful: Unsuccessful:

avatar alikon
alikon
2 Dec 2025

Pull Request for Issue #43813 .

Summary of Changes

Added schema.org data handling to the endpoints of com_content, com_contact

Testing Instructions

GET {{base_path}}/api/index.php/v1/content/articles
GET {{base_path}}/api/index.php/v1/content/articles/nn
GET {{base_path}}/api/index.php/v1/contacts
GET {{base_path}}/api/index.php/v1/contacts/nn

POST {{base_path}}/api/index.php/v1/content/articles
Example payload:

{
  "alias": "my-article001",
  "articletext": "My text",
  "catid": 2,
  "language": "*",
  "metadesc": "",
  "metakey": "",
  "title": "Here's an article",
  "schema": {
    "schemaType": "Article",
    "Article": {
      "@type": "Article",
      "image": "",
      "headline": "head",
      "description": "desc",
      "author": {
        "@type": "person",
        "name": "nik",
        "url": "http://www.alikonweb.it",
        "logo": {
          "@type": "ImageObject",
          "url": ""
        },
        "email": "alikon@alikonweb.it",
        "address": {
          "@type": "PostalAddress",
          "addressLocality": "loc",
          "postalCode": "0000",
          "streetAddress": "via x"
        }
      },
      "datePublished": "",
      "dateModified": "",
      "genericField": []
    }
  }
}

PATCH {{base_path}}/api/index.php/v1/content/articles/nn
Example payload:

{
  "introtext": "My patched text with schema.org",
  "catid": 2,
  "language": "*",
  "metadesc": "",
  "metakey": "",
  "title": "Here's an article",
  "schema": {
    "schemaType": "Article",
    "Article": {
      "@type": "Article",
      "image": "",
      "headline": "head",
      "description": "desc",
      "author": {
        "@type": "person",
        "name": "nik",
        "url": "http://www.alikonweb.it",
        "logo": {
          "@type": "ImageObject",
          "url": ""
        },
        "email": "alikon@alikonweb.it",
        "address": {
          "@type": "PostalAddress",
          "addressLocality": "loc",
          "postalCode": "0090",
          "streetAddress": "via y"
        }
      },
      "datePublished": "",
      "dateModified": "",
      "genericField": []
    }
  }
}

Be aware that with PATCH you need to pass the whole schema structure if don't pass it is like you want to remove it

DELETE {{base_path}}/api/index.php/v1/content/articles/nn

POST {{base_path}}/api/index.php/v1/contacts
Example payload:

{"alias":"b-contact","catid":4,"language":"*","name":"randomFullName",
  "schema": {
    "schemaType": "Organization",
    "Organization": {
      "@type": "Organization",
      "name": "nikola",
      "image": "",
      "url": "http://www.demo.alikonweb.it",
      "email": "demo@alikonweb.it",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "roma",
        "postalCode": "00100",
        "streetAddress": "viale egeo"
      },
      "genericField": []
    }
  }
}

PATCH {{base_path}}/api/index.php/v1/contacts/nn
Example payload:

{"alias":"b-contact","catid":4,"language":"*","name":"randomFullNameetc",
  "schema": {
    "schemaType": "Organization",
    "Organization": {
      "@type": "Organization",
      "url": "http://www.demo.alikonweb.it",
      "email": "demo@alikonweb.it",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Milan",
        "postalCode": "00100",
        "streetAddress": "viale egeo"
      },
      "genericField": []
    }
  }
}

Be aware that with PATCH you need to pass the whole schema structure if don't pass it is like you want to remove it

DELETE {{base_path}}/api/index.php/v1/contacts/nn

Actual result BEFORE applying this Pull Request

N/A

Expected result AFTER applying this Pull Request

schemaorg data returned in the response

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar alikon alikon - open - 2 Dec 2025
avatar alikon alikon - change - 2 Dec 2025
Status New Pending
22e2adc 2 Dec 2025 avatar alikon CS
avatar alikon alikon - change - 2 Dec 2025
Labels Added: PR-6.1-dev
91b83e1 2 Dec 2025 avatar alikon cs
avatar alikon alikon - change - 2 Dec 2025
The description was changed
avatar alikon alikon - edited - 2 Dec 2025
avatar alikon alikon - change - 3 Dec 2025
Labels Added: Webservices
c3a6042 3 Dec 2025 avatar alikon cs
avatar alikon alikon - change - 3 Dec 2025
The description was changed
avatar alikon alikon - edited - 3 Dec 2025
avatar joomla-cms-bot joomla-cms-bot - change - 4 Dec 2025
Category Front End Plugins
avatar joomla-cms-bot joomla-cms-bot - change - 4 Dec 2025
Category Front End Plugins Administration com_content Front End Plugins
avatar alikon alikon - change - 4 Dec 2025
The description was changed
avatar alikon alikon - edited - 4 Dec 2025
avatar alikon alikon - change - 4 Dec 2025
Title
[6.1] Implement schema.org data integration in JsonapiView
[6.1] [webservices] Implement schema.org data integration
avatar alikon alikon - edited - 4 Dec 2025
avatar joomla-cms-bot joomla-cms-bot - change - 4 Dec 2025
Category Front End Plugins Administration com_content Administration com_contact com_content Front End Plugins
avatar alikon alikon - change - 4 Dec 2025
The description was changed
avatar alikon alikon - edited - 4 Dec 2025
avatar alikon alikon - change - 4 Dec 2025
The description was changed
avatar alikon alikon - edited - 4 Dec 2025
avatar Razzo1987 Razzo1987 - test_item - 4 Jan 2026 - Tested successfully
avatar Razzo1987
Razzo1987 - comment - 4 Jan 2026

I have tested this item ✅ successfully on eb0fc14

Before

=== TEST SUMMARY ===


┌─ schemaOrg
│  ├─ Articles
│  │  ✗  POST    PR #46524 - [6 - 200 (441.49 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (42.94 ms)
│  │  ✗  GET     PR #46524 - [6 - 200 (38.76 ms)
│  │  ✗  PATCH   PR #46524 - [6 - 200 (107.91 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (36.59 ms)
│  │  ✗  GET     PR #46524 - [6 - 200 (42.23 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (102.18 ms)
│  │  ✓  DELETE  PR #46524 - [6 - 204 (60.59 ms)
│  ├─ Contacts
│  │  ✗  POST    PR #46524 - [6 - 200 (134.21 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (40.17 ms)
│  │  ✗  GET     PR #46524 - [6 - 200 (40.95 ms)
│  │  ✗  PATCH   PR #46524 - [6 - 200 (189.06 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (41.17 ms)
│  │  ✗  GET     PR #46524 - [6 - 200 (35.35 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (103.25 ms)
│  │  ✓  DELETE  PR #46524 - [6 - 204 (52.25 ms)

Total: 8/16 passed

✗ 8 test(s) failed
Details

=== JOOMLA REST API ENDPOINT TESTER ===

ℹ API Base URL: https://joomla.sviluppo.online/api/index.php
ℹ Joomla Path: /home/joomlasviluppo/public_html
ℹ Target User: Razzo
ℹ Testing specific endpoint: schemaOrg


=== AUTHENTICATION ===

Generating bearer token for: Razzo
✓ Bearer token generated
ℹ Token (first 50 chars): c2hhMjU2Ojc0NTozYzFkOGE2NWIwOTUwYmEwNjUwOTg1M2IwZG...

ℹ Found 16 test(s) to run
ℹ Filtered by: schemaOrg


=== RUNNING TESTS ===


━━━ Testing: schemaOrg.Articles ━━━


─── Create article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_POST_ARTICLE_1] ───
POST    https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: POST
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "alias": "my-article001",
        "articletext": "My text",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0000",
                        "streetAddress": "via x"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 441.49 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:20:27",
                "created_by": 745,
                "created_by_alias": "",
                "modified": "2026-01-04 19:20:27",
                "modified_by": 745,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 1,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (32 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=29 actual=28
    ✓ HasData: expected=true actual=true

⚠ → POST failed, subsequent tests in this group may be skipped


─── Get articles [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_ARTICLE_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 42.94 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": [
            {
                "type": "articles",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "asset_id": 101,
                    "title": "Here's an article",
                    "alias": "my-article001",
                    "state": 0,
                    "access": 1,
                    "created": "2026-01-04 19:20:27",
                    "created_by": 745,
                    "created_by_alias": "",
                    "modified": "2026-01-04 19:20:27",
                    "featured": 0,
                    "language": "*",
                    "hits": 0,
                    "publish_up": null,
                    "publish_down": null,
                    "note": "",
                    "images": [],
                    "metakey": "",
                    "metadesc": "",
                    "metadata": [],
                    "version": 1,
⚠     ... (29 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get article with schema.org Article type [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_ARTICLE_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 38.76 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:20:27",
                "created_by": 745,
                "created_by_alias": "",
                "modified": "2026-01-04 19:20:27",
                "modified_by": 745,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 1,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (32 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=29 actual=28
    ✓ HasData: expected=true actual=true


─── Update article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_PATCH_ARTICLE_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "introtext": "My patched text with schema.org",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0090",
                        "streetAddress": "via y"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 107.91 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:20:27",
                "created_by": 745,
                "created_by_alias": "",
                "modified": "2026-01-04 19:20:27",
                "modified_by": 745,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 2,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (32 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=29 actual=28
    ✓ HasData: expected=true actual=true


─── Get articles [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_ARTICLE_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 36.59 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": [
            {
                "type": "articles",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "asset_id": 101,
                    "title": "Here's an article",
                    "alias": "my-article001",
                    "state": 0,
                    "access": 1,
                    "created": "2026-01-04 19:20:27",
                    "created_by": 745,
                    "created_by_alias": "",
                    "modified": "2026-01-04 19:20:27",
                    "featured": 0,
                    "language": "*",
                    "hits": 0,
                    "publish_up": null,
                    "publish_down": null,
                    "note": "",
                    "images": [],
                    "metakey": "",
                    "metadesc": "",
                    "metadata": [],
                    "version": 2,
⚠     ... (29 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get article with schema.org Article type [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_ARTICLE_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 42.23 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:20:27",
                "created_by": 745,
                "created_by_alias": "",
                "modified": "2026-01-04 19:20:27",
                "modified_by": 745,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 2,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (32 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=29 actual=28
    ✓ HasData: expected=true actual=true


─── Trash the article (set state to -2) [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_TRASH_ARTICLE_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "state": -2
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 102.18 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": -2,
                "created": "2026-01-04 19:20:27",
                "created_by": 745,
                "created_by_alias": "",
                "modified": "2026-01-04 19:20:27",
                "modified_by": 745,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 3,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (32 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ HasData: expected=true actual=true


─── Delete article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_DELETE_ARTICLE_1] ───
DELETE  https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: DELETE
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 204 (No Content)
ℹ   Duration: 60.59 ms
ℹ   Headers:

✓ Test passed
  Validations:
    ✓ Status: expected=204 actual=204



━━━ Testing: schemaOrg.Contacts ━━━


─── Create contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_POST_CONTACT_1] ───
POST    https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: POST
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "alias": "b-contact",
        "catid": 4,
        "language": "*",
        "name": "randomFullName",
        "schema": {
            "schemaType": "Organization",
            "Organization": {
                "@type": "Organization",
                "name": "nikola",
                "image": "",
                "url": "http://www.demo.alikonweb.it",
                "email": "demo@alikonweb.it",
                "address": {
                    "@type": "PostalAddress",
                    "addressLocality": "roma",
                    "postalCode": "00100",
                    "streetAddress": "viale egeo"
                },
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 134.21 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (43 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=37 actual=36
    ✓ HasData: expected=true actual=true

⚠ → POST failed, subsequent tests in this group may be skipped


─── Get contacts [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_CONTACT_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 40.17 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": [
            {
                "type": "contacts",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "name": "randomFullName",
                    "alias": "b-contact",
                    "user_id": 0,
                    "created": "2026-01-04 19:20:27",
                    "created_by": 745,
                    "modified_by": 745,
                    "tags": []
                },
                "relationships": {
                    "category": {
                        "data": {
                            "type": "categories",
                            "id": "4"
                        }
                    },
                    "created_by": {
                        "data": {
                            "type": "users",
                            "id": "745"
                        }
⚠     ... (20 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get contact with schema.org Organization type [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_CONTACT_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 40.95 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (43 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=37 actual=36
    ✓ HasData: expected=true actual=true


─── Update contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_PATCH_CONTACT_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "introtext": "My patched text with schema.org",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0090",
                        "streetAddress": "via y"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 189.06 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (43 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=37 actual=36
    ✓ HasData: expected=true actual=true


─── Get contacts [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_CONTACT_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 41.17 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": [
            {
                "type": "contacts",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "name": "randomFullName",
                    "alias": "b-contact",
                    "user_id": 0,
                    "created": "2026-01-04 19:20:27",
                    "created_by": 745,
                    "modified_by": 745,
                    "tags": []
                },
                "relationships": {
                    "category": {
                        "data": {
                            "type": "categories",
                            "id": "8"
                        }
                    },
                    "created_by": {
                        "data": {
                            "type": "users",
                            "id": "745"
                        }
⚠     ... (20 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get contact with schema.org Article type [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_CONTACT_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 35.35 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (43 more lines)

✗ Test failed
  Validations:
    ✓ Status: expected=200 actual=200
    ✗ AttributeCount: expected=37 actual=36
    ✓ HasData: expected=true actual=true


─── Trash the contact (set published to -2) [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_TRASH_CONTACT_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "published": -2
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 103.25 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (43 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ HasData: expected=true actual=true


─── Delete contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_DELETE_CONTACT_1] ───
DELETE  https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: DELETE
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2Ojc0NTozYzFkOGE2NWIwOT...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 204 (No Content)
ℹ   Duration: 52.25 ms
ℹ   Headers:

✓ Test passed
  Validations:
    ✓ Status: expected=204 actual=204

After

=== TEST SUMMARY ===


┌─ schemaOrg
│  ├─ Articles
│  │  ✓  POST    PR #46524 - [6 - 200 (212.4 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (39.37 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (44.82 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (119.23 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (36.93 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (41.9 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (122.3 ms)
│  │  ✓  DELETE  PR #46524 - [6 - 204 (64.1 ms)
│  ├─ Contacts
│  │  ✓  POST    PR #46524 - [6 - 200 (122.24 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (41.48 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (46.22 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (162.98 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (39.75 ms)
│  │  ✓  GET     PR #46524 - [6 - 200 (43.24 ms)
│  │  ✓  PATCH   PR #46524 - [6 - 200 (119.52 ms)
│  │  ✓  DELETE  PR #46524 - [6 - 204 (49.35 ms)

Total: 16/16 passed

✓ All tests passed! 🎉
Details

=== JOOMLA REST API ENDPOINT TESTER ===

ℹ API Base URL: https://joomla.sviluppo.online/api/index.php
ℹ Joomla Path: /home/joomlasviluppo/public_html
ℹ Target User: Razzo
ℹ Testing specific endpoint: schemaOrg


=== AUTHENTICATION ===

Generating bearer token for: Razzo
✓ Bearer token generated
ℹ Token (first 50 chars): c2hhMjU2OjEwMDA6NjhmZWJjNTJjMDc4ZDM2ZmNjYjRmOTJjYT...

ℹ Found 16 test(s) to run
ℹ Filtered by: schemaOrg


=== RUNNING TESTS ===


━━━ Testing: schemaOrg.Articles ━━━


─── Create article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_POST_ARTICLE_1] ───
POST    https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: POST
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "alias": "my-article001",
        "articletext": "My text",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0000",
                        "streetAddress": "via x"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 212.4 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:16:18",
                "created_by": 1000,
                "created_by_alias": "",
                "modified": "2026-01-04 19:16:18",
                "modified_by": 1000,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 1,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=29 actual=29
    ✓ HasData: expected=true actual=true

ℹ → Stored ID 1 for subsequent tests in this group


─── Get articles [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_ARTICLE_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 39.37 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": [
            {
                "type": "articles",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "asset_id": 101,
                    "title": "Here's an article",
                    "alias": "my-article001",
                    "state": 0,
                    "access": 1,
                    "created": "2026-01-04 19:16:18",
                    "created_by": 1000,
                    "created_by_alias": "",
                    "modified": "2026-01-04 19:16:18",
                    "featured": 0,
                    "language": "*",
                    "hits": 0,
                    "publish_up": null,
                    "publish_down": null,
                    "note": "",
                    "images": [],
                    "metakey": "",
                    "metadesc": "",
                    "metadata": [],
                    "version": 1,
⚠     ... (54 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get article with schema.org Article type [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_ARTICLE_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 44.82 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:16:18",
                "created_by": 1000,
                "created_by_alias": "",
                "modified": "2026-01-04 19:16:18",
                "modified_by": 1000,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 1,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=29 actual=29
    ✓ HasData: expected=true actual=true


─── Update article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_PATCH_ARTICLE_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "introtext": "My patched text with schema.org",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0090",
                        "streetAddress": "via y"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 119.23 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:16:18",
                "created_by": 1000,
                "created_by_alias": "",
                "modified": "2026-01-04 19:16:18",
                "modified_by": 1000,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 2,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=29 actual=29
    ✓ HasData: expected=true actual=true


─── Get articles [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_ARTICLE_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 36.93 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles"
        },
        "data": [
            {
                "type": "articles",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "asset_id": 101,
                    "title": "Here's an article",
                    "alias": "my-article001",
                    "state": 0,
                    "access": 1,
                    "created": "2026-01-04 19:16:18",
                    "created_by": 1000,
                    "created_by_alias": "",
                    "modified": "2026-01-04 19:16:18",
                    "featured": 0,
                    "language": "*",
                    "hits": 0,
                    "publish_up": null,
                    "publish_down": null,
                    "note": "",
                    "images": [],
                    "metakey": "",
                    "metadesc": "",
                    "metadata": [],
                    "version": 2,
⚠     ... (54 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get article with schema.org Article type [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_ARTICLE_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 41.9 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": 0,
                "created": "2026-01-04 19:16:18",
                "created_by": 1000,
                "created_by_alias": "",
                "modified": "2026-01-04 19:16:18",
                "modified_by": 1000,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 2,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=29 actual=29
    ✓ HasData: expected=true actual=true


─── Trash the article (set state to -2) [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_TRASH_ARTICLE_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "state": -2
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 122.3 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/content/articles/1"
        },
        "data": {
            "type": "articles",
            "id": "1",
            "attributes": {
                "typeAlias": "com_content.article",
                "id": 1,
                "asset_id": 101,
                "title": "Here's an article",
                "alias": "my-article001",
                "state": -2,
                "created": "2026-01-04 19:16:18",
                "created_by": 1000,
                "created_by_alias": "",
                "modified": "2026-01-04 19:16:18",
                "modified_by": 1000,
                "publish_up": null,
                "publish_down": null,
                "images": [],
                "urls": [],
                "version": 3,
                "metakey": "",
                "metadesc": "",
                "access": 1,
                "hits": 0,
                "metadata": [],
                "featured": 0,
⚠     ... (33 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ HasData: expected=true actual=true


─── Delete article with schema.org data [schemaOrg.Articles.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_DELETE_ARTICLE_1] ───
DELETE  https://joomla.sviluppo.online/api/index.php/v1/content/articles/1

REQUEST:
ℹ   Method: DELETE
ℹ   Endpoint: /v1/content/articles/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 204 (No Content)
ℹ   Duration: 64.1 ms
ℹ   Headers:

✓ Test passed
  Validations:
    ✓ Status: expected=204 actual=204



━━━ Testing: schemaOrg.Contacts ━━━


─── Create contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_POST_CONTACT_1] ───
POST    https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: POST
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "alias": "b-contact",
        "catid": 4,
        "language": "*",
        "name": "randomFullName",
        "schema": {
            "schemaType": "Organization",
            "Organization": {
                "@type": "Organization",
                "name": "nikola",
                "image": "",
                "url": "http://www.demo.alikonweb.it",
                "email": "demo@alikonweb.it",
                "address": {
                    "@type": "PostalAddress",
                    "addressLocality": "roma",
                    "postalCode": "00100",
                    "streetAddress": "viale egeo"
                },
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 122.24 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=37 actual=37
    ✓ HasData: expected=true actual=true

ℹ → Stored ID 1 for subsequent tests in this group


─── Get contacts [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_CONTACT_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 41.48 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": [
            {
                "type": "contacts",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "name": "randomFullName",
                    "alias": "b-contact",
                    "user_id": 0,
                    "created": "2026-01-04 19:16:18",
                    "created_by": 1000,
                    "modified_by": 1000,
                    "tags": [],
                    "schemaorg": {
                        "@type": "Organization",
                        "name": "nikola",
                        "image": "",
                        "url": "http://www.demo.alikonweb.it",
                        "email": "demo@alikonweb.it",
                        "address": {
                            "@type": "PostalAddress",
                            "addressLocality": "roma",
                            "postalCode": "00100",
                            "streetAddress": "viale egeo"
                        },
                        "genericField": []
⚠     ... (34 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get contact with schema.org Organization type [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_CONTACT_1] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 46.22 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (57 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=37 actual=37
    ✓ HasData: expected=true actual=true


─── Update contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_PATCH_CONTACT_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "introtext": "My patched text with schema.org",
        "catid": 2,
        "language": "*",
        "metadesc": "",
        "metakey": "",
        "title": "Here's an article",
        "schema": {
            "schemaType": "Article",
            "Article": {
                "@type": "Article",
                "image": "",
                "headline": "head",
                "description": "desc",
                "author": {
                    "@type": "person",
                    "name": "nik",
                    "url": "http://www.alikonweb.it",
                    "logo": {
                        "@type": "ImageObject",
                        "url": ""
                    },
                    "email": "alikon@alikonweb.it",
                    "address": {
                        "@type": "PostalAddress",
                        "addressLocality": "loc",
                        "postalCode": "0090",
                        "streetAddress": "via y"
                    }
                },
                "datePublished": "",
                "dateModified": "",
                "genericField": []
            }
        }
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 162.98 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (68 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=37 actual=37
    ✓ HasData: expected=true actual=true


─── Get contacts [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_CONTACT_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 39.75 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts"
        },
        "data": [
            {
                "type": "contacts",
                "id": "1",
                "attributes": {
                    "id": 1,
                    "name": "randomFullName",
                    "alias": "b-contact",
                    "user_id": 0,
                    "created": "2026-01-04 19:16:18",
                    "created_by": 1000,
                    "modified_by": 1000,
                    "tags": [],
                    "schemaorg": {
                        "@type": "Article",
                        "image": "",
                        "headline": "head",
                        "description": "desc",
                        "author": {
                            "@type": "person",
                            "name": "nik",
                            "url": "http://www.alikonweb.it",
                            "logo": {
                                "@type": "ImageObject",
                                "url": ""
                            },
⚠     ... (45 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ MinItemCount: expected=>= 1 actual=1
    ✓ HasData: expected=true actual=true


─── Get contact with schema.org Article type [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_GET_NN_CONTACT_2] ───
GET     https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: GET
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 43.24 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (68 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ AttributeCount: expected=37 actual=37
    ✓ HasData: expected=true actual=true


─── Trash the contact (set published to -2) [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_TRASH_CONTACT_1] ───
PATCH   https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: PATCH
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json
ℹ   Payload:
    {
        "published": -2
    }

RESPONSE:
ℹ   Status: 200 (OK)
ℹ   Duration: 119.52 ms
ℹ   Headers:
    • Content-Type: application/vnd.api+json; charset=utf-8
ℹ   Body:
    {
        "links": {
            "self": "https://joomla.sviluppo.online/api/index.php/v1/contacts/1"
        },
        "data": {
            "type": "contacts",
            "id": "1",
            "attributes": {
                "id": 1,
                "name": "randomFullName",
                "alias": "b-contact",
                "con_position": null,
                "address": null,
                "suburb": null,
                "state": null,
                "country": null,
                "postcode": null,
                "telephone": null,
                "fax": null,
                "misc": null,
                "image": null,
                "email_to": null,
                "default_con": 0,
                "user_id": 0,
                "access": 1,
                "mobile": "",
                "webpage": "",
                "sortname1": "",
                "sortname2": "",
                "sortname3": "",
⚠     ... (44 more lines)

✓ Test passed
  Validations:
    ✓ Status: expected=200 actual=200
    ✓ HasData: expected=true actual=true


─── Delete contact with schema.org data [schemaOrg.Contacts.PR #46524 - [6.1] [webservices] Implement schema.org data integration.PR46524_DELETE_CONTACT_1] ───
DELETE  https://joomla.sviluppo.online/api/index.php/v1/contacts/1

REQUEST:
ℹ   Method: DELETE
ℹ   Endpoint: /v1/contacts/1
ℹ   Headers:
    • Authorization: Bearer c2hhMjU2OjEwMDA6NjhmZWJjNTJjMD...
    • Content-Type: application/vnd.api+json
    • Accept: application/vnd.api+json

RESPONSE:
ℹ   Status: 204 (No Content)
ℹ   Duration: 49.35 ms
ℹ   Headers:

✓ Test passed
  Validations:
    ✓ Status: expected=204 actual=204


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46524.
avatar exlemor exlemor - test_item - 24 Jan 2026 - Tested successfully
avatar exlemor
exlemor - comment - 24 Jan 2026

I have tested this item ✅ successfully on eb0fc14

I was able to test this successfully after complete re-install of the latest Joomla 6.1 Nightly during Saturday PR Testing Group session.

Thanks @alikon!


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46524.

avatar richard67 richard67 - change - 24 Jan 2026
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 24 Jan 2026

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46524.

Add a Comment

Login with GitHub to post a comment