---
updatedAt: 2026-06-30T05:31:04.000Z
agentTools:
  projectIndex: https://developers.intandem.tech/llms.txt
---

# [DEPRECATED] Assign an app

## Overview
Assign an application to a business or directory so it appears in the App Market.

**⚠️ DEPRECATED**: Use `POST /v3/apps/app_assignments` instead.

## Authentication
**Available for Internal Tokens and Directory Tokens.**

### Directory Token Requirements
Directory tokens can only assign apps they own/created:

- **Assign to Directory**: Requires `is_internal: "true"`. The app must be owned by your directory.
- **Assign to Business**: Requires `hide_from_market: "true"`. The app must be owned by your directory and the business must belong to your directory.

## Path Parameter
The `{id}` in the path must be the **app_code_name** (string identifier), not the numeric app_id.

## Migration Guide

### Old Format (This Endpoint)
```json
{
  "directory_uid": "def456",
  "is_internal": "true"
}
```

### New Format (`POST /v3/apps/app_assignments`)
```json
{
  "assignee_type": "directory",
  "assignee_uid": "def456",
  "app_code_name": "myapp",
  "settings": {
    "assignment_mode": "internal"
  }
}
```

### Parameter Mapping
| Old Parameter | New Parameter |
|---------------|---------------|
| `business_uid` | `assignee_uid` (with `assignee_type: "business"`) |
| `directory_uid` | `assignee_uid` (with `assignee_type: "directory"`) |
| `is_internal: "true"` | `settings.assignment_mode: "internal"` |
| `pre_installed: "true"` | `settings.assignment_mode: "pre_installed"` |
| `built_in: "true"` | Not supported in v3 |

# OpenAPI definition

````json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Apps",
    "description": "Unified OpenAPI specification for apps domain",
    "version": "3.0",
    "x-generated": {
      "sourceFiles": [
        "navigation_items.json",
        "apps.json",
        "app_business_mappings.json",
        "legacy_v1_apps.json",
        "legacy_token.json",
        "widgets_and_boards.json",
        "legacy_app_translation.json",
        "jwks.json"
      ],
      "pathNormalizations": [
        {
          "file": "legacy_v1_apps.json",
          "basePath": "/platform/v1",
          "transformations": [
            {
              "original": "/apps",
              "normalized": "/platform/v1/apps",
              "basePath": "/platform/v1"
            },
            {
              "original": "/apps/{id}",
              "normalized": "/platform/v1/apps/{id}",
              "basePath": "/platform/v1"
            },
            {
              "original": "/apps/{id}/assign",
              "normalized": "/platform/v1/apps/{id}/assign",
              "basePath": "/platform/v1"
            },
            {
              "original": "/apps/{id}/install_app",
              "normalized": "/platform/v1/apps/{id}/install_app",
              "basePath": "/platform/v1"
            },
            {
              "original": "/apps/{id}/unassign",
              "normalized": "/platform/v1/apps/{id}/unassign",
              "basePath": "/platform/v1"
            },
            {
              "original": "/apps/{id}/uninstall_app",
              "normalized": "/platform/v1/apps/{id}/uninstall_app",
              "basePath": "/platform/v1"
            }
          ]
        },
        {
          "file": "legacy_token.json",
          "basePath": "/oauth/service",
          "transformations": [
            {
              "original": "/token",
              "normalized": "/oauth/service/token",
              "basePath": "/oauth/service"
            }
          ]
        },
        {
          "file": "legacy_app_translation.json",
          "basePath": "/platform/v1",
          "transformations": [
            {
              "original": "/apps/translations/{app_code_name}",
              "normalized": "/platform/v1/apps/translations/{app_code_name}",
              "basePath": "/platform/v1"
            }
          ]
        }
      ],
      "pathConflicts": [],
      "componentConflicts": [
        {
          "type": "schema",
          "name": "ErrorResponse",
          "resolution": "Renamed to ErrorResponse_app_business_mappings",
          "files": [
            "merged",
            "app_business_mappings.json"
          ]
        },
        {
          "type": "schema",
          "name": "Response",
          "resolution": "Renamed to Response_widgets_and_boards",
          "files": [
            "merged",
            "widgets_and_boards.json"
          ]
        }
      ],
      "totalPaths": 26,
      "totalComponents": 26
    }
  },
  "servers": [
    {
      "url": "https://api.vcita.biz",
      "description": "Unified API Gateway server"
    }
  ],
  "paths": {
    "/platform/v1/apps/{id}/assign": {
      "post": {
        "description": "## Overview\nAssign an application to a business or directory so it appears in the App Market.\n\n**⚠️ DEPRECATED**: Use `POST /v3/apps/app_assignments` instead.\n\n## Authentication\n**Available for Internal Tokens and Directory Tokens.**\n\n### Directory Token Requirements\nDirectory tokens can only assign apps they own/created:\n\n- **Assign to Directory**: Requires `is_internal: \"true\"`. The app must be owned by your directory.\n- **Assign to Business**: Requires `hide_from_market: \"true\"`. The app must be owned by your directory and the business must belong to your directory.\n\n## Path Parameter\nThe `{id}` in the path must be the **app_code_name** (string identifier), not the numeric app_id.\n\n## Migration Guide\n\n### Old Format (This Endpoint)\n```json\n{\n  \"directory_uid\": \"def456\",\n  \"is_internal\": \"true\"\n}\n```\n\n### New Format (`POST /v3/apps/app_assignments`)\n```json\n{\n  \"assignee_type\": \"directory\",\n  \"assignee_uid\": \"def456\",\n  \"app_code_name\": \"myapp\",\n  \"settings\": {\n    \"assignment_mode\": \"internal\"\n  }\n}\n```\n\n### Parameter Mapping\n| Old Parameter | New Parameter |\n|---------------|---------------|\n| `business_uid` | `assignee_uid` (with `assignee_type: \"business\"`) |\n| `directory_uid` | `assignee_uid` (with `assignee_type: \"directory\"`) |\n| `is_internal: \"true\"` | `settings.assignment_mode: \"internal\"` |\n| `pre_installed: \"true\"` | `settings.assignment_mode: \"pre_installed\"` |\n| `built_in: \"true\"` | Not supported in v3 |",
        "parameters": [
          {
            "description": "App code name",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "app_data": {
                      "assignment": {
                        "app_id": 2,
                        "built_in": false,
                        "business_id": 1222,
                        "created_at": "2021-11-16T13:29:47.000Z",
                        "directory_id": 12,
                        "id": 1,
                        "is_internal": false,
                        "pre_installed": false,
                        "updated_at": "2021-11-16T13:29:47.000Z"
                      }
                    }
                  },
                  "success": true
                }
              }
            }
          }
        },
        "summary": "[DEPRECATED] Assign an app",
        "tags": [
          "Applications"
        ],
        "x-amazon-apigateway-auth": {
          "type": "NONE"
        },
        "x-amazon-apigateway-integration": {
          "httpMethod": "POST",
          "responses": {
            "default": {
              "statusCode": "201"
            }
          },
          "type": "http_proxy",
          "uri": "https:///platform/v1/apps/{id}/assign"
        },
        "x-auth-type": "Application & Application User",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "built_in": {
                    "description": "Define the app as built_in for this directory, meaning it is installed for all its users and cannot be uninstalled by them. Used with directory_uid only.",
                    "type": "string"
                  },
                  "business_uid": {
                    "description": "The business uid to associate the app to.",
                    "type": "string"
                  },
                  "directory_uid": {
                    "description": "The directory uid to associate the app to.",
                    "type": "string"
                  },
                  "is_internal": {
                    "description": "Specify that the app is an internal - used with directory_uid only.",
                    "type": "string"
                  },
                  "pre_installed": {
                    "description": "Define the app as pre-installed for all new accounts of this directory - used with directory_uid only.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Provide a valid bearer token in the Authorization header. Example: 'Authorization: Bearer {app_token}'"
      }
    }
  }
}
````