{"openapi":"3.1.0","info":{"title":"mizan-gpp (AEP)","description":"Forms-as-a-service on the hono-aep suite — baas/spec/ is the contract.","version":"0.1.0"},"servers":[],"tags":[{"name":"Projects"},{"name":"Forms"},{"name":"Submissions"},{"name":"Collections"},{"name":"Domains"},{"name":"Kinds"},{"name":"Themes"},{"name":"Pages"},{"name":"Blocks"},{"name":"Operations"},{"name":"Notifications"}],"paths":{"/projects":{"get":{"operationId":"ListProject","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Projects"],"description":"List method for project","parameters":[{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/project"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateProject","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Projects"],"description":"Create method for project","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"parameters":[{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}":{"get":{"operationId":"GetProject","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Projects"],"description":"Get method for project","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateProject","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Projects"],"description":"Update method for project (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/project"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyProject","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Projects"],"description":"Apply method for project — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteProject","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Projects"],"description":"Delete method for project","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects:batchGet":{"get":{"operationId":":BatchGetProject","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Projects"],"description":"Batch get method for project (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/project"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/forms":{"get":{"operationId":"ListForm","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Forms"],"description":"List method for form","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/form"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateForm","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Forms"],"description":"Create method for form","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/forms/{form_id}":{"get":{"operationId":"GetForm","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Forms"],"description":"Get method for form","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateForm","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Forms"],"description":"Update method for form (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/form"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyForm","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Forms"],"description":"Apply method for form — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/form"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteForm","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Forms"],"description":"Delete method for form","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/forms:batchGet":{"get":{"operationId":":BatchGetForm","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Forms"],"description":"Batch get method for form (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/form"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/forms/{form_id}/submissions":{"get":{"operationId":"ListSubmission","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Submissions"],"description":"List method for submission","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/submission"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateSubmission","tags":["Submissions"],"description":"Create method for submission","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/submission"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/submission"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/forms/{form_id}/submissions/{submission_id}":{"get":{"operationId":"GetSubmission","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Submissions"],"description":"Get method for submission","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"submission_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/submission"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteSubmission","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Submissions"],"description":"Delete method for submission","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"submission_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/forms/{form_id}/submissions:batchGet":{"get":{"operationId":":BatchGetSubmission","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Submissions"],"description":"Batch get method for submission (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"form_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/submission"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/collections":{"get":{"operationId":"ListCollection","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Collections"],"description":"List method for collection","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/collection"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateCollection","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Collections"],"description":"Create method for collection","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/collections/{collection_id}":{"get":{"operationId":"GetCollection","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Collections"],"description":"Get method for collection","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateCollection","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Collections"],"description":"Update method for collection (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyCollection","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Collections"],"description":"Apply method for collection — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteCollection","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Collections"],"description":"Delete method for collection","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/collections:batchGet":{"get":{"operationId":":BatchGetCollection","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Collections"],"description":"Batch get method for collection (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/collection"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/domains":{"get":{"operationId":"ListDomain","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Domains"],"description":"List method for domain","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/domain"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateDomain","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Domains"],"description":"Create method for domain","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/domains/{domain_id}":{"get":{"operationId":"GetDomain","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Domains"],"description":"Get method for domain","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateDomain","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Domains"],"description":"Update method for domain (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyDomain","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Domains"],"description":"Apply method for domain — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteDomain","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Domains"],"description":"Delete method for domain","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/domains:batchGet":{"get":{"operationId":":BatchGetDomain","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Domains"],"description":"Batch get method for domain (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/domain"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/kinds":{"get":{"operationId":"ListKind","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Kinds"],"description":"List method for kind","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/kind"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateKind","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Kinds"],"description":"Create method for kind","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/kinds/{kind_id}":{"get":{"operationId":"GetKind","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Kinds"],"description":"Get method for kind","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"kind_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateKind","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Kinds"],"description":"Update method for kind (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"kind_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyKind","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Kinds"],"description":"Apply method for kind — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"kind_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/kind"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteKind","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Kinds"],"description":"Delete method for kind","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"kind_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/kinds:batchGet":{"get":{"operationId":":BatchGetKind","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Kinds"],"description":"Batch get method for kind (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/kind"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/themes":{"get":{"operationId":"ListTheme","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Themes"],"description":"List method for theme","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/theme"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateTheme","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Themes"],"description":"Create method for theme","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/themes/{theme_id}":{"get":{"operationId":"GetTheme","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Themes"],"description":"Get method for theme","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"theme_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateTheme","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Themes"],"description":"Update method for theme (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"theme_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyTheme","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Themes"],"description":"Apply method for theme — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"theme_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/theme"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteTheme","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Themes"],"description":"Delete method for theme","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"theme_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/themes:batchGet":{"get":{"operationId":":BatchGetTheme","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Themes"],"description":"Batch get method for theme (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/theme"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/pages":{"get":{"operationId":"ListPage","tags":["Pages"],"description":"List method for page","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/page"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreatePage","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Pages"],"description":"Create method for page","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/pages/{page_id}":{"get":{"operationId":"GetPage","tags":["Pages"],"description":"Get method for page","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"page_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdatePage","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Pages"],"description":"Update method for page (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"page_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/page"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyPage","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Pages"],"description":"Apply method for page — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"page_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/page"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeletePage","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Pages"],"description":"Delete method for page","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"page_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/pages:batchGet":{"get":{"operationId":":BatchGetPage","tags":["Pages"],"description":"Batch get method for page (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/page"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/blocks":{"get":{"operationId":"ListBlock","tags":["Blocks"],"description":"List method for block","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/block"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"post":{"operationId":"CreateBlock","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Blocks"],"description":"Create method for block","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","schema":{"type":"string"},"description":"Client-chosen id for the new resource (AEP-133)."},{"in":"query","name":"request_id","schema":{"type":"string"},"description":"Idempotency key (AEP-155): retrying a Create with the same request_id returns the first result instead of creating a duplicate."}],"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"409":{"description":"ALREADY_EXISTS (RFC 9457 problem)"}}}},"/projects/{project_id}/blocks/{block_id}":{"get":{"operationId":"GetBlock","tags":["Blocks"],"description":"Get method for block","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"block_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}},"patch":{"operationId":"UpdateBlock","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Blocks"],"description":"Update method for block (JSON Merge Patch, RFC 7386)","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"block_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/block"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"put":{"operationId":"ApplyBlock","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Blocks"],"description":"Apply method for block — full replacement; creates the resource at this path when absent","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"block_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"responses":{"200":{"description":"Successful response (updated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"201":{"description":"Successful response (created)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/block"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"},"412":{"description":"Precondition (If-Match) failed (RFC 9457 problem)"}}},"delete":{"operationId":"DeleteBlock","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"created_by"}},"tags":["Blocks"],"description":"Delete method for block","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"block_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","schema":{"type":"boolean"},"description":"Also delete child resources (AEP-135)."}],"responses":{"204":{"description":"Successful response"},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/blocks:batchGet":{"get":{"operationId":":BatchGetBlock","tags":["Blocks"],"description":"Batch get method for block (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/block"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/operations":{"get":{"operationId":"ListOperation","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Operations"],"description":"List method for operation","parameters":[{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/operation"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/operations/{operation_id}":{"get":{"operationId":"GetOperation","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Operations"],"description":"Get method for operation","parameters":[{"in":"path","name":"operation_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/operations:batchGet":{"get":{"operationId":":BatchGetOperation","security":[{"session":[]}],"x-hono-aep-policy":"authenticated","tags":["Operations"],"description":"Batch get method for operation (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/operation"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/notifications":{"get":{"operationId":"ListNotification","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"recipient"}},"tags":["Notifications"],"description":"List method for notification","parameters":[{"in":"query","name":"max_page_size","schema":{"type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"in":"query","name":"skip","schema":{"type":"integer"}},{"in":"query","name":"filter","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/notification"}},"next_page_token":{"type":"string"}},"required":["results","next_page_token"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/notifications/{notification_id}":{"get":{"operationId":"GetNotification","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"recipient"}},"tags":["Notifications"],"description":"Get method for notification","parameters":[{"in":"path","name":"notification_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"read_mask","schema":{"type":"string"},"description":"Comma-separated fields to return (AEP-157); `path` is always included."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/notification"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/notifications:batchGet":{"get":{"operationId":":BatchGetNotification","security":[{"session":[]}],"x-hono-aep-policy":{"owner":{"field":"recipient"}},"tags":["Notifications"],"description":"Batch get method for notification (AEP-231). Fails with NOT_FOUND if any requested resource is missing.","parameters":[{"in":"query","name":"paths","schema":{"type":"string"},"description":"Comma-separated resource paths, order preserved in the response."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/notification"}}},"required":["results"]}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/domains/{domain_id}:verify":{"post":{"operationId":":VerifyDomain","tags":["Domains"],"description":"Resolve the challenge TXT at `_hono-aep-challenge.{host}` and, on a match, activate the domain so it begins routing. Publish the record first; re-run after DNS propagates.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/domains/{domain_id}:activate":{"post":{"operationId":":ActivateDomain","tags":["Domains"],"description":"Proof accepted — the host may route.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}},"/projects/{project_id}/domains/{domain_id}:suspend":{"post":{"operationId":":SuspendDomain","tags":["Domains"],"description":"Proof lapsed — routing stops.","parameters":[{"in":"path","name":"project_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"domain_id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/domain"}}}},"400":{"description":"INVALID_ARGUMENT (RFC 9457 problem)"},"404":{"description":"NOT_FOUND (RFC 9457 problem)"}}}}},"components":{"schemas":{"project":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"display_name":{"type":"string","minLength":1,"maxLength":120,"description":"The project's name."},"auth_pool":{"description":"END-USER auth pool (baas/auth-pools.md): presence enables /v1/projects/{p}/auth/* (better-auth, bearer-first). Config: {emailPassword?{enabled}, session?{ttlSeconds}}.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"site":{"description":"Site config for the consumer frontend (baas/site.md §2): {url, description?, locale?, name?, app?{shortName,display,shortcuts,…}} — feeds the reified sitemap/robots/llms/manifest artifacts.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"created_by":{"description":"The owning principal (set by the server, never the client).","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","display_name","create_time","update_time"],"description":"A project resource.","x-aep-ui":{"titleField":"display_name","fields":[{"name":"display_name","label":"Display Name","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":0,"description":"The project's name.","constraints":{"minLength":1,"maxLength":120,"type":"string"}},{"name":"auth_pool","label":"Auth Pool","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":1,"description":"END-USER auth pool (baas/auth-pools.md): presence enables /v1/projects/{p}/auth/* (better-auth, bearer-first). Config: {emailPassword?{enabled}, session?{ttlSeconds}}.","constraints":{"type":"object"}},{"name":"site","label":"Site","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":2,"description":"Site config for the consumer frontend (baas/site.md §2): {url, description?, locale?, name?, app?{shortName,display,shortcuts,…}} — feeds the reified sitemap/robots/llms/manifest artifacts.","constraints":{"type":"object"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":3,"description":"The owning principal (set by the server, never the client).","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":4},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":5}],"columns":["display_name","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"project","plural":"projects","patterns":["projects/{project_id}"],"type":"baas.hono-aep.dev/project"}},"form":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"display_name":{"type":"string","minLength":1,"maxLength":120,"description":"The form's name (appears in notification subjects)."},"notify_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Where new submissions are announced."},"redirect_url":{"description":"Where browsers land after a successful submit (303).","type":"string","format":"uri"},"submit_key":{"description":"The publishable submit key (pk_…, baas/keys.md: identifies, not a secret — safe in public HTML). Minted at create; rotate by recreating the form.","type":"string"},"created_by":{"description":"Denormalized owner-of-ancestor (baas/README.md §2).","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","display_name","notify_email","create_time","update_time"],"description":"A form resource.","x-aep-ui":{"titleField":"display_name","fields":[{"name":"display_name","label":"Display Name","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":0,"description":"The form's name (appears in notification subjects).","constraints":{"minLength":1,"maxLength":120,"type":"string"}},{"name":"notify_email","label":"Notify Email","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"email","widget":"email","required":true,"readOnly":false,"order":1,"description":"Where new submissions are announced.","constraints":{"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","format":"email","type":"string"}},{"name":"redirect_url","label":"Redirect Url","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"url","widget":"url","required":false,"readOnly":false,"order":2,"description":"Where browsers land after a successful submit (303).","constraints":{"format":"uri","type":"string"}},{"name":"submit_key","label":"Submit Key","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":3,"description":"The publishable submit key (pk_…, baas/keys.md: identifies, not a secret — safe in public HTML). Minted at create; rotate by recreating the form.","constraints":{"type":"string"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":4,"description":"Denormalized owner-of-ancestor (baas/README.md §2).","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":5},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":6}],"columns":["display_name","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"form","plural":"forms","patterns":["projects/{project_id}/forms/{form_id}"],"parents":["project"],"type":"baas.hono-aep.dev/form"}},"submission":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"data":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The submitted fields (reserved `_` control fields already stripped)."},"replyto":{"description":"The submitter's address (from `_replyto`) — the autoresponder Target.","type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"verdict":{"description":"Spam-posture outcome (forms.md §2) — recorded, never silently dropped.","type":"string","enum":["ham","spam","unverified"]},"created_by":{"description":"Denormalized owner-of-ancestor (the form's owner).","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","data","create_time","update_time"],"description":"A submission resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"data","label":"Data","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"json","widget":"json","required":true,"readOnly":false,"order":0,"description":"The submitted fields (reserved `_` control fields already stripped).","constraints":{"type":"object"}},{"name":"replyto","label":"Replyto","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"email","widget":"email","required":false,"readOnly":false,"order":1,"description":"The submitter's address (from `_replyto`) — the autoresponder Target.","constraints":{"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","format":"email","type":"string"}},{"name":"verdict","label":"Verdict","type":"string","source":{"kind":"enum","options":["ham","spam","unverified"]},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"select","required":false,"readOnly":false,"order":2,"description":"Spam-posture outcome (forms.md §2) — recorded, never silently dropped.","options":["ham","spam","unverified"],"constraints":{"type":"string","enum":["ham","spam","unverified"]}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":3,"description":"Denormalized owner-of-ancestor (the form's owner).","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":4},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":5}],"columns":["path","verdict","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"submission","plural":"submissions","patterns":["projects/{project_id}/forms/{form_id}/submissions/{submission_id}"],"parents":["form"],"type":"baas.hono-aep.dev/submission"}},"collection":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"definition":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The resource document (cms/execution-modes.md JIT form): singular/plural, fields, states, transitions, policies, owner. Validated by resourceFromDocument on every write."},"created_by":{"description":"Denormalized owner-of-ancestor.","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","definition","create_time","update_time"],"description":"A collection resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"definition","label":"Definition","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"json","widget":"json","required":true,"readOnly":false,"order":0,"description":"The resource document (cms/execution-modes.md JIT form): singular/plural, fields, states, transitions, policies, owner. Validated by resourceFromDocument on every write.","constraints":{"type":"object"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":1,"description":"Denormalized owner-of-ancestor.","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":2},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":3}],"columns":["path","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"collection","plural":"collections","patterns":["projects/{project_id}/collections/{collection_id}"],"parents":["project"],"type":"baas.hono-aep.dev/collection"}},"domain":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"kind":{"type":"string","enum":["api","site"],"description":"`api` makes this host the surface origin — openapi servers[], {BASE}/mcp, studio/admin, auth callbacks. `site` is the frontend origin used for absolute links, OG cards and redirects."},"challenge":{"description":"OUTPUT-ONLY. Publish as TXT at `_hono-aep-challenge.{host}`, then call `:verify`. Proof of control is what authorizes routing.","x-ui":{"control":"readonly"},"type":"string"},"verified_time":{"description":"OUTPUT-ONLY. When the challenge last resolved.","x-ui":{"control":"readonly"},"type":"string"},"last_error":{"description":"OUTPUT-ONLY. Why the most recent `:verify` did not pass.","x-ui":{"control":"readonly"},"type":"string"},"created_by":{"description":"Denormalized owner-of-ancestor.","type":"string"},"state":{"type":"string","enum":["PENDING","ACTIVE","FAILED"],"description":"Output-only lifecycle state (AEP-216).","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","kind","state","create_time","update_time"],"description":"A domain resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"kind","label":"Kind","type":"string","source":{"kind":"enum","options":["api","site"]},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"select","required":true,"readOnly":false,"order":0,"description":"`api` makes this host the surface origin — openapi servers[], {BASE}/mcp, studio/admin, auth callbacks. `site` is the frontend origin used for absolute links, OG cards and redirects.","options":["api","site"],"constraints":{"type":"string","enum":["api","site"]}},{"name":"challenge","label":"Challenge","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"control":"readonly","widget":"text","required":false,"readOnly":false,"order":1,"description":"OUTPUT-ONLY. Publish as TXT at `_hono-aep-challenge.{host}`, then call `:verify`. Proof of control is what authorizes routing.","constraints":{"type":"string"}},{"name":"verified_time","label":"Verified Time","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"control":"readonly","widget":"text","required":false,"readOnly":false,"order":2,"description":"OUTPUT-ONLY. When the challenge last resolved.","constraints":{"type":"string"}},{"name":"last_error","label":"Last Error","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"control":"readonly","widget":"text","required":false,"readOnly":false,"order":3,"description":"OUTPUT-ONLY. Why the most recent `:verify` did not pass.","constraints":{"type":"string"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":4,"description":"Denormalized owner-of-ancestor.","constraints":{"type":"string"}},{"name":"state","label":"State","type":"string","source":{"kind":"enum","options":["PENDING","ACTIVE","FAILED"]},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"select","required":false,"readOnly":true,"order":5,"options":["PENDING","ACTIVE","FAILED"]},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":6},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":7}],"columns":["path","kind","state","update_time"],"transitions":[{"verb":"activate","from":["PENDING","FAILED"],"to":"ACTIVE","description":"Proof accepted — the host may route."},{"verb":"suspend","from":["ACTIVE"],"to":"PENDING","description":"Proof lapsed — routing stops."}],"softDelete":false,"states":["PENDING","ACTIVE","FAILED"]},"x-aep-resource":{"singular":"domain","plural":"domains","patterns":["projects/{project_id}/domains/{domain_id}"],"parents":["project"],"type":"baas.hono-aep.dev/domain"}},"kind":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"definition":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The meta-resource document (kinds.md §2): singular/plural (the names a child sees), `bind` (the inherited capability powering it — REQUIRED), fields, states, transitions, policies, plus optional `constrain` and `defaults`. Validated on every write against the capabilities this project holds."},"created_by":{"description":"Denormalized owner-of-ancestor.","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","definition","create_time","update_time"],"description":"A kind resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"definition","label":"Definition","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"json","widget":"json","required":true,"readOnly":false,"order":0,"description":"The meta-resource document (kinds.md §2): singular/plural (the names a child sees), `bind` (the inherited capability powering it — REQUIRED), fields, states, transitions, policies, plus optional `constrain` and `defaults`. Validated on every write against the capabilities this project holds.","constraints":{"type":"object"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":1,"description":"Denormalized owner-of-ancestor.","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":2},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":3}],"columns":["path","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"kind","plural":"kinds","patterns":["projects/{project_id}/kinds/{kind_id}"],"parents":["project"],"type":"baas.hono-aep.dev/kind"}},"theme":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"css":{"type":"string","minLength":1,"description":"The theme document (.cms.css form): `:root { --tokens }` + `.dark { … }`. Canonicalized on every write (round-trip law); tweakcn output pastes straight in.","x-ui":{"control":"textarea"}},"created_by":{"description":"Denormalized owner-of-ancestor.","type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","css","create_time","update_time"],"description":"A theme resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"css","label":"Css","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"control":"textarea","widget":"text","required":true,"readOnly":false,"order":0,"description":"The theme document (.cms.css form): `:root { --tokens }` + `.dark { … }`. Canonicalized on every write (round-trip law); tweakcn output pastes straight in.","constraints":{"minLength":1,"type":"string"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":1,"description":"Denormalized owner-of-ancestor.","constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":2},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":3}],"columns":["path","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"theme","plural":"themes","patterns":["projects/{project_id}/themes/{theme_id}"],"parents":["project"],"type":"baas.hono-aep.dev/theme"}},"page":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"title":{"type":"string","minLength":1,"maxLength":160},"data":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The Puck document ({content: [...], root: {...}}) — rendered by hono-aep-blocks CmsPage."},"seo":{"description":"Per-page head overrides (site.md; reified at build for static consumers).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"created_by":{"type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","title","data","create_time","update_time"],"description":"A page resource.","x-aep-ui":{"titleField":"title","fields":[{"name":"title","label":"Title","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":0,"constraints":{"minLength":1,"maxLength":160,"type":"string"}},{"name":"data","label":"Data","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"json","widget":"json","required":true,"readOnly":false,"order":1,"description":"The Puck document ({content: [...], root: {...}}) — rendered by hono-aep-blocks CmsPage.","constraints":{"type":"object"}},{"name":"seo","label":"Seo","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":2,"description":"Per-page head overrides (site.md; reified at build for static consumers).","constraints":{"type":"object"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":3,"constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":4},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":5}],"columns":["title","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"page","plural":"pages","patterns":["projects/{project_id}/pages/{page_id}"],"parents":["project"],"type":"baas.hono-aep.dev/page"}},"block":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"title":{"description":"Editor-facing label; never rendered.","type":"string","maxLength":160},"data":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The Puck FRAGMENT ({content: [...]}) — a section rendered as-is by CmsBlock inside the consumer's own routes."},"created_by":{"type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","data","create_time","update_time"],"description":"A block resource.","x-aep-ui":{"titleField":"title","fields":[{"name":"title","label":"Title","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":0,"description":"Editor-facing label; never rendered.","constraints":{"maxLength":160,"type":"string"}},{"name":"data","label":"Data","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"format":"json","widget":"json","required":true,"readOnly":false,"order":1,"description":"The Puck FRAGMENT ({content: [...]}) — a section rendered as-is by CmsBlock inside the consumer's own routes.","constraints":{"type":"object"}},{"name":"created_by","label":"Created By","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":2,"constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":3},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":4}],"columns":["title","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"block","plural":"blocks","patterns":["projects/{project_id}/blocks/{block_id}"],"parents":["project"],"type":"baas.hono-aep.dev/block"}},"operation":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"type":{"type":"string"},"queue":{"type":"string"},"done":{"type":"boolean"},"ok":{"type":"boolean"},"error":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"response":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","type","queue","done","create_time","update_time"],"description":"A operation resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"type","label":"Type","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":0,"constraints":{"type":"string"}},{"name":"queue","label":"Queue","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":1,"constraints":{"type":"string"}},{"name":"done","label":"Done","type":"boolean","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"checkbox","required":true,"readOnly":false,"order":2,"constraints":{"type":"boolean"}},{"name":"ok","label":"Ok","type":"boolean","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"checkbox","required":false,"readOnly":false,"order":3,"constraints":{"type":"boolean"}},{"name":"error","label":"Error","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":4,"constraints":{"type":"object"}},{"name":"response","label":"Response","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":5,"constraints":{"type":"object"}},{"name":"metadata","label":"Metadata","type":"any","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"format":"json","widget":"json","required":false,"readOnly":false,"order":6,"constraints":{"type":"object"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":7},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":8}],"columns":["path","done","ok","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"operation","plural":"operations","patterns":["operations/{operation_id}"],"type":"baas.hono-aep.dev/operation"}},"notification":{"type":"object","properties":{"path":{"type":"string","description":"The server-assigned path of the resource, which is unique within the service.","x-aep-field-behavior":["IDENTIFIER","OUTPUT_ONLY","IMMUTABLE"],"readOnly":true},"subject":{"type":"string"},"body":{"type":"string"},"recipient":{"type":"string"},"topic":{"type":"string"},"read_time":{"type":"string"},"create_time":{"type":"string","description":"RFC 3339 timestamp when the resource was created.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true},"update_time":{"type":"string","description":"RFC 3339 timestamp of the most recent user-visible update.","format":"date-time","x-aep-field-behavior":["OUTPUT_ONLY"],"readOnly":true}},"required":["path","subject","body","recipient","create_time","update_time"],"description":"A notification resource.","x-aep-ui":{"titleField":"path","fields":[{"name":"subject","label":"Subject","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":0,"constraints":{"type":"string"}},{"name":"body","label":"Body","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":1,"constraints":{"type":"string"}},{"name":"recipient","label":"Recipient","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["REQUIRED"],"widget":"text","required":true,"readOnly":false,"order":2,"constraints":{"type":"string"}},{"name":"topic","label":"Topic","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":3,"constraints":{"type":"string"}},{"name":"read_time","label":"Read Time","type":"string","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL"],"widget":"text","required":false,"readOnly":false,"order":4,"constraints":{"type":"string"}},{"name":"create_time","label":"Create Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":5},{"name":"update_time","label":"Update Time","type":"datetime","source":{"kind":"free"},"cardinality":"one","ordered":true,"behavior":["OPTIONAL","OUTPUT_ONLY"],"widget":"datetime","required":false,"readOnly":true,"order":6}],"columns":["path","update_time"],"transitions":[],"softDelete":false},"x-aep-resource":{"singular":"notification","plural":"notifications","patterns":["notifications/{notification_id}"],"type":"baas.hono-aep.dev/notification"}}},"securitySchemes":{"session":{"type":"apiKey","in":"cookie","name":"better-auth.session_token","description":"Session cookie issued by the authn service (better-auth). Operations without a security requirement are public."}}}}