2531 lines
88 KiB
YAML
2531 lines
88 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: 1C Connector API
|
|
version: 0.1.0
|
|
description: Read-first connector API for safe interaction with 1C metadata, BSL modules, and read-only queries.
|
|
servers:
|
|
- url: http://localhost:8011
|
|
security:
|
|
- serviceToken: []
|
|
paths:
|
|
/health:
|
|
get:
|
|
operationId: health
|
|
parameters:
|
|
- $ref: "#/components/parameters/BaseId"
|
|
responses:
|
|
"200":
|
|
description: Connector health.
|
|
/metadata/kinds:
|
|
get:
|
|
operationId: getMetadataKinds
|
|
parameters:
|
|
- $ref: "#/components/parameters/BaseId"
|
|
responses:
|
|
"200":
|
|
description: Available metadata kinds.
|
|
/metadata/objects:
|
|
get:
|
|
operationId: listMetadataObjects
|
|
parameters:
|
|
- $ref: "#/components/parameters/BaseId"
|
|
- name: kind
|
|
in: query
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
- name: name_filter
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Optional substring filter over object name, synonym, or GUID. Use this instead of query.
|
|
- name: include_storage
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
description: Include physical DBNames/storage traces. Intended for low-level diagnostics, not normal user-facing metadata responses.
|
|
responses:
|
|
"200":
|
|
description: 1C metadata objects for the requested kind. Physical storage traces are hidden unless include_storage=true.
|
|
/metadata/object:
|
|
get:
|
|
operationId: getMetadataObject
|
|
parameters:
|
|
- $ref: "#/components/parameters/BaseId"
|
|
- name: table
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
- name: kind
|
|
in: query
|
|
required: true
|
|
schema:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
- name: name
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: include_storage
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
description: Include physical DBNames/storage traces. Intended for low-level diagnostics, not normal user-facing metadata responses.
|
|
responses:
|
|
"200":
|
|
description: 1C metadata object card with decoded semantic sections. Physical storage traces are hidden unless include_storage=true.
|
|
/metadata/object/decode:
|
|
post:
|
|
operationId: decodeMetadataObject
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
include_tree:
|
|
type: boolean
|
|
default: false
|
|
include_text:
|
|
type: boolean
|
|
default: false
|
|
max_depth:
|
|
type: integer
|
|
default: 3
|
|
maximum: 8
|
|
responses:
|
|
"200":
|
|
description: Live decoded Config object profile with semantic sections and DBNames routes.
|
|
/metadata/object/full:
|
|
post:
|
|
operationId: getFullMetadataObjectProfile
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
ordinal:
|
|
type: integer
|
|
minimum: 1
|
|
description: Optional 1-based object ordinal within metadata.objects.list for the selected kind.
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
description: Include physical DBNames/storage traces for adapter diagnostics.
|
|
sections:
|
|
type: array
|
|
description: Optional filter to run only selected sections of the full profile.
|
|
items:
|
|
type: string
|
|
enum:
|
|
- all
|
|
- card
|
|
- semantic
|
|
- forms
|
|
- templates
|
|
- commands
|
|
- modules
|
|
- parts_summary
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: Total job timeout in seconds.
|
|
section_timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: Per-section timeout in seconds.
|
|
include_parts_summary:
|
|
type: boolean
|
|
default: false
|
|
include_form_module_text:
|
|
type: boolean
|
|
default: false
|
|
include_module_text:
|
|
type: boolean
|
|
default: false
|
|
description: Include full object/module BSL text. By default only previews, routine lists, and validation are returned.
|
|
max_forms:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 100
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
max_form_items:
|
|
type: integer
|
|
default: 1000
|
|
max_items:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 5000
|
|
responses:
|
|
"200":
|
|
description: High-level 1C object profile with card, semantic sections, decoded forms, BSL module profiles, and counts.
|
|
/metadata/object/attributes:
|
|
post:
|
|
operationId: getMetadataObjectAttributes
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
ordinal:
|
|
type: integer
|
|
minimum: 1
|
|
description: Optional 1-based object ordinal within metadata.objects.list for the selected kind.
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
description: Include physical DBNames/storage traces for adapter diagnostics.
|
|
responses:
|
|
"200":
|
|
description: High-level 1C object attributes/requisites and tabular sections. Physical SQL/storage traces are hidden unless include_storage=true.
|
|
/metadata/object/parts:
|
|
post:
|
|
operationId: listMetadataObjectParts
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
include_text:
|
|
type: boolean
|
|
default: false
|
|
include_tree:
|
|
type: boolean
|
|
default: false
|
|
part_limit:
|
|
type: integer
|
|
default: 200
|
|
responses:
|
|
"200":
|
|
description: Live object Config parts classified by payload evidence.
|
|
/metadata/object/modules:
|
|
post:
|
|
operationId: listMetadataObjectModules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Live BSL module stream ids for a metadata object.
|
|
/metadata/object/related:
|
|
post:
|
|
operationId: listMetadataObjectRelated
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
include_text:
|
|
type: boolean
|
|
default: false
|
|
guids_per_record:
|
|
type: integer
|
|
default: 5
|
|
responses:
|
|
"200":
|
|
description: Related live Config records referenced by the object.
|
|
/metadata/object/forms:
|
|
post:
|
|
operationId: listMetadataObjectForms
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
guid:
|
|
type: string
|
|
description: Config object GUID. If omitted, kind and name are used.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
form:
|
|
type: string
|
|
description: Optional form name or synonym filter.
|
|
include_text:
|
|
type: boolean
|
|
default: false
|
|
include_tree:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Live forms for the metadata object with decoded form payload part summaries.
|
|
/metadata/form/decode:
|
|
post:
|
|
operationId: decodeMetadataForm
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
default: Config
|
|
description: Storage table to read from. Use Config for active config, ConfigSave for saved config.
|
|
form_guid:
|
|
type: string
|
|
description: Form GUID. The adapter will select the form payload part automatically.
|
|
file_name:
|
|
type: string
|
|
description: Exact Config/FileName form payload, for example <form_guid>.0.
|
|
max_items:
|
|
type: integer
|
|
default: 500
|
|
include_module_text:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Decoded live form payload profile.
|
|
/metadata/saved-state/forms/search:
|
|
post:
|
|
operationId: searchSavedStateForms
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
tables:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
prefix:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
command:
|
|
type: string
|
|
query:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
default: 50
|
|
scan_limit:
|
|
type: integer
|
|
default: 1000
|
|
responses:
|
|
"200":
|
|
description: Saved-state form search/index result with matching writable targets.
|
|
/metadata/form/write-target/resolve:
|
|
post:
|
|
operationId: resolveMetadataFormWriteTarget
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
default: ConfigCASSave
|
|
file_name:
|
|
type: string
|
|
form_guid:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
command:
|
|
type: string
|
|
element_id:
|
|
type: string
|
|
element_path:
|
|
type: string
|
|
property:
|
|
type: string
|
|
value: {}
|
|
source:
|
|
type: string
|
|
enum: [local, local_override, element, override]
|
|
description: Optional write source selector. Use local_override to intentionally write an element caption even when display text is inherited.
|
|
search_limit:
|
|
type: integer
|
|
default: 10
|
|
scan_limit:
|
|
type: integer
|
|
default: 1000
|
|
responses:
|
|
"200":
|
|
description: Resolved saved-state form write target with source file, section, writable paths, and semantic diff.
|
|
/metadata/form/element-write:
|
|
post:
|
|
operationId: planMetadataFormElementSavedStateWrite
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, allow_saved_state_write, edits]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
default: ConfigSave
|
|
description: Saved-state table to target. Active Config/ConfigCAS writes are rejected.
|
|
form_guid:
|
|
type: string
|
|
description: Form GUID. The adapter resolves the saved-state form payload automatically.
|
|
file_name:
|
|
type: string
|
|
description: Exact saved-state FileName form payload, for example <form_guid>.0.
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
description: Form element name or title.
|
|
element_id:
|
|
type: string
|
|
element_path:
|
|
type: string
|
|
description: Internal decoded element path, when available from diagnostic reads.
|
|
allow_saved_state_write:
|
|
type: boolean
|
|
description: Required explicit opt-in. The method still returns a proposal and does not update SQL.
|
|
edits:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
required: [property, value]
|
|
properties:
|
|
property:
|
|
type: string
|
|
description: Decoded form element property, for example title, name, id, or Видимость.
|
|
value: {}
|
|
expected_old: {}
|
|
source:
|
|
type: string
|
|
enum: [local, local_override, element, override]
|
|
description: Optional write source selector. Use local_override to intentionally write the local form element caption.
|
|
expected_sha1:
|
|
type: string
|
|
include_payload:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Reviewable saved-state form element change proposal. Does not apply SQL changes.
|
|
/metadata/form/element-write-apply:
|
|
post:
|
|
operationId: runMetadataFormElementSavedStateWrite
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, edits]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
execution_mode:
|
|
type: string
|
|
enum: [plan, apply, apply_and_verify, apply_and_rollback]
|
|
default: plan
|
|
description: plan returns a proposal; apply writes it; apply_and_verify writes and keeps the verified change; apply_and_rollback performs a smoke write and restores from backup.
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
default: ConfigSave
|
|
form_guid:
|
|
type: string
|
|
file_name:
|
|
type: string
|
|
kind:
|
|
$ref: "#/components/schemas/MetadataKind"
|
|
name:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
element_id:
|
|
type: string
|
|
element_path:
|
|
type: string
|
|
allow_sql_saved_state_apply:
|
|
type: boolean
|
|
description: Required for execution_mode apply, apply_and_verify, and apply_and_rollback.
|
|
allow_sql_saved_state_rollback:
|
|
type: boolean
|
|
description: Required for execution_mode apply_and_rollback.
|
|
edits:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
required: [property, value]
|
|
properties:
|
|
property:
|
|
type: string
|
|
value: {}
|
|
expected_old: {}
|
|
source:
|
|
type: string
|
|
enum: [local, local_override, element, override]
|
|
expected_sha1:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Orchestrated saved-state form element write plan/apply result with semantic verification and optional rollback.
|
|
/metadata/write-plan:
|
|
post:
|
|
operationId: planMetadataWrite
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
target:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
canonical_path:
|
|
type: string
|
|
description: Full semantic 1C path, for example Справочник.Контрагенты.Наименование.
|
|
kind:
|
|
type: string
|
|
description: Target surface such as metadata, form, or module.
|
|
module_ref:
|
|
type: string
|
|
description: Concrete saved-state module stream reference.
|
|
module_id:
|
|
type: string
|
|
description: Alias for a concrete saved-state module stream reference.
|
|
file_name:
|
|
type: string
|
|
description: Concrete saved-state file name.
|
|
form_guid:
|
|
type: string
|
|
description: Concrete saved-state form GUID.
|
|
origin:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Public origin evidence from code.search, code.read, modules.search, or modules.read. Used for layer recommendation without repeating metadata.definition.find.
|
|
extension_action:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Public routine action evidence from metadata.resolve_overrides. Known actions can infer or validate operation_class; unknown actions block write planning.
|
|
intent:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
operation:
|
|
type: string
|
|
description: add, property_change, insert_before, insert_after, replace, replace_with_control, append_routine, upsert_routine, or move_form_item.
|
|
property:
|
|
type: string
|
|
value: {}
|
|
preferred_layer:
|
|
type: string
|
|
default: auto
|
|
description: auto, base, extension, or generated_extension_source.
|
|
preferred_extension:
|
|
type: string
|
|
description: Optional expected extension name or GUID. Returned as preferred_extension_conflict when it disagrees with origin evidence.
|
|
extension_actions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Extension action evidence list from metadata.resolve_overrides. A single item can be used as evidence; multiple items block planning as ambiguous until narrowed.
|
|
resolve_origin:
|
|
type: boolean
|
|
default: true
|
|
description: When true, call metadata.definition.find and return compact origin_lookup evidence for canonical_path targets.
|
|
origin_max_matches:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 100
|
|
default: 20
|
|
responses:
|
|
"200":
|
|
description: Read-only write plan with canonical-path validation, route proposal, required guards, and problems. Never applies changes.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_metadata_write_plan.v1]
|
|
status:
|
|
type: string
|
|
enum: [planned, blocked, needs_route, needs_origin]
|
|
allowed:
|
|
type: boolean
|
|
target:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
canonical_path:
|
|
type: string
|
|
input_path:
|
|
type: string
|
|
nullable: true
|
|
path_kind:
|
|
type: string
|
|
target_kind:
|
|
type: string
|
|
enum: [metadata, form, module]
|
|
concrete_reference:
|
|
type: string
|
|
nullable: true
|
|
concrete_reference_field:
|
|
type: string
|
|
nullable: true
|
|
enum: [module_ref, module_id, file_name, form_guid, null]
|
|
concrete_reference_source:
|
|
type: string
|
|
nullable: true
|
|
enum: [target, payload, null]
|
|
route:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
target_kind:
|
|
type: string
|
|
operation:
|
|
type: string
|
|
operation_class:
|
|
type: string
|
|
write_surface:
|
|
type: string
|
|
apply_method:
|
|
type: string
|
|
nullable: true
|
|
apply_payload_hint:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
method:
|
|
type: string
|
|
ready_for_apply_method:
|
|
type: boolean
|
|
next_resolution:
|
|
type: object
|
|
additionalProperties: true
|
|
payload:
|
|
type: object
|
|
additionalProperties: true
|
|
required_guards:
|
|
type: array
|
|
items:
|
|
type: string
|
|
problems:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
/metadata/resolve-overrides:
|
|
post:
|
|
operationId: resolveMetadataOverrides
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, method_name]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
method_name:
|
|
type: string
|
|
description: Procedure or function name to resolve inside the selected object modules.
|
|
object_type:
|
|
type: string
|
|
description: 1C metadata kind, for example Catalog, Document, CommonModule.
|
|
object_name:
|
|
type: string
|
|
description: 1C metadata object name.
|
|
object_guid:
|
|
type: string
|
|
description: 1C metadata object GUID when known.
|
|
ref:
|
|
type: string
|
|
description: Public object reference such as Справочник.Номенклатура.
|
|
responses:
|
|
"200":
|
|
description: Read-only routine override/action chain across base and extension modules.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_metadata_resolve_overrides.v1]
|
|
status:
|
|
type: string
|
|
enum: [ok, not_found]
|
|
target_method:
|
|
type: string
|
|
chain:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
source:
|
|
type: string
|
|
enum: [configuration, extension]
|
|
method:
|
|
type: string
|
|
line_start:
|
|
type: integer
|
|
line_end:
|
|
type: integer
|
|
extension_action:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: [ok, unknown]
|
|
operation_class:
|
|
type: string
|
|
description: base_definition, insert_before, insert_after, replace, replace_with_control, or unknown_extension_action.
|
|
requires_control_fragment:
|
|
type: boolean
|
|
extension_actions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
write_plan_evidence:
|
|
type: object
|
|
additionalProperties: true
|
|
description: "Ready fragment for metadata.write.plan: target.kind=module, routine_name, object selector fields, extension_action when available, and next_resolution.params for metadata.saved_state.modules.search. It is not a concrete write route."
|
|
/metadata/write-capabilities:
|
|
post:
|
|
operationId: getMetadataWriteCapabilities
|
|
requestBody:
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Agent-facing matrix of what can be read, planned, and written to the saved-state layer.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_metadata_write_capabilities.v1]
|
|
status:
|
|
type: string
|
|
enum: [ok]
|
|
default_write_layer:
|
|
type: string
|
|
enum: [save]
|
|
agent_rule:
|
|
type: string
|
|
description: Human-readable rule that agent-facing writes target saved-state and not active-applied layers.
|
|
code_carriers:
|
|
type: object
|
|
additionalProperties: true
|
|
write_capabilities:
|
|
type: object
|
|
additionalProperties: true
|
|
/metadata/write:
|
|
post:
|
|
operationId: writeMetadata
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, target]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
target:
|
|
type: object
|
|
required: [kind]
|
|
additionalProperties: true
|
|
properties:
|
|
kind:
|
|
type: string
|
|
enum: [form, module]
|
|
description: Saved-state form or module write route.
|
|
canonical_path:
|
|
type: string
|
|
description: Full semantic 1C path used for planning and selector hints.
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
module_ref:
|
|
type: string
|
|
module_id:
|
|
type: string
|
|
form_guid:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
element_id:
|
|
type: string
|
|
element_path:
|
|
type: string
|
|
mode:
|
|
type: string
|
|
enum: [plan, apply, apply_and_verify, apply_and_rollback]
|
|
default: plan
|
|
allow_sql_saved_state_apply:
|
|
type: boolean
|
|
description: Required for apply/apply_and_verify/apply_and_rollback.
|
|
allow_sql_saved_state_rollback:
|
|
type: boolean
|
|
description: Required for apply_and_rollback.
|
|
edits:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
required: [property, value]
|
|
properties:
|
|
property:
|
|
type: string
|
|
value: {}
|
|
expected_old: {}
|
|
source:
|
|
type: string
|
|
enum: [local, local_override, element, override]
|
|
expected_sha1:
|
|
type: string
|
|
old:
|
|
type: string
|
|
new:
|
|
type: string
|
|
text:
|
|
type: string
|
|
routine_name:
|
|
type: string
|
|
routine_text:
|
|
type: string
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: High-level metadata write route result. Wraps form/module saved-state write planning/apply or returns a blocked write plan.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_metadata_write.v1]
|
|
status:
|
|
type: string
|
|
error:
|
|
type: string
|
|
nullable: true
|
|
enum: [write_plan_required, write_plan_blocked, module_target_not_resolved, null]
|
|
target_kind:
|
|
type: string
|
|
enum: [form, module]
|
|
routed_method:
|
|
type: string
|
|
plan:
|
|
type: object
|
|
additionalProperties: true
|
|
apply_payload_hint:
|
|
type: object
|
|
additionalProperties: true
|
|
next_resolution:
|
|
type: object
|
|
additionalProperties: true
|
|
problems:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
result:
|
|
type: object
|
|
additionalProperties: true
|
|
resolution:
|
|
type: object
|
|
additionalProperties: true
|
|
/code/write:
|
|
post:
|
|
operationId: writeCode
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
object_type:
|
|
type: string
|
|
description: 1C metadata kind such as Catalog, Document, CommonForm, or CommonModule.
|
|
object_name:
|
|
type: string
|
|
object_guid:
|
|
type: string
|
|
extension:
|
|
type: string
|
|
description: Optional extension name/GUID. Extension-first public paths such as test2.t_Форма.ЗаменаДомена are normalized by the adapter.
|
|
path:
|
|
type: string
|
|
description: Public 1C path such as CommonForm.t_Форма.ЗаменаДомена or test2.t_Форма.ЗаменаДомена.
|
|
canonical_path:
|
|
type: string
|
|
module_ref:
|
|
type: string
|
|
description: Opaque module_ref from code.search/modules.search read_selector when already known.
|
|
routine_name:
|
|
type: string
|
|
routine_text:
|
|
type: string
|
|
description: Full procedure/function text for routine replacement.
|
|
module_text:
|
|
type: string
|
|
description: Full module text replacement.
|
|
full_text:
|
|
type: string
|
|
description: Alias for module_text.
|
|
code:
|
|
type: string
|
|
description: Alias for module_text.
|
|
old:
|
|
type: string
|
|
description: Unique old fragment for fragment replacement.
|
|
new:
|
|
type: string
|
|
description: New fragment for fragment replacement.
|
|
mode:
|
|
type: string
|
|
enum: [plan, apply]
|
|
default: apply
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Agent-facing BSL code write facade. Defaults to saved-state/not-activated writes and hides SQL/storage details unless include_storage=true.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_code_write.v1]
|
|
status:
|
|
type: string
|
|
enum: [planned, applied, blocked, ambiguous, not_found, error]
|
|
operation:
|
|
type: string
|
|
enum: [module_replace, routine_replace, fragment_replace]
|
|
applied:
|
|
type: boolean
|
|
write_mode:
|
|
type: object
|
|
properties:
|
|
target:
|
|
type: string
|
|
enum: [saved_state]
|
|
activation_state:
|
|
type: string
|
|
enum: [not_activated]
|
|
production_apply:
|
|
type: boolean
|
|
target:
|
|
type: object
|
|
additionalProperties: true
|
|
route:
|
|
type: object
|
|
additionalProperties: true
|
|
/metadata/write-learning/capture-before:
|
|
post:
|
|
operationId: captureMetadataWriteLearningBefore
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MetadataWriteLearningCaptureRequest"
|
|
responses:
|
|
"200":
|
|
description: Saved-state form learning baseline capture without payload hex.
|
|
/metadata/write-learning/capture-after:
|
|
post:
|
|
operationId: captureMetadataWriteLearningAfter
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MetadataWriteLearningCaptureRequest"
|
|
responses:
|
|
"200":
|
|
description: Saved-state form learning after-capture without payload hex.
|
|
/metadata/write-learning/diff:
|
|
post:
|
|
operationId: diffMetadataWriteLearningCaptures
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
learning_id:
|
|
type: string
|
|
before_snapshot_id:
|
|
type: string
|
|
after_snapshot_id:
|
|
type: string
|
|
before_path:
|
|
type: string
|
|
after_path:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Diff of decoded writable properties between before and after captures.
|
|
/metadata/write-learning/infer-rule:
|
|
post:
|
|
operationId: inferMetadataWriteLearningRule
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
learning_id:
|
|
type: string
|
|
before_snapshot_id:
|
|
type: string
|
|
after_snapshot_id:
|
|
type: string
|
|
before_path:
|
|
type: string
|
|
after_path:
|
|
type: string
|
|
allow_multiple:
|
|
type: boolean
|
|
default: false
|
|
mode:
|
|
type: string
|
|
enum: [plan, apply, apply_and_verify, apply_and_rollback]
|
|
default: plan
|
|
diff:
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Inferred metadata.write payload for replaying the learned form property edit.
|
|
/extension/objects/find:
|
|
post:
|
|
operationId: findExtensionObjects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExtensionObjectsFindRequest"
|
|
responses:
|
|
"200":
|
|
description: Extension object/template search result with routes and safe read selectors.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
/metadata/route/resolve:
|
|
post:
|
|
operationId: resolveMetadataRoute
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MetadataRouteResolveRequest"
|
|
responses:
|
|
"200":
|
|
description: Live storage route resolution for metadata objects or extension child objects.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
/templates/read:
|
|
post:
|
|
operationId: readTemplates
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplatesReadRequest"
|
|
responses:
|
|
"200":
|
|
description: Public template structure including decoded MXL/MOXCEL named areas, cells, parameters, column widths, and diagnostics.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
/templates/analyze:
|
|
post:
|
|
operationId: analyzeTemplates
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplatesReadRequest"
|
|
responses:
|
|
"200":
|
|
description: Template analysis with named-area widths/intersections, cell parameters, cell text identifiers, coverage, and MOXCEL capability diagnostics.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
/templates/map:
|
|
post:
|
|
operationId: mapTemplates
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplatesReadRequest"
|
|
responses:
|
|
"200":
|
|
description: Compact agent-facing template map. Defaults to summary view and returns counts, capabilities, samples, checks, and issues.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TemplateReadResponse"
|
|
/metadata/snapshot:
|
|
post:
|
|
operationId: exportMetadataSnapshot
|
|
requestBody:
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
description: Required 1C database identifier. The adapter does not infer a default database.
|
|
include_modules:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Metadata snapshot v2.
|
|
/modules/search:
|
|
post:
|
|
operationId: searchBslModules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [query]
|
|
properties:
|
|
query:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
default: 20
|
|
maximum: 100
|
|
prefix:
|
|
type: string
|
|
description: Optional live storage FileName prefix for targeted Config/ConfigCAS scans.
|
|
responses:
|
|
"200":
|
|
description: Matching BSL modules and snippets.
|
|
/modules/read:
|
|
get:
|
|
operationId: readBslModule
|
|
parameters:
|
|
- $ref: "#/components/parameters/BaseId"
|
|
- name: module_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: BSL module content.
|
|
/code/symbol/resolve:
|
|
post:
|
|
operationId: resolveBslSymbol
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, expression]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
expression:
|
|
type: string
|
|
description: BSL expression, full 1C path, or dotted symbol chain.
|
|
module_ref:
|
|
type: string
|
|
description: Opaque module reference from code.search/modules.search.
|
|
module_id:
|
|
type: string
|
|
ref:
|
|
type: string
|
|
description: Public object selector such as Catalog.Номенклатура.
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
routine_name:
|
|
type: string
|
|
module_ordinal:
|
|
type: integer
|
|
default: 1
|
|
responses:
|
|
"200":
|
|
description: Conservative BSL symbol classification.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_bsl_symbol_resolution.v1]
|
|
status:
|
|
type: string
|
|
enum: [resolved, unresolved, invalid_argument, error]
|
|
resolution_kind:
|
|
type: string
|
|
enum: [metadata_path, context_metadata_member, parameter, local_variable]
|
|
path_kind:
|
|
type: string
|
|
canonical_path:
|
|
type: string
|
|
context_path:
|
|
type: string
|
|
safe_as_metadata_path:
|
|
type: boolean
|
|
candidates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
/query/validate:
|
|
post:
|
|
operationId: validateReadonlyQuery
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReadonlyQueryRequest"
|
|
responses:
|
|
"200":
|
|
description: Query validation result.
|
|
/query/run:
|
|
post:
|
|
operationId: runReadonlyQuery
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReadonlyQueryRequest"
|
|
responses:
|
|
"200":
|
|
description: Query rows with masking applied.
|
|
/codec/decode:
|
|
post:
|
|
operationId: decodeStoragePayload
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, table, file_name]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
include_text:
|
|
type: boolean
|
|
default: true
|
|
include_tree:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Decoded live storage payload.
|
|
/codec/encode:
|
|
post:
|
|
operationId: encodeStoragePayload
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
source:
|
|
type: object
|
|
required: [base_id, table, file_name]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
decoded:
|
|
type: object
|
|
additionalProperties: true
|
|
text:
|
|
type: string
|
|
tree:
|
|
type: object
|
|
additionalProperties: true
|
|
responses:
|
|
"200":
|
|
description: Re-encoded storage payload metadata. Does not write to SQL.
|
|
/changes/propose:
|
|
post:
|
|
operationId: proposeChange
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ChangeProposal"
|
|
responses:
|
|
"200":
|
|
description: Reviewable change proposal. Does not apply changes.
|
|
/storage/saved-state/apply-proposal:
|
|
post:
|
|
operationId: applySavedStateProposal
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, allow_sql_saved_state_apply, proposal]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
allow_sql_saved_state_apply:
|
|
type: boolean
|
|
description: Required explicit write confirmation.
|
|
proposal:
|
|
type: object
|
|
description: Proposal returned by changes.propose or metadata.form.element.write with encoded.payload_hex.
|
|
additionalProperties: true
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: Saved-state SQL apply result with backup, readback verification, and semantic verification when available.
|
|
/storage/saved-state/rollback:
|
|
post:
|
|
operationId: rollbackSavedStateApply
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, allow_sql_saved_state_rollback]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
allow_sql_saved_state_rollback:
|
|
type: boolean
|
|
description: Required explicit rollback confirmation.
|
|
backup_id:
|
|
type: string
|
|
description: Backup id returned by storage.saved_state.apply_proposal.
|
|
backup_path:
|
|
type: string
|
|
description: Backup evidence path inside the adapter backup directory.
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: Saved-state rollback result. Internally applies the rollback proposal from backup evidence.
|
|
/storage/saved-state/backups:
|
|
post:
|
|
operationId: listSavedStateBackups
|
|
requestBody:
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 500
|
|
default: 50
|
|
diagnostic:
|
|
type: boolean
|
|
description: Required by MCP policy because this is a low-level diagnostic method.
|
|
responses:
|
|
"200":
|
|
description: Saved-state apply backups list with source metadata and sha1/byte counts. Payload hex is not returned.
|
|
/access/graph:
|
|
post:
|
|
operationId: buildAccessGraph
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
max_effective_permissions_per_user:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 200000
|
|
description: Maximum expanded effective permission entries returned per user. Counts still report total and truncation.
|
|
resolve_identifiers:
|
|
type: boolean
|
|
default: true
|
|
description: Resolve BSP role and metadata object identifiers through the adapter metadata GUID index when base_id is provided.
|
|
access:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Normalized access snapshot with users, groups, profiles, roles, permissions, and data restrictions.
|
|
snapshot:
|
|
type: object
|
|
additionalProperties: true
|
|
description: Metadata snapshot containing snapshot.access.
|
|
responses:
|
|
"200":
|
|
description: Normalized access graph with effective permissions and source chains.
|
|
/access/snapshot/extract:
|
|
post:
|
|
operationId: extractAccessSnapshot
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 30
|
|
preset:
|
|
type: string
|
|
enum: [bsp]
|
|
description: Optional built-in extractor profile. bsp resolves standard BSP access metadata and builds extractor queries automatically.
|
|
max_effective_permissions_per_user:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 200000
|
|
default: 5000
|
|
description: Maximum expanded effective permission entries returned per user in graph.effective_users. Counts still report total and truncation.
|
|
resolve_identifiers:
|
|
type: boolean
|
|
default: true
|
|
description: Resolve BSP role and metadata object identifiers through the adapter metadata GUID index and include identifier_resolution diagnostics.
|
|
queries:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: Optional explicit read-only SQL extractor queries keyed by area, for example users, groups, profiles, roles, group_users, group_profiles, profile_roles, role_permissions, access_group_keys, access_user_keys, access_object_keys, access_set_keys, and data_restrictions. If omitted, the adapter returns schema discovery candidates.
|
|
mappings:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: Optional per-area column mapping from normalized field names to SQL column aliases.
|
|
responses:
|
|
"200":
|
|
description: Discovery candidates or a normalized access snapshot with computed graph.
|
|
/access/user/explain:
|
|
post:
|
|
operationId: explainUserAccess
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [user]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
user:
|
|
type: string
|
|
description: User id or name from the access snapshot.
|
|
object:
|
|
type: string
|
|
description: Optional metadata object filter such as Document.ЗаказКлиента.
|
|
action:
|
|
type: string
|
|
description: Optional action/right filter such as read, create, update, post, or delete.
|
|
preset:
|
|
type: string
|
|
enum: [bsp]
|
|
description: Optional live extraction profile. If access/snapshot is omitted and preset=bsp is provided, the adapter extracts BSP access data from base_id before explaining the user.
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 20000
|
|
description: Live extraction row limit per area when preset=bsp is used without a provided snapshot.
|
|
max_effective_permissions_per_user:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 200000
|
|
description: Maximum expanded effective permission entries returned per user before applying object/action filters.
|
|
resolve_identifiers:
|
|
type: boolean
|
|
default: true
|
|
description: Resolve BSP role and metadata object identifiers through the adapter metadata GUID index when base_id is provided.
|
|
access:
|
|
type: object
|
|
additionalProperties: true
|
|
snapshot:
|
|
type: object
|
|
additionalProperties: true
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
description: Live extraction timeout when preset=bsp is used without a provided snapshot.
|
|
resolve_records:
|
|
type: boolean
|
|
default: false
|
|
description: Resolve sampled object access keys to readable data-record presentations where possible.
|
|
max_resolved_records:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 5000
|
|
default: 200
|
|
description: Maximum sampled object-key records to resolve when resolve_records=true.
|
|
responses:
|
|
"200":
|
|
description: User effective access explanation with summary, roles, permissions, access keys, data restrictions, and source chains.
|
|
/access/keys/query:
|
|
post:
|
|
operationId: queryAccessKeys
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
enum: [group, user_set, object, set, all]
|
|
default: all
|
|
description: BSP access key area to page through.
|
|
group:
|
|
type: string
|
|
description: Filter group access keys by normalized group id.
|
|
user:
|
|
type: string
|
|
description: Filter user-set access keys by normalized user ref from access_user_keys.user.
|
|
user_set:
|
|
type: string
|
|
description: Filter user-set access keys by normalized user set id.
|
|
object:
|
|
type: string
|
|
description: Filter object access keys by normalized object id.
|
|
access_set:
|
|
type: string
|
|
description: Filter access-set keys by normalized access set id.
|
|
access_key:
|
|
type: string
|
|
description: Filter by access key id.
|
|
query:
|
|
type: string
|
|
description: Text filter over available name columns for the selected key area.
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
offset:
|
|
type: integer
|
|
minimum: 0
|
|
default: 0
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 60
|
|
resolve_records:
|
|
type: boolean
|
|
default: false
|
|
description: For kind=object, resolve object_sql_number/object_id to readable data-record presentations where possible.
|
|
max_resolved_records:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 5000
|
|
default: 200
|
|
responses:
|
|
"200":
|
|
description: Paged BSP access key rows for RLS/key-access investigation.
|
|
/access/object-keys/resolve:
|
|
post:
|
|
operationId: resolveAccessObjectKeys
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
object:
|
|
type: string
|
|
description: Optional normalized object ref filter.
|
|
access_key:
|
|
type: string
|
|
description: Optional access key filter.
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
offset:
|
|
type: integer
|
|
minimum: 0
|
|
default: 0
|
|
max_resolved_records:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 5000
|
|
default: 200
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 60
|
|
responses:
|
|
"200":
|
|
description: Paged BSP object access keys with readable data-record presentation when resolvable.
|
|
/access/object/explain:
|
|
post:
|
|
operationId: explainAccessObject
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
object:
|
|
type: string
|
|
description: Normalized object ref from access_object_keys.object.
|
|
object_id:
|
|
type: string
|
|
description: Data record id from access_object_keys.object_id.
|
|
object_sql_number:
|
|
type: integer
|
|
description: Optional SQL metadata number to narrow object key rows.
|
|
access_key:
|
|
type: string
|
|
description: Access key id to explain directly.
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
offset:
|
|
type: integer
|
|
minimum: 0
|
|
default: 0
|
|
subject_limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
max_resolved_records:
|
|
type: integer
|
|
minimum: 0
|
|
maximum: 5000
|
|
default: 200
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
responses:
|
|
"200":
|
|
description: Reverse BSP access-key explanation showing groups, user sets, and users that can receive access to the selected object or key.
|
|
/access/role/profiles:
|
|
post:
|
|
operationId: findAccessRoleProfiles
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, role]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
role:
|
|
type: string
|
|
description: Role id, role ref tail, exact name, or name substring.
|
|
role_id:
|
|
type: string
|
|
role_name:
|
|
type: string
|
|
query:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 1000
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
responses:
|
|
"200":
|
|
description: BSP profiles that include the selected role, plus access groups that use those profiles.
|
|
/access/role/users:
|
|
post:
|
|
operationId: findAccessRoleUsers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, role]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
role:
|
|
type: string
|
|
description: Role id, role ref tail, exact name, name substring, or fuzzy role phrase.
|
|
role_id:
|
|
type: string
|
|
role_name:
|
|
type: string
|
|
query:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 20000
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
responses:
|
|
"200":
|
|
description: Users that receive the selected BSP role through access profiles and groups, with matched role alternatives.
|
|
/access/role/audit-export:
|
|
post:
|
|
operationId: exportAccessRoleAudit
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, role]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
role:
|
|
type: string
|
|
description: Role id, exact role name, substring, or fuzzy natural-language role phrase.
|
|
role_id:
|
|
type: string
|
|
role_name:
|
|
type: string
|
|
query:
|
|
type: string
|
|
format:
|
|
type: string
|
|
enum: [json, csv]
|
|
default: json
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 20000
|
|
default: 20000
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
responses:
|
|
"200":
|
|
description: Flat audit export rows for role -> profile -> access group -> user, with optional CSV text in the response.
|
|
/access/role/audit-analyze:
|
|
post:
|
|
operationId: analyzeAccessRoleAudit
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [base_id, role]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
role:
|
|
type: string
|
|
description: Role id, exact role name, substring, or fuzzy natural-language role phrase.
|
|
role_id:
|
|
type: string
|
|
role_name:
|
|
type: string
|
|
query:
|
|
type: string
|
|
user_threshold:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 100000
|
|
default: 50
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 120
|
|
default: 120
|
|
responses:
|
|
"200":
|
|
description: Risk findings for role -> profile -> access group -> user audit chains.
|
|
components:
|
|
parameters:
|
|
BaseId:
|
|
name: base_id
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Required for database-specific operations. The adapter does not infer a default database.
|
|
securitySchemes:
|
|
serviceToken:
|
|
type: http
|
|
scheme: bearer
|
|
schemas:
|
|
MetadataKind:
|
|
type: string
|
|
enum:
|
|
- catalog
|
|
- document
|
|
- register
|
|
- common_module
|
|
- enum
|
|
- report
|
|
- processing
|
|
- other
|
|
PublicObjectSelector:
|
|
type: object
|
|
properties:
|
|
ref:
|
|
type: string
|
|
description: Public object reference such as Document.АвансовыйОтчет or Отчет.Имя.
|
|
kind:
|
|
type: string
|
|
description: Metadata kind, Russian kind, or Template for direct template route reads.
|
|
name:
|
|
type: string
|
|
guid:
|
|
type: string
|
|
object_type:
|
|
type: string
|
|
object_name:
|
|
type: string
|
|
object_guid:
|
|
type: string
|
|
ordinal:
|
|
type: integer
|
|
minimum: 1
|
|
ExtensionObjectsFindRequest:
|
|
allOf:
|
|
- $ref: "#/components/schemas/PublicObjectSelector"
|
|
- type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
extension:
|
|
type: string
|
|
description: Extension name or GUID. Optional when searching all extension manifests.
|
|
query:
|
|
type: string
|
|
description: Name/GUID fragment to search in DBNames-Ext, extension manifests, and ConfigCAS payload evidence.
|
|
kind:
|
|
type: string
|
|
description: Optional object kind filter, for example Report, Template, Form, or Module.
|
|
limit:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 500
|
|
default: 50
|
|
scan_limit:
|
|
type: integer
|
|
minimum: 1
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
MetadataRouteResolveRequest:
|
|
allOf:
|
|
- $ref: "#/components/schemas/PublicObjectSelector"
|
|
- type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
extension:
|
|
type: string
|
|
query:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
TemplatesReadRequest:
|
|
allOf:
|
|
- $ref: "#/components/schemas/PublicObjectSelector"
|
|
- type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
extension:
|
|
type: string
|
|
description: Optional expected extension name/GUID. Owner mismatches are returned as diagnostics.
|
|
owner_ref:
|
|
type: string
|
|
description: Optional template owner selector.
|
|
template:
|
|
type: string
|
|
description: Template/maket name filter.
|
|
name_filter:
|
|
type: string
|
|
table:
|
|
type: string
|
|
enum: [Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
description: Direct ConfigCAS route key for route-based template reads.
|
|
part_id:
|
|
type: string
|
|
include_storage:
|
|
type: boolean
|
|
default: false
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
view:
|
|
type: string
|
|
enum: [summary, structure, full]
|
|
description: Controls response size. templates.map defaults to summary; read/analyze default to full for compatibility.
|
|
sections:
|
|
description: Comma-separated string or array of sections to return, for example named_areas,cells,cell_parameters,widths,coverage,issues,moxel_records.
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
max_areas:
|
|
type: integer
|
|
minimum: 0
|
|
max_cells:
|
|
type: integer
|
|
minimum: 0
|
|
max_parameters:
|
|
type: integer
|
|
minimum: 0
|
|
max_coverage:
|
|
type: integer
|
|
minimum: 0
|
|
max_widths:
|
|
type: integer
|
|
minimum: 0
|
|
max_merged:
|
|
type: integer
|
|
minimum: 0
|
|
max_intersections:
|
|
type: integer
|
|
minimum: 0
|
|
max_strings:
|
|
type: integer
|
|
minimum: 0
|
|
max_moxel_records:
|
|
type: integer
|
|
minimum: 0
|
|
moxel_record_start:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional top-level MOXCEL record index window start for top_level_records, for example 431 for tree_position $.431.
|
|
moxel_record_end:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional top-level MOXCEL record index window end for top_level_records.
|
|
moxel_record_heads:
|
|
description: Optional comma-separated string or array of MOXCEL top-level record head codes to include in top_level_records.
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: integer
|
|
moxel_record_context:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional neighbor radius around matched top-level records. Returned context records include match=false; matched records include match=true.
|
|
moxel_candidate_rank:
|
|
type: integer
|
|
minimum: 1
|
|
description: Optional 1-based rank from top_level_shape_candidates. Uses the candidate suggested window to focus top_level_records unless explicit record filters override it.
|
|
moxel_candidate_window_index:
|
|
type: integer
|
|
minimum: 1
|
|
description: Optional 1-based suggested window index within the selected moxel_candidate_rank.
|
|
moxel_candidate_reasons:
|
|
description: Optional comma-separated string or array of candidate reason codes. Returned top_level_shape_candidates must contain all requested reasons.
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
moxel_candidate_heads:
|
|
description: Optional comma-separated string or array of candidate head codes. Filters returned top_level_shape_candidates by their head value.
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: integer
|
|
moxel_candidate_start:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional top-level MOXCEL position window start for returned top_level_shape_candidates.
|
|
moxel_candidate_end:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional top-level MOXCEL position window end for returned top_level_shape_candidates.
|
|
moxel_candidate_min_score:
|
|
type: integer
|
|
minimum: 0
|
|
description: Optional minimum heuristic score for returned top_level_shape_candidates.
|
|
MoxelRange:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
zero_based:
|
|
type: object
|
|
additionalProperties: true
|
|
one_based:
|
|
type: object
|
|
additionalProperties: true
|
|
width:
|
|
type: integer
|
|
height:
|
|
type: integer
|
|
MoxelNamedArea:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
name:
|
|
type: string
|
|
occurrence:
|
|
type: integer
|
|
source:
|
|
type: string
|
|
range:
|
|
$ref: "#/components/schemas/MoxelRange"
|
|
MoxelCell:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
row:
|
|
type: integer
|
|
column:
|
|
type: integer
|
|
text:
|
|
type: string
|
|
parameter:
|
|
type: string
|
|
type_code:
|
|
type: integer
|
|
MoxelStructure:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
format:
|
|
type: string
|
|
capabilities:
|
|
type: object
|
|
additionalProperties: true
|
|
dimensions:
|
|
type: object
|
|
properties:
|
|
rows:
|
|
type: integer
|
|
columns:
|
|
type: integer
|
|
counts:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
named_areas:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MoxelNamedArea"
|
|
cells:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MoxelCell"
|
|
cell_parameters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
cell_text_identifiers:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
column_widths:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
merged_ranges:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MoxelRange"
|
|
merged_range_candidates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
merge_record_block_candidates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
merge_count_hints:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
moxel_record_diagnostics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
TemplateAnalysis:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
status:
|
|
type: string
|
|
checks:
|
|
type: object
|
|
additionalProperties: true
|
|
counts:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
issues:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
TemplateReadResponse:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
schema:
|
|
type: string
|
|
enum: [onec_templates_read.v1, onec_templates_analyze.v1, onec_templates_map.v1]
|
|
status:
|
|
type: string
|
|
view:
|
|
type: string
|
|
enum: [summary, structure, full]
|
|
templates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true
|
|
properties:
|
|
structure:
|
|
$ref: "#/components/schemas/MoxelStructure"
|
|
analysis:
|
|
$ref: "#/components/schemas/TemplateAnalysis"
|
|
MetadataWriteLearningCaptureRequest:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
learning_id:
|
|
type: string
|
|
description: Optional stable id for pairing before/after captures. Generated when omitted.
|
|
table:
|
|
type: string
|
|
enum: [ConfigSave, ConfigCASSave]
|
|
default: ConfigCASSave
|
|
file_name:
|
|
type: string
|
|
form_guid:
|
|
type: string
|
|
form:
|
|
type: string
|
|
element:
|
|
type: string
|
|
command:
|
|
type: string
|
|
element_id:
|
|
type: string
|
|
element_path:
|
|
type: string
|
|
property:
|
|
type: string
|
|
timeout_seconds:
|
|
type: integer
|
|
minimum: 1
|
|
ReadonlyQueryRequest:
|
|
type: object
|
|
required: [base_id, query]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
query:
|
|
type: string
|
|
params:
|
|
type: object
|
|
additionalProperties: true
|
|
limit:
|
|
type: integer
|
|
default: 100
|
|
maximum: 1000
|
|
timeout_seconds:
|
|
type: integer
|
|
default: 30
|
|
maximum: 120
|
|
ChangeProposal:
|
|
type: object
|
|
required: [source, edits]
|
|
properties:
|
|
source:
|
|
type: object
|
|
required: [base_id]
|
|
properties:
|
|
base_id:
|
|
type: string
|
|
module_id:
|
|
type: string
|
|
description: Optional module id such as Config:<FileName>#stream:<index>. If present, table/file_name and default stream_index are derived from it.
|
|
table:
|
|
type: string
|
|
enum: [Params, Config, ConfigSave, ConfigCAS, ConfigCASSave]
|
|
file_name:
|
|
type: string
|
|
expected_sha1:
|
|
type: string
|
|
description: Optional precondition against the current live payload.
|
|
edits:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: Dot-separated numeric path in the decoded brace tree.
|
|
value: {}
|
|
node_type:
|
|
type: string
|
|
enum: [auto, atom, string]
|
|
default: auto
|
|
expected_old:
|
|
type: string
|
|
description: Optional scalar precondition at path.
|
|
stream_index:
|
|
type: integer
|
|
description: Zero-based stream block index for stream payload edits.
|
|
text:
|
|
type: string
|
|
description: Full replacement text for a stream block.
|
|
replace:
|
|
type: object
|
|
required: [old, new]
|
|
properties:
|
|
old:
|
|
type: string
|
|
new:
|
|
type: string
|
|
count:
|
|
type: integer
|
|
default: 1
|
|
routine:
|
|
type: object
|
|
required: [text]
|
|
properties:
|
|
operation:
|
|
type: string
|
|
enum: [replace, append, upsert]
|
|
default: replace
|
|
name:
|
|
type: string
|
|
description: Optional target routine name. Defaults to the name parsed from text.
|
|
text:
|
|
type: string
|
|
description: Full BSL procedure/function text.
|
|
expected_old_sha1:
|
|
type: string
|
|
description: Optional SHA1 precondition against the current target routine text.
|
|
expected_old_contains:
|
|
type: string
|
|
description: Optional substring precondition against the current target routine text.
|
|
expected_contains:
|
|
type: string
|
|
description: Optional stream text precondition.
|
|
include_payload:
|
|
type: boolean
|
|
default: false
|
|
include_text:
|
|
type: boolean
|
|
default: false
|