@lerianstudio/matcher-mcp 4.5.0-beta.13 → 4.5.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/spec/openapi.yaml +261 -4
- package/package.json +1 -1
package/dist/spec/openapi.yaml
CHANGED
|
@@ -1347,6 +1347,12 @@ components:
|
|
|
1347
1347
|
ConnectionResponse:
|
|
1348
1348
|
additionalProperties: false
|
|
1349
1349
|
properties:
|
|
1350
|
+
baseURL:
|
|
1351
|
+
description: Per-connection API base URL of a REST connector connection; absent when the deployment default applies and for database connectors
|
|
1352
|
+
examples:
|
|
1353
|
+
- https://sandbox.provider.example
|
|
1354
|
+
format: uri
|
|
1355
|
+
type: string
|
|
1350
1356
|
configName:
|
|
1351
1357
|
description: Connection configuration name
|
|
1352
1358
|
examples:
|
|
@@ -1363,7 +1369,7 @@ components:
|
|
|
1363
1369
|
- POSTGRESQL
|
|
1364
1370
|
type: string
|
|
1365
1371
|
host:
|
|
1366
|
-
description: Database host
|
|
1372
|
+
description: Database host; empty for REST connector connections, whose service address is reported as baseURL
|
|
1367
1373
|
examples:
|
|
1368
1374
|
- db.internal.example.com
|
|
1369
1375
|
type: string
|
|
@@ -1414,6 +1420,25 @@ components:
|
|
|
1414
1420
|
- schemaDiscovered
|
|
1415
1421
|
- lastSeenAt
|
|
1416
1422
|
type: object
|
|
1423
|
+
ConnectionSchemaHistoryResponse:
|
|
1424
|
+
additionalProperties: false
|
|
1425
|
+
properties:
|
|
1426
|
+
connectionId:
|
|
1427
|
+
description: Internal Matcher connection identifier the history belongs to
|
|
1428
|
+
examples:
|
|
1429
|
+
- 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
1430
|
+
type: string
|
|
1431
|
+
generations:
|
|
1432
|
+
description: Prior generations of the schema map, oldest first; empty when the map has never changed
|
|
1433
|
+
items:
|
|
1434
|
+
$ref: "#/components/schemas/SchemaGenerationResponse"
|
|
1435
|
+
type:
|
|
1436
|
+
- array
|
|
1437
|
+
- "null"
|
|
1438
|
+
required:
|
|
1439
|
+
- connectionId
|
|
1440
|
+
- generations
|
|
1441
|
+
type: object
|
|
1417
1442
|
ConnectionSchemaResponse:
|
|
1418
1443
|
additionalProperties: false
|
|
1419
1444
|
properties:
|
|
@@ -1422,13 +1447,40 @@ components:
|
|
|
1422
1447
|
examples:
|
|
1423
1448
|
- 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
1424
1449
|
type: string
|
|
1450
|
+
fieldReport:
|
|
1451
|
+
description: "How the field lists in this map were obtained, recorded per row by the report that produced it and folded to one answer for the map: ENUMERATED means they come from the source's own catalog and are exhaustive for the credential that read it, so fewer fields than before is a real change in what the source reports; SAMPLED means they are inferred from a sample of the source's data (MongoDB reads the union of top-level keys over $sample-d documents), so they vary between reads with nothing changed at the source and no reduction is ever asserted from them — how the persisted field lists then build up, and what ends that, is stated in full in this operation's description. It is NEVER derived from this connection's current databaseType, which an operator can edit: a retype must not re-attribute field sets a different connector produced. Present only when every row of the map records the same kind: absent when the rows disagree, when any of them predates the recording of this fact, and when the probe that installed them could not show which connector produced its snapshot — in each case nothing is asserted about how the fields were obtained. It is the fact that separates routes (1) and (5) of notYetExtractableReason, whose remedies contradict each other"
|
|
1452
|
+
enum:
|
|
1453
|
+
- ENUMERATED
|
|
1454
|
+
- SAMPLED
|
|
1455
|
+
examples:
|
|
1456
|
+
- SAMPLED
|
|
1457
|
+
type: string
|
|
1458
|
+
lastKnownMap:
|
|
1459
|
+
description: "The tables are a retired generation, not the connection's live map: the source has not re-asserted them since they were archived. Absent when the rows served are live"
|
|
1460
|
+
type: boolean
|
|
1461
|
+
lastReadAt:
|
|
1462
|
+
description: When the map was last successfully read from the source; absent when no map has ever been read
|
|
1463
|
+
examples:
|
|
1464
|
+
- "2026-07-26T14:03:00Z"
|
|
1465
|
+
format: date-time
|
|
1466
|
+
type: string
|
|
1467
|
+
notYetExtractableReason:
|
|
1468
|
+
description: "Why nothing in this map can be extracted from yet; absent when at least one table can. COLUMNS_NOT_ENUMERATED means Matcher holds no confirmed column observation for this connection that it could project into an extraction, and it arrives by five routes worth distinguishing, each named here so a client can tie an operator-facing sentence to one: (1) TABLES_WITHOUT_COLUMNS — every persisted table carries no column, the only route visible in the tables below; (2) COLUMNS_NEVER_CONFIRMED — no probe of this connection ever recorded a confirmed-columns observation, in which case the tables below may still show columns; (3) COLUMN_VISIBILITY_LOST — an established connection whose source enumerates its columns from a catalog returned columns for no table it still names, so that snapshot was refused and the tables below show their last confirmed columns; (4) NO_TABLES_NAMED — the source named no table at all; (5) SAMPLED_REPORT_NO_FIELDS — the source's field list is sampled from its data rather than enumerated from a catalog and the draw returned no field, so nothing was refused: the tables installed, no column was confirmed, and extraction reopens as soon as a draw returns fields. Routes 3, 4 and 5 arrive as the same response and a client states them as readings rather than picking one. Routes 1 and 5 also arrive as the same response — a map in which every table carries no column — and their remedies contradict each other, so fieldReport above says which of the two applies: SAMPLED is route 5 and no grant is involved, ENUMERATED is route 1 and the credential's column grants are the thing to check. Both must be stated when fieldReport is absent, which happens when the rows of this map disagree about how their field lists were obtained, when any of them predates the recording of that fact, or when the probe that installed them could not show which connector produced its snapshot — the connector registry is not consulted on this path at all, so a registered connector is neither what makes the kind present nor what its absence says anything about. No route distinguishes a source with no columns to give from columns this connection's credential can no longer read"
|
|
1469
|
+
enum:
|
|
1470
|
+
- COLUMNS_NOT_ENUMERATED
|
|
1471
|
+
examples:
|
|
1472
|
+
- COLUMNS_NOT_ENUMERATED
|
|
1473
|
+
type: string
|
|
1425
1474
|
tables:
|
|
1426
|
-
description: All discovered table schemas for the connection
|
|
1475
|
+
description: All discovered table schemas for the connection; the last known map even when the connection is unreachable
|
|
1427
1476
|
items:
|
|
1428
1477
|
$ref: "#/components/schemas/SchemaTableResponse"
|
|
1429
1478
|
type:
|
|
1430
1479
|
- array
|
|
1431
1480
|
- "null"
|
|
1481
|
+
unreachable:
|
|
1482
|
+
description: "The connection could not be reached when this map was served: the tables are the last known map and may no longer match the source"
|
|
1483
|
+
type: boolean
|
|
1432
1484
|
required:
|
|
1433
1485
|
- connectionId
|
|
1434
1486
|
- tables
|
|
@@ -1506,6 +1558,13 @@ components:
|
|
|
1506
1558
|
examples:
|
|
1507
1559
|
- database
|
|
1508
1560
|
type: string
|
|
1561
|
+
requiredFields:
|
|
1562
|
+
description: Credential field names a REST-category connector requires at provisioning time, in render order; absent for database connectors
|
|
1563
|
+
items:
|
|
1564
|
+
type: string
|
|
1565
|
+
type:
|
|
1566
|
+
- array
|
|
1567
|
+
- "null"
|
|
1509
1568
|
type:
|
|
1510
1569
|
description: Canonical engine datasource-type token
|
|
1511
1570
|
examples:
|
|
@@ -2282,6 +2341,9 @@ components:
|
|
|
2282
2341
|
- https://example.com/errors/example
|
|
2283
2342
|
format: uri
|
|
2284
2343
|
type: string
|
|
2344
|
+
upstream:
|
|
2345
|
+
$ref: "#/components/schemas/Upstream"
|
|
2346
|
+
description: "RFC 9457 extension member: the error a proxied third-party provider reported. Absent unless the emitting service explicitly surfaced one."
|
|
2285
2347
|
type: object
|
|
2286
2348
|
DialectResponse:
|
|
2287
2349
|
additionalProperties: false
|
|
@@ -5585,6 +5647,65 @@ components:
|
|
|
5585
5647
|
required:
|
|
5586
5648
|
- sample
|
|
5587
5649
|
type: object
|
|
5650
|
+
RESTConnectionRequest:
|
|
5651
|
+
additionalProperties: false
|
|
5652
|
+
properties:
|
|
5653
|
+
apiKey:
|
|
5654
|
+
description: Stripe restricted API key (sealed; never emitted)
|
|
5655
|
+
maxLength: 512
|
|
5656
|
+
type: string
|
|
5657
|
+
baseURL:
|
|
5658
|
+
description: Optional per-connection API base URL (http/https); when omitted the deployment default for the connector type is used
|
|
5659
|
+
examples:
|
|
5660
|
+
- https://sandbox.provider.example
|
|
5661
|
+
format: uri
|
|
5662
|
+
maxLength: 2048
|
|
5663
|
+
type: string
|
|
5664
|
+
clientCert:
|
|
5665
|
+
description: PEM-encoded Pix mTLS client certificate (sealed; never emitted)
|
|
5666
|
+
maxLength: 8192
|
|
5667
|
+
type: string
|
|
5668
|
+
clientID:
|
|
5669
|
+
description: Pix OAuth2 client id (sealed; never emitted)
|
|
5670
|
+
maxLength: 512
|
|
5671
|
+
type: string
|
|
5672
|
+
clientKey:
|
|
5673
|
+
description: PEM-encoded Pix mTLS client private key (sealed; never emitted)
|
|
5674
|
+
maxLength: 8192
|
|
5675
|
+
type: string
|
|
5676
|
+
clientSecret:
|
|
5677
|
+
description: Pix OAuth2 client secret (sealed; never emitted)
|
|
5678
|
+
maxLength: 512
|
|
5679
|
+
type: string
|
|
5680
|
+
configName:
|
|
5681
|
+
description: Unique connection config name (tenant-scoped)
|
|
5682
|
+
examples:
|
|
5683
|
+
- pagbank-prod
|
|
5684
|
+
maxLength: 255
|
|
5685
|
+
minLength: 1
|
|
5686
|
+
type: string
|
|
5687
|
+
connectorType:
|
|
5688
|
+
description: REST connector type this connection serves
|
|
5689
|
+
enum:
|
|
5690
|
+
- PAGBANK
|
|
5691
|
+
- STRIPE
|
|
5692
|
+
- PIX_BCB
|
|
5693
|
+
examples:
|
|
5694
|
+
- PAGBANK
|
|
5695
|
+
minLength: 1
|
|
5696
|
+
type: string
|
|
5697
|
+
ediToken:
|
|
5698
|
+
description: PagBank EDI token (sealed; never emitted)
|
|
5699
|
+
maxLength: 512
|
|
5700
|
+
type: string
|
|
5701
|
+
establishmentID:
|
|
5702
|
+
description: PagBank establishment id (sealed; never emitted)
|
|
5703
|
+
maxLength: 512
|
|
5704
|
+
type: string
|
|
5705
|
+
required:
|
|
5706
|
+
- configName
|
|
5707
|
+
- connectorType
|
|
5708
|
+
type: object
|
|
5588
5709
|
ReadinessResponse:
|
|
5589
5710
|
additionalProperties: false
|
|
5590
5711
|
properties:
|
|
@@ -6162,16 +6283,77 @@ components:
|
|
|
6162
6283
|
required:
|
|
6163
6284
|
- name
|
|
6164
6285
|
type: object
|
|
6286
|
+
SchemaGenerationResponse:
|
|
6287
|
+
additionalProperties: false
|
|
6288
|
+
properties:
|
|
6289
|
+
archivedAt:
|
|
6290
|
+
description: When this generation stopped being the live schema map
|
|
6291
|
+
examples:
|
|
6292
|
+
- "2026-07-15T12:30:00Z"
|
|
6293
|
+
format: date-time
|
|
6294
|
+
type: string
|
|
6295
|
+
fieldReport:
|
|
6296
|
+
description: "How this retired generation's field lists were obtained, read off its own rows: ENUMERATED from the source's own catalog, exhaustively for the credential that read it, so this generation's column sets are a statement about the source; SAMPLED from a sample of the source's data (MongoDB reads the union of top-level keys over $sample-d documents), so it may name a field the source no longer held, because nothing observed a removal — how such a field list built up while this generation was live, and what closed the generation, is stated in full in this operation's description. Present only when every table of this generation records the same kind: absent when they disagree, for every generation retired before the fact was recorded per row, and when the probe that installed a table of it could not show which connector produced its snapshot. It is never derived from the connection's current databaseType: that field is editable and a generation's provenance is not"
|
|
6297
|
+
enum:
|
|
6298
|
+
- ENUMERATED
|
|
6299
|
+
- SAMPLED
|
|
6300
|
+
examples:
|
|
6301
|
+
- SAMPLED
|
|
6302
|
+
type: string
|
|
6303
|
+
retirementCause:
|
|
6304
|
+
description: What was observed of this whole generation when it was retired, when every table in it agrees; absent when one install retired different tables for different observed reasons, in which case each table carries its own. Values carry the same meanings as on a table, and none of them asserts that the source removed anything
|
|
6305
|
+
enum:
|
|
6306
|
+
- ABSENT_FROM_CATALOG
|
|
6307
|
+
- COLUMN_SET_SUPERSEDED
|
|
6308
|
+
- CONNECTION_RETIRED
|
|
6309
|
+
- UNKNOWN_LEGACY
|
|
6310
|
+
examples:
|
|
6311
|
+
- ABSENT_FROM_CATALOG
|
|
6312
|
+
type: string
|
|
6313
|
+
tables:
|
|
6314
|
+
description: The tables and columns this generation of the map asserted
|
|
6315
|
+
items:
|
|
6316
|
+
$ref: "#/components/schemas/SchemaTableResponse"
|
|
6317
|
+
type:
|
|
6318
|
+
- array
|
|
6319
|
+
- "null"
|
|
6320
|
+
required:
|
|
6321
|
+
- archivedAt
|
|
6322
|
+
- tables
|
|
6323
|
+
type: object
|
|
6165
6324
|
SchemaTableResponse:
|
|
6166
6325
|
additionalProperties: false
|
|
6167
6326
|
properties:
|
|
6168
6327
|
columns:
|
|
6169
|
-
description: Columns discovered for the table
|
|
6328
|
+
description: "Columns discovered for the table. WHAT THIS LIST IS A STATEMENT ABOUT DEPENDS ON HOW THE CONNECTOR OBTAINED IT — see fieldReport on the map, or on the generation, that carries this table. WHERE THE FIELD LISTS ARE ENUMERATED from the source's own catalog, these are the columns the latest probe asserted for the credential that read it. WHERE THEY ARE SAMPLED from the source's data instead, a field listed here may appear in no document the source currently holds: it carries no marker saying so and stays extractable, deliberately, because nothing observed its removal. How a sampled connector's field lists build up, and what ends that, is stated in full in this operation's description — read it before authoring a field map against these columns"
|
|
6170
6329
|
items:
|
|
6171
6330
|
$ref: "#/components/schemas/SchemaColumnResponse"
|
|
6172
6331
|
type:
|
|
6173
6332
|
- array
|
|
6174
6333
|
- "null"
|
|
6334
|
+
columnsNarrowed:
|
|
6335
|
+
description: "The source now reports FEWER columns for this table than the read before did: the columns shown were confirmed by the latest probe, and at least one column it used to report is no longer among them. The table stays extractable from the narrower set; a field map projecting a column that stopped being reported will fail at extraction. It says nothing about WHY the set narrowed — a narrowed grant and a dropped column are the same answer from a catalog"
|
|
6336
|
+
type: boolean
|
|
6337
|
+
columnsStale:
|
|
6338
|
+
description: "The last probe named this table without confirming its columns, so the column list is the last CONFIRMED one and may no longer match the source. The table is still extractable from it; a field map authored against it may silently stop matching. ABSENT DOES NOT MEAN THE WHOLE LIST WAS CONFIRMED BY THE LATEST PROBE: it means that probe reported columns for this table, which confirms the list only where the field lists are ENUMERATED from a catalog. Where they are SAMPLED from the source's data a draw confirms only the fields it showed, and the rest of the list may include fields the latest draw did not show — see columns, and this operation's description, which states in full how such a list builds up and what ends it"
|
|
6339
|
+
type: boolean
|
|
6340
|
+
notYetExtractableReason:
|
|
6341
|
+
description: Why this table cannot be extracted from yet; absent when it can. COLUMNS_NOT_ENUMERATED means the source named the table but no columns for it, which is indistinguishable between a source with no columns to give and columns the connection's credential cannot read
|
|
6342
|
+
enum:
|
|
6343
|
+
- COLUMNS_NOT_ENUMERATED
|
|
6344
|
+
examples:
|
|
6345
|
+
- COLUMNS_NOT_ENUMERATED
|
|
6346
|
+
type: string
|
|
6347
|
+
retirementCause:
|
|
6348
|
+
description: What was observed when this table's row stopped being the live truth; absent on a live row. ABSENT_FROM_CATALOG means the source's catalog no longer listed the table, which does NOT distinguish a dropped table from one this connection's credential can no longer see. COLUMN_SET_SUPERSEDED means the catalog still listed it with a different non-empty column set, the same ambiguity one level down; it is recorded only for a report that ENUMERATED the source's catalog, because a report whose field list was sampled from the source's data retires no column set when a draw differs — so a sampled table reaches this cause when its connection is retyped to a connector that enumerates and the catalog list supersedes the accumulated union. CONNECTION_RETIRED means an operator retired the connection, the one cause that is genuinely known. UNKNOWN_LEGACY means the row was archived by an earlier release that recorded no cause
|
|
6349
|
+
enum:
|
|
6350
|
+
- ABSENT_FROM_CATALOG
|
|
6351
|
+
- COLUMN_SET_SUPERSEDED
|
|
6352
|
+
- CONNECTION_RETIRED
|
|
6353
|
+
- UNKNOWN_LEGACY
|
|
6354
|
+
examples:
|
|
6355
|
+
- ABSENT_FROM_CATALOG
|
|
6356
|
+
type: string
|
|
6175
6357
|
tableName:
|
|
6176
6358
|
description: Name of the discovered table
|
|
6177
6359
|
examples:
|
|
@@ -7780,6 +7962,20 @@ components:
|
|
|
7780
7962
|
- string
|
|
7781
7963
|
- "null"
|
|
7782
7964
|
type: object
|
|
7965
|
+
Upstream:
|
|
7966
|
+
additionalProperties: false
|
|
7967
|
+
properties:
|
|
7968
|
+
code:
|
|
7969
|
+
description: The upstream provider's own error code, verbatim.
|
|
7970
|
+
examples:
|
|
7971
|
+
- E4001
|
|
7972
|
+
type: string
|
|
7973
|
+
message:
|
|
7974
|
+
description: The upstream provider's own error message, verbatim (bounded, never its raw response body).
|
|
7975
|
+
examples:
|
|
7976
|
+
- account not found at provider
|
|
7977
|
+
type: string
|
|
7978
|
+
type: object
|
|
7783
7979
|
VarianceReportRowResponse:
|
|
7784
7980
|
additionalProperties: false
|
|
7785
7981
|
properties:
|
|
@@ -10004,7 +10200,7 @@ paths:
|
|
|
10004
10200
|
- Discovery
|
|
10005
10201
|
/v1/discovery/connections/{connectionId}/schema:
|
|
10006
10202
|
get:
|
|
10007
|
-
description: Returns all discovered table schemas for a connection.
|
|
10203
|
+
description: "Returns all discovered table schemas for a connection — the map a field map is authored against. WHERE THIS CONNECTION'S CONNECTOR SAMPLES ITS FIELD LISTS rather than enumerating them from a catalog (the connection's fieldReport is SAMPLED on the live schema map; MongoDB reads the union of top-level keys over $sample-d documents), a table's persisted field set is CUMULATIVE WITHIN ITS CURRENT GENERATION: it holds every field any draw has shown since that generation began, and no draw takes a field out of it, because a draw that missed a field is a fact about this service's own sample and never about the source. So a field the map lists may appear in no document the source currently holds; it carries no marker saying so and stays extractable, deliberately, because nothing observed its removal. CUMULATIVE WITHIN A GENERATION IS NOT CUMULATIVE FOREVER: a generation ENDS at any retirement that records why — ABSENT_FROM_CATALOG, COLUMN_SET_SUPERSEDED or CONNECTION_RETIRED, whose meanings the retirementCause property carries — and the next report opens a new generation holding its own fields alone, so a served field set CAN come back narrower across that boundary, with the wider generation dated, caused and still readable on the schema-history surface. WHERE THE FIELD LISTS ARE ENUMERATED from the source's own catalog none of this applies: a table's columns are what the latest probe asserted for the credential that read it, and a catalog list is authoritative over a sampled union — which is what COLUMN_SET_SUPERSEDED records when a connection's connector starts enumerating."
|
|
10008
10204
|
operationId: getDiscoveryConnectionSchema
|
|
10009
10205
|
parameters:
|
|
10010
10206
|
- description: Connection ID (UUID)
|
|
@@ -10035,6 +10231,39 @@ paths:
|
|
|
10035
10231
|
summary: Get connection schema
|
|
10036
10232
|
tags:
|
|
10037
10233
|
- Discovery
|
|
10234
|
+
/v1/discovery/connections/{connectionId}/schema/history:
|
|
10235
|
+
get:
|
|
10236
|
+
description: "Returns the prior generations of a connection's schema map, oldest first, so this is every schema fact the connection ever persisted that stopped being live, dated with the instant it stopped. Producing one destroys nothing: a generation is RETIRED, and each one reports what was OBSERVED when it was retired, never that the source removed anything — a catalog cannot distinguish a dropped table from one this connection's credential can no longer see. WHERE THIS CONNECTION'S CONNECTOR SAMPLES ITS FIELD LISTS rather than enumerating them from a catalog (the connection's fieldReport is SAMPLED on the live schema map; MongoDB reads the union of top-level keys over $sample-d documents), a table's persisted field set is CUMULATIVE WITHIN ITS CURRENT GENERATION: it holds every field any draw has shown since that generation began, and no draw takes a field out of it, because a draw that missed a field is a fact about this service's own sample and never about the source. So a field the map lists may appear in no document the source currently holds; it carries no marker saying so and stays extractable, deliberately, because nothing observed its removal. CUMULATIVE WITHIN A GENERATION IS NOT CUMULATIVE FOREVER: a generation ENDS at any retirement that records why — ABSENT_FROM_CATALOG, COLUMN_SET_SUPERSEDED or CONNECTION_RETIRED, whose meanings the retirementCause property carries — and the next report opens a new generation holding its own fields alone, so a served field set CAN come back narrower across that boundary, with the wider generation dated, caused and still readable on the schema-history surface. WHERE THE FIELD LISTS ARE ENUMERATED from the source's own catalog none of this applies: a table's columns are what the latest probe asserted for the credential that read it, and a catalog list is authoritative over a sampled union — which is what COLUMN_SET_SUPERSEDED records when a connection's connector starts enumerating. The recorded causes are ABSENT_FROM_CATALOG (the source's catalog stopped listing the table), COLUMN_SET_SUPERSEDED (the catalog listed it again with a different non-empty column set; recorded only for a report that ENUMERATED the source's catalog, since a report whose field list was sampled from the source's data retires no column set when a draw differs — that difference is this service's own sample varying and asserts nothing about the source), CONNECTION_RETIRED (an operator retired the connection, the one cause that is genuinely known) and UNKNOWN_LEGACY (archived by an earlier release that recorded no cause)."
|
|
10237
|
+
operationId: getDiscoveryConnectionSchemaHistory
|
|
10238
|
+
parameters:
|
|
10239
|
+
- description: Connection ID (UUID)
|
|
10240
|
+
in: path
|
|
10241
|
+
name: connectionId
|
|
10242
|
+
required: true
|
|
10243
|
+
schema:
|
|
10244
|
+
description: Connection ID (UUID)
|
|
10245
|
+
examples:
|
|
10246
|
+
- 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
10247
|
+
format: uuid
|
|
10248
|
+
type: string
|
|
10249
|
+
responses:
|
|
10250
|
+
"200":
|
|
10251
|
+
content:
|
|
10252
|
+
application/json:
|
|
10253
|
+
schema:
|
|
10254
|
+
$ref: "#/components/schemas/ConnectionSchemaHistoryResponse"
|
|
10255
|
+
description: OK
|
|
10256
|
+
default:
|
|
10257
|
+
content:
|
|
10258
|
+
application/problem+json:
|
|
10259
|
+
schema:
|
|
10260
|
+
$ref: "#/components/schemas/Detail"
|
|
10261
|
+
description: Error
|
|
10262
|
+
security:
|
|
10263
|
+
- BearerAuth: []
|
|
10264
|
+
summary: Get connection schema history
|
|
10265
|
+
tags:
|
|
10266
|
+
- Discovery
|
|
10038
10267
|
/v1/discovery/connections/{connectionId}/test:
|
|
10039
10268
|
post:
|
|
10040
10269
|
description: Tests connectivity for a specific discovered connection owned by the current tenant.
|
|
@@ -10209,6 +10438,34 @@ paths:
|
|
|
10209
10438
|
summary: Refresh discovery
|
|
10210
10439
|
tags:
|
|
10211
10440
|
- Discovery
|
|
10441
|
+
/v1/discovery/rest-connections:
|
|
10442
|
+
post:
|
|
10443
|
+
description: "Provisions a REST acquirer connection (PagBank, Stripe, Pix BCB) and seals its multi-field credential. Which credential fields a connector type requires is published as `requiredFields` on GET /v1/discovery/connector-types — the SAME table this endpoint enforces, so advertisement and enforcement cannot diverge. An optional per-connection `baseURL` overrides the deployment-configured endpoint for that connector type, so one deployment can hold a provider's sandbox and production connections side by side. Database addressing is absent by design: no REST connector uses it. The supplied credential is sealed before persistence and is never returned. The created connection appears in GET /v1/discovery/connections like any other."
|
|
10444
|
+
operationId: createRESTDiscoveryConnection
|
|
10445
|
+
requestBody:
|
|
10446
|
+
content:
|
|
10447
|
+
application/json:
|
|
10448
|
+
schema:
|
|
10449
|
+
$ref: "#/components/schemas/RESTConnectionRequest"
|
|
10450
|
+
required: true
|
|
10451
|
+
responses:
|
|
10452
|
+
"201":
|
|
10453
|
+
content:
|
|
10454
|
+
application/json:
|
|
10455
|
+
schema:
|
|
10456
|
+
$ref: "#/components/schemas/ConnectionResponse"
|
|
10457
|
+
description: Created
|
|
10458
|
+
default:
|
|
10459
|
+
content:
|
|
10460
|
+
application/problem+json:
|
|
10461
|
+
schema:
|
|
10462
|
+
$ref: "#/components/schemas/Detail"
|
|
10463
|
+
description: Error
|
|
10464
|
+
security:
|
|
10465
|
+
- BearerAuth: []
|
|
10466
|
+
summary: Create REST discovery connection
|
|
10467
|
+
tags:
|
|
10468
|
+
- Discovery
|
|
10212
10469
|
/v1/discovery/status:
|
|
10213
10470
|
get:
|
|
10214
10471
|
description: Returns the current Fetcher integration status including health and connection count.
|