Documentación
superleads.mx

Marketplace

Referencia de la API · ☕ 6 min de lectura
Actualizado el 19 Jun 2026

Developer marketplace API

Documentación de la API de Marketplace

Servidor base: https://services.leadconnectorhq.com

Endpoints


POST /marketplace/billing/charges

Crear a new wallet charge Scopes requeridos: charges.write

Cuerpo de la peticion (application/json): - appId (requerido) — string — App Id of the App - meterId (requerido) — string — Billing Meter Id (you can find this on your app's pricing page) - eventId (requerido) — string — Event Id / Transaction Id on your server's side. This will help you maintain the reference of the event/transaction on your end that you charged the customer for. - userId — string — User Id - locationId (requerido) — string — Id of the Sub-Account to be charged - companyId (requerido) — string — Id of the Agency the Sub-account belongs to - description (requerido) — string — Description of the charge - price — number — Price per unit to charge - units (requerido) — number — Number of units to charge - eventTime — string — The timestamp when the event/transaction was performed. If blank, the billing timestamp will be set as the event time. ISO8601 Format.

Respuestas: - 201 — Charge created successfully - 400 — Peticion invalida - 422 — Entidad no procesable


GET /marketplace/billing/charges

Obtener todos los wallet charges Scopes requeridos: charges.readonly

Parametros: - meterId (query, string) — Billing Meter Id (you can find this on your app's pricing page on the developer portal) - eventId (query, string) — Event Id / Transaction Id - userId (query, string) — Filter results by User Id that your server passed via API when the charge was created - startDate (query, string) — Filter results AFTER a specific date. Use this in combination with endDate to filter results in a specific time window. - endDate (query, string) — Filter results BEFORE a specific date. Use this in combination with startDate to filter results in a specific time window. - skip (query, number) — Número de registros a omitir - limit (query, number) — Maximum number of records to return

Respuestas: - 200 — Returns list of wallet charges - 422 — Entidad no procesable


DELETE /marketplace/billing/charges/{chargeId}

Eliminar a wallet charge Scopes requeridos: charges.write

Parametros: - chargeId (path, string) (requerido) — Id of the charge to delete

Respuestas: - 200 — Charge deleted successfully - 404 — Charge not found - 422 — Entidad no procesable


GET /marketplace/billing/charges/{chargeId}

Obtener specific wallet charge details Scopes requeridos: charges.readonly

Parametros: - chargeId (path, string) (requerido) — Id of the charge to retrieve

Respuestas: - 200 — Returns charge details - 404 — Charge not found - 422 — Entidad no procesable


GET /marketplace/billing/charges/has-funds

Check if account has sufficient funds Scopes requeridos: charges.readonly

Respuestas: - 200 — Returns fund availability status - 422 — Entidad no procesable


DELETE /marketplace/app/{appId}/installations

Uninstall an application Uninstalls an application from your company or a specific location. This will remove the application`s access and stop all its functionalities

Scopes requeridos: oauth.write, oauth.write

Parametros: - appId (path, string) (requerido) — The application id which is to be uninstalled. - Versión (header, string) (requerido) — Versión de la API

Cuerpo de la peticion (application/json): - companyId — string — The company id from which the application is to be uninstalled. If you pass agency token, then companyId is required. It will uninstall application from agency as well as all sub-accounts. - locationId — string — The location id from which the application is to be uninstalled. If you pass location token, then locationId is required. It will uninstall application from that location only. - reason — string — The reason for uninstalling the application. Reason is required if you are uninstalling the application as a developer.

Respuestas: - 200 — Successfully uninstalled the application - 400 — Peticion invalida - 401 — No autorizado - 422 — Entidad no procesable


GET /marketplace/app/{appId}/installations

Obtener Installer Details Fetches installer details for the authenticated user. This endpoint returns information about the company, location, user, and installation details associated with the current OAuth token.

Scopes requeridos: marketplace-installer-details.readonly, marketplace-installer-details.readonly

Parametros: - appId (path, string) (requerido) — Id of the app to get installer details - Versión (header, string) (requerido) — Versión de la API

Respuestas: - 200 — Successfully retrieved installer details. Returns company, location, user, and installation information. - 400 — Bad Request. Invalid request parameters or missing required data. - 403 — Forbidden. The client does not have necessary permissions to access installer details.


GET /marketplace/app/{appId}/rebilling-config/location/{locationId}

Obtener rebilling config for an app subscription and usage plans Get rebilling config for an app subscription and usage plans for the authenticated sub-account. This endpoint returns the subscription and usage plans for an app.

Scopes requeridos: oauth.readonly

Parametros: - appId (path, string) (requerido) — Id of the app to get rebilling config - locationId (path, string) (requerido) — Id of the Sub-Account location to get rebilling config for - Versión (header, string) (requerido) — Versión de la API

Respuestas: - 200 — Successfully retrieved rebilling config for the app - 400 — Bad Request. Invalid request parameters or missing required data. - 403 — Forbidden. The client does not have necessary permissions to access installer details.


POST /marketplace/external-auth/migration

Migrate external authentication connection Migrates an external authentication connection credentials (basic or oauth2) for a specific app and location. This endpoint validates the app configuration, stores credentials safely in CRM's native encrypted storage. With this the lifecycle of the token is managed by CRM.

Scopes requeridos: marketplace-external-auth-migration.write, marketplace-external-auth-migration.write

Parametros: - Versión (header, string) (requerido) — Versión de la API

Cuerpo de la peticion (application/json): - type (requerido) — string — Type of authentication - basic or oauth2 - locationId (requerido) — string — Location Id - appId (requerido) — string — App Id - appVersionId (requerido) — string — App Versión Id - accountId (requerido) — string — Connection identifier - apiKey — string — API Key (supported when type is basic) - basicCredentials — object — Basic auth credentials as key/value pairs (supported when type is basic). Keys are validated against the app versión externalAuthConfig.fields. - accessToken — string — Access token (required when type is oauth2) - refreshToken — string — Refresh token (required when type is oauth2) - expiryIn — number — Access token expiry time in milliseconds (optional for oauth2) - expiryAt — number — Timestamp for access token expiry (optional for oauth2) - scopes — array — OAuth2 scopes (optional for oauth2) - displayName — string — Display name for the connection (optional, defaults to accountId) - isDefault — boolean — Whether this is the default connection for the location (optional, defaults to false)

Respuestas: - 201 — Connection migrated successfully - 400 — Bad request - invalid input or auth type mismatch - 401 — Unauthorized - invalid or missing token - 404 — App not found - 500 — Error interno del servidor