Connection capabilities
Tells, operation by operation, what this Connection can do at its marketplace.
Call it before showing an external action in your app. The answer is for this Connection: it combines what the marketplace adapter offers with the scopes the seller granted.
Each operation in operations has a status:
status | What it means | What the route answers |
|---|---|---|
available | the Connection can run it | proceeds normally |
unsupported | the marketplace does not offer the operation | 422 CAPABILITY_UNSUPPORTED |
not_granted | the marketplace offers it, but a requiredScopes is missing | 403 CAPABILITY_NOT_GRANTED; the seller must authorize again |
In an inventory batch across several Connections, the error is not in the response. The job is created, and only the item of the Connection without the operation fails, with the code in its message.
Even with available, the marketplace may refuse the operation when it runs: the app lacks the permission for that resource with this seller (on Mercado Livre, a functional permission turned off in the app). The job item fails with CAPABILITY_NOT_GRANTED and the same details. To fix it, enable the permission in the marketplace app and have the seller authorize again.
declarations holds marketplace facts that change how operations behave. Example: inventory.scope says whether stock belongs to each offer (binding) or is shared by the marketplace product variant (marketplace_product_variant).
Each endpoint page that reaches a marketplace shows support by marketplace at the top. That is the overview. This response is the decision for one specific Connection.
api_keyAuthorizationBearer <token>API key (mk_...)
id*stringIdentifier of the resource, as returned by the API.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidEvery operation with its status for this connection, and the marketplace declarations. A route whose operation is not available answers 422 CAPABILITY_UNSUPPORTED or 403 CAPABILITY_NOT_GRANTED.
application/json- response
What this connection can do at its marketplace, operation by operation, and the facts that change how operations behave.
marketplace*stringThe marketplace of this connection.
"mock""mercadolivre""magalu""amazon""tiktok""shopee"operations*One entry per marketplace operation. Check status before calling a route that reaches the marketplace.
declarations*Facts about the marketplace that are not operations. They are the same for every connection of the marketplace.
curl -X GET "https://example.com/v1/connections/3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01/capabilities"{ "marketplace": "mercadolivre", "operations": { "listings.read": { "status": "unsupported", "requiredScopes": [ "read" ] }, "listings.import": { "status": "unsupported", "requiredScopes": [ "read" ] }, "listings.publish": { "status": "unsupported", "requiredScopes": [ "write" ] }, "listings.remove": { "status": "unsupported", "requiredScopes": [ "write" ] }, "inventory.publish": { "status": "unsupported", "requiredScopes": [ "write" ] }, "discovery.categories": { "status": "unsupported", "requiredScopes": [ "read" ] }, "discovery.requirements": { "status": "unsupported", "requiredScopes": [ "read" ] }, "discovery.brands": { "status": "unsupported", "requiredScopes": [ "read" ] }, "discovery.productTypes": { "status": "unsupported", "requiredScopes": [ "read" ] }, "discovery.sizeCharts": { "status": "unsupported", "requiredScopes": [ "read" ] }, "discovery.fulfillmentOptions": { "status": "unsupported", "requiredScopes": [ "read" ] }, "catalog.search": { "status": "unsupported", "requiredScopes": [ "read" ] }, "orders.read": { "status": "unsupported", "requiredScopes": [ "read" ] }, "orders.import": { "status": "unsupported", "requiredScopes": [ "read" ] } }, "declarations": { "inventory.scope": "marketplace_product_variant", "listings.offersPerMarketplaceProduct": "many", "inventory.kitStockComputedByMarketplace": true, "timezone": "America/Sao_Paulo", "pii.retentionMaxDays": null, "pii.retentionBasis": "order_closed" }}