# Infuse-Marketplace Developers

> Create, release, price, and publish marketplace apps and algorithms.

Developers own the app and algorithm lifecycle inside Infuse-Marketplace.

Most developers manage this lifecycle in the Infuse Cloud dashboard. Use the dashboard to review earnings, link Infuse IoT applications into Marketplace, upload listing assets, add Infuse IoT releases, set pricing, and publish when the item is ready for providers.

## Dashboard Workflow

In Infuse Cloud:

1. Open **Infuse-Marketplace**.
2. Select the marketplace instance you develop for.
3. Open the **Developer** area.
4. Use **Overview** to review earnings and activity for the selected instance.
5. Use **Earnings** to review period earnings statements, paid amounts, and pending balances.
6. Open **Manage**.
7. Create a Marketplace item from an Infuse IoT application.
8. Complete the item tabs:

  - **Details** for display name, description, license URL, and EULA URL.
  - **Images** for icon, screenshots, and artwork.
  - **Releases** for Infuse IoT release selection, version history, availability, and release notes.
  - **Pricing** for the developer base price.
9. Publish the item after the readiness checks pass.

Developer-managed marketplace items are linked to Infuse IoT applications owned by the same organisation. Admin offerings and provider listings are built from the published app or algorithm, but developers continue to own the Marketplace name, description, release selection, base pricing, and public assets.

## Item Readiness

A marketplace item can be published only when it has:

- metadata with a display name,
- a developer base price,
- at least one Infuse IoT release available now.

Publishing does not create provider storefront listings by itself. After publication, marketplace admins can create offerings and providers can create listings for sale.

## API Equivalent

Use the developer APIs when you need to automate the same actions from your own tooling. Use an access token for the organisation that owns the app or algorithm.

<table>
<thead>
  <tr>
    <th>
      Task
    </th>
    
    <th>
      Endpoint
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      List apps and algorithms
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/marketplace-items
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      List Infuse IoT applications
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/infuse-iot/applications
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Create an app or algorithm
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/infuse-iot/applications/{applicationId}/marketplace-item
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Read an app or algorithm
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/marketplace-items/{id}
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Update metadata
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/marketplace-items/{id}/metadata
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Set icon
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/marketplace-items/{id}/icon
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Manage gallery images
    </td>
    
    <td>
      <code>
        GET/POST /marketplace/developers/marketplace-items/{id}/images
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      List Infuse IoT releases
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/infuse-iot/applications/{applicationId}/releases
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Create a release
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/marketplace-items/{id}/infuse-iot-releases
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Read releases
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/marketplace-items/{id}/releases
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Set price
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/marketplace-items/{id}/price
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Read price history
    </td>
    
    <td>
      <code>
        GET /marketplace/developers/marketplace-items/{id}/prices
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Publish
    </td>
    
    <td>
      <code>
        POST /marketplace/developers/marketplace-items/{id}/publish
      </code>
    </td>
  </tr>
</tbody>
</table>
