# Organization API: Customer Portal: Software

> The 35 Organization API operations for software.

Source: https://docs.coritan.com/api/reference/organizations/customer-portal/servers-software/

Part of [Customer Portal](/api/reference/organizations/customer-portal/).

## Operations

| Method | Path | Summary |
| --- | --- | --- |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software) | List installed software |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-addons) | Every addon in the folders the server loads from, tracked or hand-uploaded |
| DELETE | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/records/{record_uuid}`](#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-records-record-u) | Drop a tracking record whose files are gone, without touching the disk |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/remove`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-remove) | Delete one addon from disk, through the tracked uninstall when it has a record |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/toggle`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-toggle) | Switch one addon file on or off (Foo.jar <- Foo.jar.disabled) |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock) | Turn Bedrock crossplay on or off for a Java server |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs) | Behavior and resource packs on disk, which are active in the world, and importable uploads |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/disable-all`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-disable-all) | Empty the world's activation lists so it boots on vanilla content; folders stay |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/import`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-import) | Queue an import of an uploaded .mcaddon / .mcpack / .zip already on the server |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/{pack_uuid}/active`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-pack-uuid-a) | Add a pack to, or drop it from, the world's activation list |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/{pack_uuid}/remove`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-pack-uuid-r) | Deactivate a pack, delete its folder, and drop its tracking row |
| PUT | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/texturepack-required`](#op-put-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-texturepack-requir) | Texturepack-required: players must accept the resource packs to join |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog) | Software catalog |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog/{key}/versions`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog-key-versions) | Software catalog versions |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog/{key}/versions/{version}/builds`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog-key-versions-versi) | Publisher builds of one game version: the loader versions for Fabric/Forge |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/change`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-change) | Change server software |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/context`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-context) | Software context |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/dependencies/{source_uuid}/{identifier}`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-dependencies-source-uuid-i) | What a version requires, named, with what is already installed marked |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/install`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-install) | Install software |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-installs) | List software installs |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid) | Get software install |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}/cancel`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid-can) | Cancel software install |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}/retry`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid-ret) | Retry software install |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/jvm`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-jvm) | The heap slider and the allowlisted startup flags, as the panel shows them |
| PATCH | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/jvm`](#op-patch-api-v1-orgs-org-slug-portal-servers-uuid-software-jvm) | Move the heap, pick startup flags from the catalog, or reset both |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack) | The server resource pack as server.properties declares it |
| PUT | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`](#op-put-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack) | Point players at a pack, from a URL or a marketplace resource pack version |
| DELETE | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`](#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack) | Stop offering a server resource pack |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/safe-mode`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-safe-mode) | Arm a one-shot --safeMode start (vanilla datapack only), optionally starting now |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/search`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-search) | Search software |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/sources`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-sources) | Software sources |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/updates`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-updates) | Newer compatible builds for the addons the marketplace installed |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/versions/{source_uuid}/{identifier}`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-versions-source-uuid-ident) | Software versions |
| DELETE | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/{record_uuid}`](#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-record-uuid) | Uninstall software |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/{record_uuid}/update`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-record-uuid-update) | Queue an in-place update: the old file is removed, the new build installed |

### List installed software {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Every addon in the folders the server loads from, tracked or hand-uploaded {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-addons}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons`

Every addon in the folders the server loads from, tracked or hand-uploaded.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |
| `kind` | query | string or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Drop a tracking record whose files are gone, without touching the disk {#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-records-record-u}

`DELETE /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/records/{record_uuid}`

Drop a tracking record whose files are gone, without touching the disk.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `record_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Delete one addon from disk, through the tracked uninstall when it has a record {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-remove}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/remove`

Delete one addon from disk, through the tracked uninstall when it has a record.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Switch one addon file on or off (Foo.jar <- Foo.jar.disabled) {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-addons-toggle}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/addons/toggle`

Switch one addon file on or off (``Foo.jar`` <-> ``Foo.jar.disabled``).

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Turn Bedrock crossplay on or off for a Java server {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock`

Turn Bedrock crossplay on or off for a Java server.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Behavior and resource packs on disk, which are active in the world, and importable uploads {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs`

Behavior and resource packs on disk, which are active in the world, and importable uploads.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Empty the world's activation lists so it boots on vanilla content; folders stay {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-disable-all}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/disable-all`

Empty the world's activation lists so it boots on vanilla content; folders stay.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Queue an import of an uploaded .mcaddon / .mcpack / .zip already on the server {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-import}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/import`

Queue an import of an uploaded ``.mcaddon`` / ``.mcpack`` / ``.zip`` already on the server.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Add a pack to, or drop it from, the world's activation list {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-pack-uuid-a}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/{pack_uuid}/active`

Add a pack to, or drop it from, the world's activation list.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `pack_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Deactivate a pack, delete its folder, and drop its tracking row {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-packs-pack-uuid-r}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/packs/{pack_uuid}/remove`

Deactivate a pack, delete its folder, and drop its tracking row.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `pack_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Texturepack-required: players must accept the resource packs to join {#op-put-api-v1-orgs-org-slug-portal-servers-uuid-software-bedrock-texturepack-requir}

`PUT /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/bedrock/texturepack-required`

``texturepack-required``: players must accept the resource packs to join.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Software catalog {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Software catalog versions {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog-key-versions}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog/{key}/versions`

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | string | yes |  |
| `key` | path | string | yes |  |
| `org_slug` | path | string | yes |  |
| `limit` | query | integer | no | Default: `200`. |
| `include_unsupported` | query | boolean | no | Default: `False`. |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Publisher builds of one game version: the loader versions for Fabric/Forge {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-catalog-key-versions-versi}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/catalog/{key}/versions/{version}/builds`

Publisher builds of one game version: the loader versions for Fabric/Forge.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `key` | path | string | yes |
| `version` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Change server software {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-change}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/change`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Software context {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-context}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/context`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### What a version requires, named, with what is already installed marked {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-dependencies-source-uuid-i}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/dependencies/{source_uuid}/{identifier}`

What a version requires, named, with what is already installed marked.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | string | yes |  |
| `source_uuid` | path | string | yes |  |
| `identifier` | path | string | yes |  |
| `org_slug` | path | string | yes |  |
| `version` | query | string | no | Default: `latest`. |
| `kind` | query | string or null | no |  |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Install software {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-install}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/install`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: SoftwareInstallBody or object.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### List software installs {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-installs}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |
| `status` | query | string or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Get software install {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `install_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Cancel software install {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid-can}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}/cancel`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `install_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Retry software install {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-installs-install-uuid-ret}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/installs/{install_uuid}/retry`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `install_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### The heap slider and the allowlisted startup flags, as the panel shows them {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-jvm}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/jvm`

The heap slider and the allowlisted startup flags, as the panel shows them.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Move the heap, pick startup flags from the catalog, or reset both {#op-patch-api-v1-orgs-org-slug-portal-servers-uuid-software-jvm}

`PATCH /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/jvm`

Move the heap, pick startup flags from the catalog, or reset both. Applies on restart.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### The server resource pack as server.properties declares it {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`

The server resource pack as ``server.properties`` declares it.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Point players at a pack, from a URL or a marketplace resource pack version {#op-put-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack}

`PUT /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`

Point players at a pack, from a URL or a marketplace resource pack version.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Stop offering a server resource pack {#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-resource-pack}

`DELETE /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/resource-pack`

Stop offering a server resource pack.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Arm a one-shot --safeMode start (vanilla datapack only), optionally starting now {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-safe-mode}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/safe-mode`

Arm a one-shot ``--safeMode`` start (vanilla datapack only), optionally starting now.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

Type: Body.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Search software {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-search}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/search`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `query` | string | no |
| `source` | string or null | no |
| `source_uuid` | string or null | no |
| `page` | integer | no |
| `limit` | integer | no |
| `kind` | string or null | no |
| `sort` | string or null | no |
| `loaders` | array of string or null | no |
| `game_versions` | array of string or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Software sources {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-sources}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/sources`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |
| `kind` | query | string or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Newer compatible builds for the addons the marketplace installed {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-updates}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/updates`

Newer compatible builds for the addons the marketplace installed.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | string | yes |  |
| `org_slug` | path | string | yes |  |
| `kind` | query | string or null | no |  |
| `include_current` | query | boolean | no | Default: `False`. |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Software versions {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-software-versions-source-uuid-ident}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/versions/{source_uuid}/{identifier}`

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | string | yes |  |
| `source_uuid` | path | string | yes |  |
| `identifier` | path | string | yes |  |
| `org_slug` | path | string | yes |  |
| `page` | query | integer | no | Default: `1`. |
| `limit` | query | integer | no | Default: `50`. |
| `loaders` | query | string or null | no |  |
| `game_versions` | query | string or null | no |  |
| `kind` | query | string or null | no |  |
| `include_incompatible` | query | boolean | no | List builds for other loaders / game versions too, flagged Default: `False`. |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Uninstall software {#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-software-record-uuid}

`DELETE /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/{record_uuid}`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `record_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Queue an in-place update: the old file is removed, the new build installed {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-software-record-uuid-update}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/software/{record_uuid}/update`

Queue an in-place update: the old file is removed, the new build installed.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `record_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json`

Type: object or null.

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |
