# Get the prospect interaction sub types for an interaction type

`GET /api/members/prospects/interaction-subtypes/{type}`

- **Success:** `200 OK`
- **Products:** not restricted by product
- **Features:** Prospecting (`PROSPECTS`)

HTML version: [Get the prospect interaction sub types for an interaction type](https://support.gladstonesoftware.cloud/reference/members/get-the-prospect-interaction-sub-types-for-an-interaction-type)

## Overview

Returns the sub types available under one prospect interaction type. A prospect is a sales lead — someone being followed up as a potential joiner — held as a member record and identified by a member id. The type says whether the interaction is a call, a task or an appointment; the sub type says what kind of call, task or appointment it was.

The `{type}` you pass must be an `id` taken from the response of `GET /api/members/prospects/interaction-types`. There is no other source for it: it is matched against the interaction type each sub type is filed under, and an unrecognised id simply returns an empty array rather than an error.

This is the lookup that actually matters when you record an interaction. `POST /api/members/prospects/{memberId}/interactions` takes an `interactionSubTypeId` and no type id at all — it derives the type from the sub type you send — so the `id` values here are the ones you post back. That call rejects an empty `interactionSubTypeId` with a 400 and a sub type it cannot find with a 422.

Only sub types flagged active are returned, ordered by `description`. They are configuration data held in your Gladstone system rather than a fixed list, so read them at runtime instead of hard-coding them.

## Endpoint

`GET {base_url}/api/members/prospects/interaction-subtypes/{type}`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `type` | string | Yes | The `id` of the interaction type whose sub types you want, taken from the `[].id` field of `GET /api/members/prospects/interaction-types`. Send it exactly as that endpoint returned it. If it arrives empty the endpoint returns 400 `An interaction type is required.`; if it is a value no type matches, you get an empty array rather than an error. |

## Sample request

```bash title="cURL"
curl -X GET '{base_url}/api/members/prospects/interaction-subtypes/{type}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Response fields

| Field | Type | Description |
|-------|------|-------------|
| `[].id` | string | The identifier of the sub type, and the value you send as `interactionSubTypeId` when recording an interaction with `POST /api/members/prospects/{memberId}/interactions`. This is the only id that call accepts to classify an interaction. |
| `[].interactionTypeId` | string | The interaction type this sub type is filed under. It always equals the `{type}` you asked for, because results are filtered on it — it is useful when you merge several lookups into one client-side list. |
| `[].description` | string | The sub type's name as configured on the system. Results are ordered by this field. Show `translations` instead when you know the reader's language. |
| `[].translations` | array of object | The sub type's text translated into each culture configured on the system. Returned as an empty array, never null, when no translations are held for the sub type. |
| `[].translations[].type` | string | The record type the translation belongs to. Only the sub type's own `ProspectInteractionSubType` translations are returned, so every entry here relates to the sub type it is nested under. |
| `[].translations[].culture` | string | The culture the `text` belongs to, used to pick the variant matching your user's language. |
| `[].translations[].text` | string | The translated text for this culture. Display this in place of `description` when you hold a translation for the culture you are rendering in. |

## Sample response

```json title="200 OK"
[
  {
    "id": "string",
    "interactionTypeId": "string",
    "description": "string",
    "translations": [
      {
        "type": "string",
        "culture": "string",
        "text": "string"
      }
    ]
  }
]
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `400` | Bad request | The `{type}` path segment is empty or whitespace. The body is `An interaction type is required.` |
| `500` | Internal server error | |
