> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strandai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get segmentation manifest

> Read the mask, cell morphology/geometry, marker-expression, and provenance contract.

Mask pixels are uint32 local labels. Morphology and per-marker Parquet tables join by `instance_id`; these are true cell observations, unlike the pixel-grid matrix produced by ordinary prediction-to-AnnData conversion.


## OpenAPI

````yaml GET /samples/{id}/segmentation/{layerId}/manifest
openapi: 3.1.0
info:
  title: Strand AI Platform API
  version: v1
  description: >-
    REST surface for uploading WSIs, submitting Lattice inference jobs, and
    streaming results. All endpoints require an API key or Strand AI OAuth
    access token in the `Authorization: Bearer` header.
servers:
  - url: https://app.strandai.com/api/v1
    description: Production
security:
  - ApiKey: []
  - OAuth2: []
paths:
  /samples/{id}/segmentation/{layerId}/manifest:
    get:
      summary: Get segmentation artifact manifest
      description: >-
        Returns mask OME-Zarr and true per-cell Parquet contracts.
        Marker-expression tables join morphology by instance_id; they are not
        pixel-grid AnnData.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: layerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Artifact manifest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentationManifest'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: OAuth token lacks a required scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Layer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Layer not complete
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKey: []
        - OAuth2:
            - samples:read
            - results:read
components:
  schemas:
    SegmentationManifest:
      type: object
      description: >-
        Explicit per-cell contract. Mask pixels are uint32 local labels;
        morphology and marker Parquet tables join by instance_id. This is
        distinct from pixel-grid prediction matrices.
      required:
        - schemaVersion
        - layerId
        - entityType
        - modelVersion
        - coordinateFrame
        - instanceCount
        - createdAt
        - artifacts
      properties:
        schemaVersion:
          type: string
          enum:
            - '1.0'
        layerId:
          type: string
          format: uuid
        entityType:
          type: string
        modelVersion:
          type: string
        coordinateFrame:
          type: string
        instanceCount:
          type: integer
          nullable: true
        createdAt:
          type: string
          format: date-time
        artifacts:
          type: object
          additionalProperties: false
          required:
            - mask
            - cells
            - provenance
          properties:
            mask:
              type: object
              nullable: true
              additionalProperties: false
              required:
                - format
                - dtype
                - baseUrl
              properties:
                format:
                  type: string
                  enum:
                    - ome-zarr-v3
                dtype:
                  type: string
                  enum:
                    - uint32
                baseUrl:
                  type: string
            cells:
              type: object
              nullable: true
              additionalProperties: false
              required:
                - format
                - morphologyUrl
                - markerExpressionBaseUrl
                - markers
                - joinKey
                - maskJoinKey
                - geometry
                - morphology
                - expression
              properties:
                format:
                  type: string
                  enum:
                    - parquet
                morphologyUrl:
                  type: string
                markerExpressionBaseUrl:
                  type: string
                markers:
                  type: array
                  items:
                    type: string
                joinKey:
                  type: string
                  enum:
                    - instance_id
                maskJoinKey:
                  type: string
                  enum:
                    - local_label
                geometry:
                  type: array
                  items:
                    type: string
                  description: Per-cell centroid columns in the declared coordinate frame.
                morphology:
                  type: array
                  items:
                    type: string
                  description: Per-cell shape measurements in instances.parquet.
                expression:
                  type: array
                  items:
                    type: string
                  description: >-
                    Per-cell marker summary columns, distinct from pixel-grid
                    arrays.
            provenance:
              type: object
              nullable: true
              additionalProperties: false
              required:
                - format
                - url
              properties:
                format:
                  type: string
                  enum:
                    - json
                url:
                  type: string
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
        message:
          type: string
        required:
          type: integer
          nullable: true
        retryAfterSeconds:
          type: integer
          nullable: true
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: sk-strand-XXXXXXXXXXXXXXXXXXXXXXXX
    OAuth2:
      type: oauth2
      description: >-
        Strand AI authorization-code flow with S256 PKCE, explicit organization
        consent, and RFC 8707 resource binding.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.strandai.com/oauth2/auth
          tokenUrl: https://auth.strandai.com/oauth2/token
          scopes:
            samples:read: Read slide metadata and estimates
            samples:write: Upload and change slides
            jobs:read: Read run status
            jobs:write: Start, export, or cancel runs
            results:read: Read and download results
            credits:spend: Reserve and spend organization credits

````