Layers
Partner APIAPI referenceSDK apps

GET /v1/projects/:projectId/sdk-apps

List SDK apps on a project.

View as Markdown
GET/v1/projects/:projectId/sdk-apps
Phase 1stable
Auth
Bearer
Scope
projects:read

Returns every SDK app attached to the project. A project typically has one per platform (iOS, Android, web) — list them to render a settings page showing which builds are instrumented.

The API key is never returned by this endpoint or the single-resource GET. Keys are only shown on creation and rotation.

Path
  • projectId
    stringrequired
    Project ID.
Query
  • cursor
    stringoptional
    Opaque pagination token.
  • limit
    integeroptionaldefault: 25
    Page size, 1–100.
  • platform
    stringoptional
    Filter by platform.
    One of: ios, android, web, react-native, flutter, expo

Example request

curl "https://api.layers.com/v1/projects/9cb958b5-11b5-4e30-8675-5d075d52da7c/sdk-apps" \
  -H "Authorization: Bearer lp_live_01HX9Y6K7EJ4T2_4QZpN..."
const { items, nextCursor } = await layers.sdkApps.list(
  "9cb958b5-11b5-4e30-8675-5d075d52da7c"
);
result = layers.sdk_apps.list("9cb958b5-11b5-4e30-8675-5d075d52da7c")

Response

200OK
{
  "items": [
    {
      "appId": "app_8ffb9410eb0eb848264f8a65",
      "name": "Acme Coffee iOS",
      "platform": "ios",
      "bundleId": "com.acmecoffee.ios",
      "androidPackage": null,
      "webDomain": null,
      "createdAt": "2026-04-18T19:25:22Z",
      "lastEventAt": "2026-04-18T19:42:11Z"
    },
    {
      "appId": "app_a1b2c3d4e5f60718293a4b5c",
      "name": "Acme Coffee Android",
      "platform": "android",
      "bundleId": null,
      "androidPackage": "com.acmecoffee.android",
      "webDomain": null,
      "createdAt": "2026-04-18T19:26:03Z",
      "lastEventAt": null
    }
  ],
  "nextCursor": null
}

The platform-identifier fields (bundleId, androidPackage, webDomain) are always present — only the one matching platform is non-null.

Errors

StatusCodeWhen
422VALIDATION:projectId is not a UUID, limit out of range, or cursor malformed.
401UNAUTHENTICATEDMissing or invalid key.
403FORBIDDEN_SCOPEKey lacks projects:read.
404NOT_FOUNDProject does not exist in the key's organization.
429RATE_LIMITEDRead budget exhausted.

See also

On this page