# Search third-party solutions for an Azure co-sell

`GET https://api.suger.cloud/org/{orgId}/cosell/partner/AZURE/thirdPartySolutions/lookup/{searchTerm}`

Search the solutions published by companies other than Microsoft in the Partner Center catalog, and return the matches with their identifiers and publisher names.

Use it the same way as AzureMicrosoftSolutionLookup — to turn a solution name into the identifier an Azure co-sell referral needs under `details.requirements.solutions` — when the solution belongs to an ISV. Search here, pick the match, then pass its id to CreateCosellReferral.

Search Microsoft's own products with AzureMicrosoftSolutionLookup; this covers everything published by someone else, including your own listings. Reads the catalog through this organization's Microsoft Partner Center connection and changes nothing.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | string | yes | Organization ID |
| `searchTerm` | path | string | yes | Search term for third-party solution lookup |

## Responses

### 200 — Matching solutions published by companies other than Microsoft. `value` is the match list — empty when nothing matched, which is a success, not an error. Take the id from an entry's `identifiers` and pass it to CreateCosellReferral under `details.requirements.solutions`.

Content-Type: `application/json` · Schema: `ThirdPartySolutionLookupResponse`

**`ThirdPartySolutionLookupResponse`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `@odata.context` | string | no |  |
| `@odata.count` | integer | no |  |
| `value` | array<ThirdPartySolution> | no |  |

**`ThirdPartySolution`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `identifiers` | array<MicrosoftSolutionIdentifier> | no |  |
| `incentives` | array<object> | no |  |
| `mpnId` | string | no |  |
| `name` | string | no |  |
| `priceListName` | string | no |  |
| `publisherName` | string | no |  |
| `referralOrganizationId` | string | no |  |
| `type` | string | no |  |

**`MicrosoftSolutionIdentifier`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | no |  |
| `type` | string | no |  |

### 500 — Internal server error

Content-Type: `application/json` · Schema: `ErrorResponse`

**`ErrorResponse`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | ErrorCode | no |  |
| `info` | object | no |  |
| `message` | string | no |  |

## Example

_Generated from this operation's schema. Values are placeholders — substitute your own ids, and set `SUGER_TOKEN` to a bearer token from the [OAuth client-credentials exchange](https://doc.fours.com/settings/oauth-app/)._

### Request

```bash
curl -X GET 'https://api.suger.cloud/org/{orgId}/cosell/partner/AZURE/thirdPartySolutions/lookup/{searchTerm}' \
  -H "Authorization: Bearer $SUGER_TOKEN"
```

### Response — 200

```json
{
  "@odata.context": "string",
  "@odata.count": 1,
  "value": [
    {
      "identifiers": [
        {
          "id": "01H0000000000000000000",
          "type": "string"
        }
      ],
      "incentives": [],
      "mpnId": "01H0000000000000000000",
      "name": "Acme Corp",
      "priceListName": "Acme Corp",
      "publisherName": "Acme Corp",
      "referralOrganizationId": "01H0000000000000000000",
      "type": "string"
    }
  ]
}
```

### Error — 500

```json
{
  "code": "InternalServerError",
  "message": "string"
}
```

---

API reference: https://doc.fours.com/api/
