api.developer.m7.org Endpoint Documentation

Generated on 2026-07-19 from cli/endpoints.php --json, config/general.json, and the PHP handlers under lib/php/thisProject/api.

Conventions

  • Base URL: https://api.developer.m7.org
  • Response format: json; error format: json.
  • Request parameters are read from the parsed request payload ($this->r), which may include query, form, or JSON body values depending on the router parser.
  • ANY means the route is registered without an HTTP-method constraint. Prefer POST for mutations and request bodies unless the caller contract says otherwise.
  • "Detected request fields" are statically extracted from handlers and delegated service methods; table-backed filters may accept additional fields.

Authentication

  • M7 token config: check soft, issuer id.m7.org; allowed algorithms RS512.
  • Principal route protection from config:
    • /v1/admin -> admin, root

Endpoint Summary

Method Path Auth Handler
ANY /admin/hello admin namespace; deployment/config may restrict access admin\hello\Controller
ANY /docs no explicit auth gate detected in route/handler docs\Controller
ANY /hello no explicit auth gate detected in route/handler hello\Controller
ANY /members/hello no explicit auth gate detected in route/handler members\hello\Controller
ANY /v1/admin/asset/delete principal route rule: admin, root admin\asset\Delete
ANY /v1/admin/asset/get principal route rule: admin, root admin\asset\Get
ANY /v1/admin/asset/list principal route rule: admin, root admin\asset\ListItems
ANY /v1/admin/asset/save principal route rule: admin, root admin\asset\Save
ANY /v1/admin/cache/delete principal route rule: admin, root admin\cache\Delete
ANY /v1/admin/cache/get principal route rule: admin, root admin\cache\Get
ANY /v1/admin/cache/list principal route rule: admin, root admin\cache\ListItems
ANY /v1/admin/cache/save principal route rule: admin, root admin\cache\Save
ANY /v1/admin/config/delete principal route rule: admin, root admin\config\Delete
ANY /v1/admin/config/get principal route rule: admin, root admin\config\Get
ANY /v1/admin/config/list principal route rule: admin, root admin\config\ListItems
ANY /v1/admin/config/save principal route rule: admin, root admin\config\Save
ANY /v1/admin/docs/page/cache/clear principal route rule: admin, root admin\docs\page\ClearCache
ANY /v1/admin/docs/page/get principal route rule: admin, root admin\docs\page\Get
ANY /v1/admin/docs/page/preview principal route rule: admin, root admin\docs\page\Preview
ANY /v1/admin/docs/page/save principal route rule: admin, root admin\docs\page\Save
ANY /v1/admin/hook/delete principal route rule: admin, root admin\hook\Delete
ANY /v1/admin/hook/get principal route rule: admin, root admin\hook\Get
ANY /v1/admin/hook/list principal route rule: admin, root admin\hook\ListItems
ANY /v1/admin/hook/save principal route rule: admin, root admin\hook\Save

Endpoints

ANY /admin/hello

Handles hello.

  • Handler: thisProject\api\admin\hello\Controller
  • Source: lib/php/thisProject/api/admin/hello/Controller.php
  • Auth: admin namespace; deployment/config may restrict access
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: success comment(s): OK.

ANY /docs

Handles docs.

  • Handler: thisProject\api\docs\Controller
  • Source: lib/php/thisProject/api/docs/Controller.php
  • Auth: no explicit auth gate detected in route/handler
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: success comment(s): OK.

ANY /hello

Handles hello.

  • Handler: thisProject\api\hello\Controller
  • Source: lib/php/thisProject/api/hello/Controller.php
  • Auth: no explicit auth gate detected in route/handler
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: success comment(s): OK.

ANY /members/hello

Handles hello.

  • Handler: thisProject\api\members\hello\Controller
  • Source: lib/php/thisProject/api/members/hello/Controller.php
  • Auth: no explicit auth gate detected in route/handler
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: JSON response from the handler/delegated service.

ANY /v1/admin/asset/delete

Deletes asset.

  • Handler: thisProject\api\admin\asset\Delete
  • Source: lib/php/thisProject/api/admin/asset/Delete.php
  • Delegates to: lib/php/thisProject/service/DocAssetTable.php::delete
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • blob (optional/detected). Detected in handler or delegated service code.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
  • Response: success comment(s): OK; data key(s): id, deleted, item.
  • Notable errors: Doc asset not found; Missing asset lookup fields.

ANY /v1/admin/asset/get

Gets asset.

  • Handler: thisProject\api\admin\asset\Get
  • Source: lib/php/thisProject/api/admin/asset/Get.php
  • Delegates to: lib/php/thisProject/service/DocAssetTable.php::get
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • blob (optional/detected). Detected in handler or delegated service code.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • include_blob (optional/detected). Detected in handler or delegated service code.
  • Response: success comment(s): OK.
  • Notable errors: Doc asset not found; Missing asset lookup fields.

ANY /v1/admin/asset/list

Lists asset.

  • Handler: thisProject\api\admin\asset\ListItems
  • Source: lib/php/thisProject/api/admin/asset/ListItems.php
  • Delegates to: lib/php/thisProject/service/DocAssetTable.php::listItems
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • blob (optional/detected). Detected in handler or delegated service code.
    • cursor (optional/detected). Opaque pagination cursor.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • include_blob (optional/detected). Detected in handler or delegated service code.
    • limit (optional/detected). Page size limit. Default: 25.
    • offset (optional/detected). Zero-based pagination offset.
    • page_number (optional/detected). One-based page number.
  • Response: success comment(s): OK; data key(s): items, limit, total_count, next_offset, page_number, page_total, next_cursor.
  • Notable errors: Invalid offset; Invalid page_number; Invalid cursor.

ANY /v1/admin/asset/save

Creates or updates asset.

  • Handler: thisProject\api\admin\asset\Save
  • Source: lib/php/thisProject/api/admin/asset/Save.php
  • Delegates to: lib/php/thisProject/service/DocAssetTable.php::save
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • blob (required). Detected in handler or delegated service code.
    • blob_base64 (required). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
  • Response: success comment(s): OK.
  • Notable errors: Doc asset not found; Missing asset lookup fields; Missing blob_base64; Invalid blob_base64; Missing blob.

ANY /v1/admin/cache/delete

Deletes cache.

  • Handler: thisProject\api\admin\cache\Delete
  • Source: lib/php/thisProject/api/admin/cache/Delete.php
  • Delegates to: lib/php/thisProject/service/DocCacheTable.php::delete
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • doc_path (required). Detected in handler or delegated service code. Default: ''.
    • repo (required). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • type (optional/detected). Type discriminator. Default: 'html'.
    • version (optional/detected). Asset version. Default: '1'.
  • Response: success comment(s): OK; data key(s): id, deleted, item.
  • Notable errors: Doc cache entry not found; Missing cache lookup fields; Missing repo; Missing doc_path; Invalid type; Invalid version.

ANY /v1/admin/cache/get

Gets cache.

  • Handler: thisProject\api\admin\cache\Get
  • Source: lib/php/thisProject/api/admin/cache/Get.php
  • Delegates to: lib/php/thisProject/service/DocCacheTable.php::get
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • doc_path (required). Detected in handler or delegated service code. Default: ''.
    • repo (required). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • type (optional/detected). Type discriminator. Default: 'html'.
    • version (optional/detected). Asset version. Default: '1'.
  • Response: success comment(s): OK.
  • Notable errors: Doc cache entry not found; Missing cache lookup fields; Missing repo; Missing doc_path; Invalid type; Invalid version.

ANY /v1/admin/cache/list

Lists cache.

  • Handler: thisProject\api\admin\cache\ListItems
  • Source: lib/php/thisProject/api/admin/cache/ListItems.php
  • Delegates to: lib/php/thisProject/service/DocCacheTable.php::listItems
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • doc_path (required). Detected in handler or delegated service code. Default: ''.
    • repo (required). Detected in handler or delegated service code. Default: ''.
    • type (required). Type discriminator. Default: ''.
    • version (required). Asset version. Default: ''.
    • asset (optional/detected). Asset id. Default: ''.
    • cursor (optional/detected). Opaque pagination cursor.
    • doc_path_hash (optional/detected). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • limit (optional/detected). Page size limit. Default: 25.
    • offset (optional/detected). Zero-based pagination offset.
    • page_number (optional/detected). One-based page number.
    • source_hash (optional/detected). Detected in handler or delegated service code. Default: ''.
    • status (optional/detected). Status filter or value. Default: true.
  • Response: success comment(s): OK; data key(s): items, limit, total_count, next_offset, page_number, page_total, next_cursor.
  • Notable errors: Invalid offset; Invalid page_number; Missing repo; Missing doc_path; Missing type; Missing version; Invalid cursor.

ANY /v1/admin/cache/save

Creates or updates cache.

  • Handler: thisProject\api\admin\cache\Save
  • Source: lib/php/thisProject/api/admin/cache/Save.php
  • Delegates to: lib/php/thisProject/service/DocCacheTable.php::save
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • doc_path (required). Detected in handler or delegated service code. Default: ''.
    • repo (required). Detected in handler or delegated service code. Default: ''.
    • source_hash (required). Detected in handler or delegated service code. Default: ''.
    • type (required). Type discriminator. Default: 'html'.
    • version (required). Asset version. Default: '1'.
    • accessed (optional/detected). Detected in handler or delegated service code. Default: null.
    • asset (optional/detected). Asset id. Default: null.
    • data (optional/detected). Payload/data value.
    • error (optional/detected). Detected in handler or delegated service code. Default: null.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • source_bytes (optional/detected). Detected in handler or delegated service code. Default: null.
    • source_modified (optional/detected). Detected in handler or delegated service code. Default: null.
    • status (optional/detected). Status filter or value.
  • Response: success comment(s): OK.
  • Notable errors: Doc cache entry not found; Missing cache lookup fields; Missing repo; Missing doc_path; Invalid type; Invalid version; Missing type; Missing version.

ANY /v1/admin/config/delete

Deletes config.

  • Handler: thisProject\api\admin\config\Delete
  • Source: lib/php/thisProject/api/admin/config/Delete.php
  • Delegates to: lib/php/thisProject/service/ConfigTable.php::delete
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • key (required). Key id/name or drop encryption key depending on the endpoint. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • scope (optional/detected). Requested OAuth scope string. Default: null.
    • type (optional/detected). Type discriminator. Default: 'scalar'.
    • value (optional/detected). Detected in handler or delegated service code.
  • Response: success comment(s): OK; data key(s): id, deleted, item, cols, allow_null, key, es2null, type, scope, wrap.
  • Notable errors: Config entry not found; Missing config lookup fields; Invalid id; Missing key; Config service is disabled.

ANY /v1/admin/config/get

Gets config.

  • Handler: thisProject\api\admin\config\Get
  • Source: lib/php/thisProject/api/admin/config/Get.php
  • Delegates to: lib/php/thisProject/service/ConfigTable.php::get
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • key (required). Key id/name or drop encryption key depending on the endpoint. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • scope (optional/detected). Requested OAuth scope string. Default: null.
    • type (optional/detected). Type discriminator. Default: 'scalar'.
    • value (optional/detected). Detected in handler or delegated service code.
  • Response: success comment(s): OK; data key(s): cols, id, allow_null, key, es2null, type, scope, wrap.
  • Notable errors: Config entry not found; Missing config lookup fields; Invalid id; Missing key; Config service is disabled.

ANY /v1/admin/config/list

Lists config.

  • Handler: thisProject\api\admin\config\ListItems
  • Source: lib/php/thisProject/api/admin/config/ListItems.php
  • Delegates to: lib/php/thisProject/service/ConfigTable.php::listItems
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • key (required). Key id/name or drop encryption key depending on the endpoint. Default: ''.
    • count (optional/detected). Detected in handler or delegated service code. Default: 0.
    • cursor (optional/detected). Opaque pagination cursor.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • limit (optional/detected). Page size limit. Default: 25.
    • offset (optional/detected). Zero-based pagination offset.
    • page_number (optional/detected). One-based page number.
    • scope (optional/detected). Requested OAuth scope string. Default: null.
    • type (optional/detected). Type discriminator. Default: ''.
    • value (optional/detected). Detected in handler or delegated service code.
  • Response: success comment(s): OK; data key(s): items, limit, total_count, next_offset, page_number, page_total, next_cursor, cols, id, allow_null, key, es2null, type, scope, wrap.
  • Notable errors: Invalid offset; Invalid page_number; Invalid id; Missing key; Invalid cursor.

ANY /v1/admin/config/save

Creates or updates config.

  • Handler: thisProject\api\admin\config\Save
  • Source: lib/php/thisProject/api/admin/config/Save.php
  • Delegates to: lib/php/thisProject/service/ConfigTable.php::save
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • key (required). Key id/name or drop encryption key depending on the endpoint. Default: ''.
    • value (required). Detected in handler or delegated service code.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key.
    • scope (optional/detected). Requested OAuth scope string. Default: null.
    • type (optional/detected). Type discriminator. Default: ''.
  • Response: success comment(s): OK.
  • Notable errors: Missing value; Config service is disabled; Missing key.

ANY /v1/admin/docs/page/cache/clear

Handles docs page cache.

  • Handler: thisProject\api\admin\docs\page\ClearCache
  • Source: lib/php/thisProject/api/admin/docs/page/ClearCache.php
  • Delegates to: lib/php/thisProject/service/DocsPage.php::clearCache
  • Auth: principal route rule: admin, root
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: success comment(s): OK; data key(s): scope, key, config, source, cache, name, label, visible, reachable, data, data_type, cache_data, cache_data_type, cache_on_update, comment, asset.

ANY /v1/admin/docs/page/get

Gets docs page.

  • Handler: thisProject\api\admin\docs\page\Get
  • Source: lib/php/thisProject/api/admin/docs/page/Get.php
  • Delegates to: lib/php/thisProject/service/DocsPage.php::get
  • Auth: principal route rule: admin, root
  • Detected request fields: none in the handler; endpoint may be informational or delegates opaque input.
  • Response: success comment(s): OK; data key(s): scope, key, config, source, cache, name, label, visible, reachable, data, data_type, cache_data, cache_data_type, cache_on_update, comment, asset.

ANY /v1/admin/docs/page/preview

Builds preview for docs page.

  • Handler: thisProject\api\admin\docs\page\Preview
  • Source: lib/php/thisProject/api/admin/docs/page/Preview.php
  • Delegates to: lib/php/thisProject/service/DocsPage.php::preview
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • data_type (optional/detected). Detected in handler or delegated service code.
    • source (optional/detected). Source document/content payload.
  • Response: success comment(s): OK; data key(s): rendered, data_type, source, html, comment, scope, key, config, cache, name, label, visible, reachable, data, cache_data, cache_data_type.

ANY /v1/admin/docs/page/save

Creates or updates docs page.

  • Handler: thisProject\api\admin\docs\page\Save
  • Source: lib/php/thisProject/api/admin/docs/page/Save.php
  • Delegates to: lib/php/thisProject/service/DocsPage.php::save
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • cache (optional/detected). Detected in handler or delegated service code.
    • source (optional/detected). Source document/content payload.
  • Response: success comment(s): OK; data key(s): name, label, visible, reachable, data, data_type, cache_data, cache_data_type, cache_on_update, comment, scope, key, config, source, cache, asset.

ANY /v1/admin/hook/delete

Deletes hook.

  • Handler: thisProject\api\admin\hook\Delete
  • Source: lib/php/thisProject/api/admin/hook/Delete.php
  • Delegates to: lib/php/thisProject/service/DocHook.php::delete
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • hook (required). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
  • Response: success comment(s): OK; data key(s): id, deleted, item.
  • Notable errors: Doc hook not found; Missing hook lookup fields.

ANY /v1/admin/hook/get

Gets hook.

  • Handler: thisProject\api\admin\hook\Get
  • Source: lib/php/thisProject/api/admin/hook/Get.php
  • Delegates to: lib/php/thisProject/service/DocHook.php::get
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • hook (required). Detected in handler or delegated service code. Default: ''.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
  • Response: success comment(s): OK.
  • Notable errors: Doc hook not found; Missing hook lookup fields.

ANY /v1/admin/hook/list

Lists hook.

  • Handler: thisProject\api\admin\hook\ListItems
  • Source: lib/php/thisProject/api/admin/hook/ListItems.php
  • Delegates to: lib/php/thisProject/service/DocHook.php::listItems
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • hook (required). Detected in handler or delegated service code. Default: ''.
    • cursor (optional/detected). Opaque pagination cursor.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • limit (optional/detected). Page size limit. Default: 25.
    • offset (optional/detected). Zero-based pagination offset.
    • page_number (optional/detected). One-based page number.
    • root_path (optional/detected). Detected in handler or delegated service code. Default: null.
    • status (optional/detected). Status filter or value. Default: true.
    • type (optional/detected). Type discriminator. Default: ''.
  • Response: success comment(s): OK; data key(s): items, limit, total_count, next_offset, page_number, page_total, next_cursor.
  • Notable errors: Invalid offset; Invalid page_number; Missing hook; Invalid root_path; Invalid cursor.

ANY /v1/admin/hook/save

Creates or updates hook.

  • Handler: thisProject\api\admin\hook\Save
  • Source: lib/php/thisProject/api/admin/hook/Save.php
  • Delegates to: lib/php/thisProject/service/DocHook.php::save
  • Auth: principal route rule: admin, root
  • Detected request fields:
    • hook (required). Detected in handler or delegated service code. Default: ''.
    • type (required). Type discriminator.
    • accessed (optional/detected). Detected in handler or delegated service code. Default: null.
    • comment (optional/detected). Detected in handler or delegated service code. Default: null.
    • id (optional/detected). Record identifier. Many handlers accept this as the primary lookup key. Default: ''.
    • opts (optional/detected). Detected in handler or delegated service code.
    • root_path (optional/detected). Detected in handler or delegated service code. Default: null.
    • status (optional/detected). Status filter or value.
  • Response: success comment(s): OK.
  • Notable errors: Doc hook not found; Missing hook lookup fields; Missing hook; Missing type; Invalid root_path.
1