Skip to content

Get an app in the platform console

The platform.apps.get operation: GET /api/v1/platform/apps/{id} in the REST API and the platform_apps_get tool in the MCP server.

GET/api/v1/platform/apps/{id}

One registered app, any organization's (spec §41.3): its publisher and owning organization, its listing, whether its organization disabled it, the platform's suspension (in force or lifted, with the reasons), the history of suspensions and reinstatements, and its installations by status: installations.organizations is how many organizations a suspension would pause and notify. Never an organization's data. Platform staff.

At a glance

  • REST: GET /api/v1/platform/apps/{id}
  • MCP tool: platform_apps_get
  • Operation ID: platform.apps.get
  • Scope: Platform
  • Permission: platform:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Authentication: API key with the platform:read scope
  • Since: M13

Request

Path parameters

FieldTypeDescription
idocl_… ID

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

FieldTypeDescription
idocl_… ID
object"platform_app"
namestring
publisherstring
orgobject
org.idorg_… ID
org.slugstring
org.namestring
visibilityone of private, listed
listedboolean
reviewStatusone of not_submitted, pending, changes_requested, approved, rejected
statusone of active, disabled
suspensionobject or null
createdAtdate-time
updatedAtdate-time
logoUrlstring or null
websiteUrlstring or null
installationsobject
installations.organizationsinteger
installations.activeinteger
installations.pausedinteger
installations.pausedBySuspensioninteger
installations.revokedinteger
historyarray of object
history[].actionone of suspended, reinstated
history[].atdate-time
history[].byusr_… ID
history[].reasonstring
history[].organizationsinteger
history[].installationsPausedinteger or null
versioninteger

Examples

A listed app installed in 12 organizations

HTTP
GET /api/v1/platform/apps/ocl_01m4ttwd3veh9apbewxheq5xha
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "id": "ocl_01m4ttwd3veh9apbewxheq5xha",
  "object": "platform_app",
  "name": "Ledgerly AI",
  "publisher": "Ledgerly AI B.V.",
  "org": {
    "id": "org_01m4ttwd3veh9apbewxheq5xhb",
    "slug": "ledgerly",
    "name": "Ledgerly"
  },
  "visibility": "listed",
  "listed": true,
  "reviewStatus": "approved",
  "status": "active",
  "suspension": null,
  "createdAt": "2026-10-25T09:00:00.000Z",
  "updatedAt": "2026-10-25T09:00:00.000Z",
  "logoUrl": null,
  "websiteUrl": "https://ledgerly.example",
  "installations": {
    "organizations": 12,
    "active": 11,
    "paused": 1,
    "pausedBySuspension": 0,
    "revoked": 2
  },
  "history": [],
  "version": 4
}

Errors

CodeHTTP statusWhenWhat to do
resource_not_found404No registered app has this ID.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
permission_denied403You aren't platform staff.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: validation_failed, api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.