# Returns the position assignment with the given identifier.

`GET /psa/team-member-positions/{id}`

Group: PSA › Team Members · Operation ID: `getTeamMemberPosition`

A position assignment maps one person or placeholder to one project position. This route returns the assignment, not the team roster, which is a separate resource.

[Open in the interactive reference](https://docs.api.lensing.ai/?op=getTeamMemberPosition)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Api-Version` | header | `"v1"` | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version `v1`. |
| `id` | path | string | yes | The unique identifier for the position assignment to return. |

## Response

`200` Success

Under `data` (getTeamMemberPositionOutput):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes | The unique identifier for the position assignment. |
| `psaProjectId` | number | no | The id of the PSA project this record belongs to. It is a numeric package-layer key you can filter on here, not the UUID that GET psa/projects/:id takes. |
| `projectPositionId` | number | no | The id of the project position this row assigns. It is a numeric package-layer key you can filter on here, not the UUID that GET psa/positions/:id takes. |
| `positionName` | string | no | The name of the project position, paired with projectPositionId. It is returned but cannot be filtered or sorted on, and there is no endpoint to find an assignment by position name. |
| `teamMemberId` | number | no | The id of the assigned person's team-roster row. Absent for placeholder-only assignments. It is a numeric package-layer key, not the UUID that GET psa/team-members/:id takes. |
| `placeholderId` | number | no | The id of the placeholder filling this position, when it is filled by a placeholder rather than a person. It is a numeric package-layer key, not the UUID that GET psa/placeholders/:id takes. |
| `invoiced` | boolean | no | Whether this assignment's work has been invoiced. An invoiced assignment cannot be deleted. |
| `lastModifiedDate` | string (date-time) | yes | The date and time this assignment last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |

## Errors

| Code | Status |
| --- | --- |
| `NOT_FOUND` | 400 |

## Statuses

- `400` — Invalid request or business failure. Codes: NOT_FOUND
- `401` — Missing or invalid access token
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests
- `500` — Internal server error
