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

> ## Agent Instructions
> Use Stable documentation by default. Honor an explicit Beta request or a URL under /docs/beta/. If the requested version conflicts with the installed CLI package or API origin, clarify the target before writing integration code.
> Pages under /docs/beta/ document Beta; other product pages document Stable. Keep the CLI package, commands, API origin, and credentials within the selected version. State the documentation version in your answer.
> For MCP search, always pass version: Stable or version: Beta. Unfiltered search mixes both versions. For filesystem reads, keep Beta queries under /beta/ and exclude /beta/ from Stable queries; discover paths before reading them.
> The public docs base is https://photon.codes/docs. Convert MCP page paths to public URLs under that base, preserving /beta/ when present. Read https://photon.codes/docs/skill.md for version selection and https://photon.codes/docs/llms.txt for the version indexes.

# Assignments

> The Assignments resource in the TypeScript, Python and Rust clients.

## Methods

<Tabs>
  <Tab title="TypeScript">
    **[List shared line assignments](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/list)**

    ```typescript TypeScript theme={null}
    photon.projects.platforms.imessage.assignments.list(input: ListSharedLineAssignmentsInput, options?: RequestOptions): Promise<ListSharedLineAssignmentsOutput>
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments`

    **[Get shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/get)**

    ```typescript TypeScript theme={null}
    photon.projects.platforms.imessage.assignments.get(input: GetSharedLineAssignmentInput, options?: RequestOptions): Promise<GetSharedLineAssignmentOutput>
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`

    **[Create shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/create)**

    ```typescript TypeScript theme={null}
    photon.projects.platforms.imessage.assignments.create(input: CreateSharedLineAssignmentInput, options?: RequestOptions): Promise<CreateSharedLineAssignmentOutput>
    ```

    `POST /v1/projects/{id}/platforms/imessage/assignments`

    **[Release shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/release)**

    ```typescript TypeScript theme={null}
    photon.projects.platforms.imessage.assignments.release(input: ReleaseSharedLineAssignmentInput, options?: RequestOptions): Promise<ReleaseSharedLineAssignmentOutput>
    ```

    `DELETE /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`
  </Tab>

  <Tab title="Python">
    **[List shared line assignments](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/list)**

    ```python Python theme={null}
    photon.projects.platforms.imessage.assignments.list(input: ListSharedLineAssignmentsInput) -> models.SharedLineAssignmentPage
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments`

    **[Get shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/get)**

    ```python Python theme={null}
    photon.projects.platforms.imessage.assignments.get(input: GetSharedLineAssignmentInput) -> models.SharedLineAssignment
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`

    **[Create shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/create)**

    ```python Python theme={null}
    photon.projects.platforms.imessage.assignments.create(input: CreateSharedLineAssignmentInput) -> models.SharedLineAssignment
    ```

    `POST /v1/projects/{id}/platforms/imessage/assignments`

    **[Release shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/release)**

    ```python Python theme={null}
    photon.projects.platforms.imessage.assignments.release(input: ReleaseSharedLineAssignmentInput) -> models.SharedLineAssignment
    ```

    `DELETE /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`
  </Tab>

  <Tab title="Rust">
    **[List shared line assignments](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/list)**

    ```rust Rust theme={null}
    client.list_shared_line_assignments(id: String, params: Option<ListSharedLineAssignmentsParams>).await -> Result<ResponseValue<types::SharedLineAssignmentPage>, Error<ListSharedLineAssignmentsError>>
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments`

    **[Get shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/get)**

    ```rust Rust theme={null}
    client.get_shared_line_assignment(assignment_id: String, id: String).await -> Result<ResponseValue<types::SharedLineAssignment>, Error<GetSharedLineAssignmentError>>
    ```

    `GET /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`

    **[Create shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/create)**

    ```rust Rust theme={null}
    client.create_shared_line_assignment(idempotency_key: String, id: String, body: &types::CreateSharedLineAssignmentRequest).await -> Result<ResponseValue<types::SharedLineAssignment>, Error<CreateSharedLineAssignmentError>>
    ```

    `POST /v1/projects/{id}/platforms/imessage/assignments`

    **[Release shared line assignment](/docs/beta/api-client/sdk/projects/platforms/imessage/assignments/release)**

    ```rust Rust theme={null}
    client.release_shared_line_assignment(assignment_id: String, id: String).await -> Result<ResponseValue<types::SharedLineAssignment>, Error<ReleaseSharedLineAssignmentError>>
    ```

    `DELETE /v1/projects/{id}/platforms/imessage/assignments/{assignmentId}`
  </Tab>
</Tabs>

## Models

### SharedLineAssignmentPage

<ResponseField name="assignments" type={"array of SharedLineAssignment"} required />

<ResponseField name="nextPageToken" type={"string"} />

### SharedLineAssignment

<ResponseField name="assignedPhoneNumber" type={"string"} required />

<ResponseField name="assignmentId" type={"string"} required />

<ResponseField name="createdAt" type={"string (date-time)"} required />

<ResponseField name="email" type={"string"} />

<ResponseField name="firstName" type={"string"} />

<ResponseField name="handle" type={"string"} required />

<ResponseField name="lastName" type={"string"} />

<ResponseField name="platform" type={"SharedLineAssignmentPlatform"} required />

<ResponseField name="projectId" type={"string"} required />

<ResponseField name="releasedAt" type={"string (date-time)"} />

<ResponseField name="updatedAt" type={"string (date-time)"} required />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.