# PositionAssignments

Operations for PositionAssignments

## List positionAssignments

> List positionAssignments\
> \
> \*\*Filter Syntax:\*\*\
> \- Filters use exact match only\
> \- Multiple filters are combined with AND logic\
> \- Filterable fields: employeeID\
> \- Example: \`?employeeID=123e4567-e89b-12d3-a456-426614174000\`

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for Querying","name":"Querying"},{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListPositionAssignmentResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PositionAssignment"},"type":"array"},"pagination":{"properties":{"hasMore":{"description":"Indicates if there are more items to fetch","type":"boolean"},"limit":{"description":"Maximum number of items requested for this page","format":"int64","type":"integer"},"nextCursor":{"description":"Cursor for the next page. Pass this value in the 'cursor' parameter to get the next page.","type":"string"},"total":{"description":"Total number of items matching the query","format":"int64","type":"integer"}},"required":["total","limit","hasMore"],"type":"object"}},"required":["data","pagination"],"type":"object"},"PositionAssignment":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["id","createdAt","lastModifiedAt","repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/positionAssignments":{"get":{"description":"List positionAssignments\n\n**Filter Syntax:**\n- Filters use exact match only\n- Multiple filters are combined with AND logic\n- Filterable fields: employeeID\n- Example: `?employeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listPositionAssignment","parameters":[{"description":"Filter by employeeID (exact match)","in":"query","name":"employeeID","schema":{"type":"string"}},{"description":"Maximum number of items to return (1-1000)","in":"query","name":"limit","schema":{"default":10,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"Cursor for pagination. Use the value from the 'nextCursor' field of the previous response.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPositionAssignmentResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List positionAssignments","tags":["PositionAssignments","Querying"]}}}}
```

## Get PositionAssignment

> Get a single PositionAssignment by ID

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for Querying","name":"Querying"},{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"PositionAssignment":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["id","createdAt","lastModifiedAt","repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not found"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/positionAssignments/{id}":{"get":{"description":"Get a single PositionAssignment by ID","operationId":"getPositionAssignment","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PositionAssignment"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get PositionAssignment","tags":["PositionAssignments","Querying"]}}}}
```

## List PositionAssignment creation proposals

> List all createPositionAssignments proposals. These are proposed changes to create new PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.\
> \
> \*\*Filter Syntax:\*\*\
> \- Filters use exact match only\
> \- Multiple filters are combined with AND logic\
> \- Filterable fields: employeeID\
> \- Example: \`?employeeID=123e4567-e89b-12d3-a456-426614174000\`

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListCreatePositionAssignmentProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CreatePositionAssignmentProposal"},"type":"array"},"pagination":{"properties":{"hasMore":{"description":"Indicates if there are more items to fetch","type":"boolean"},"limit":{"description":"Maximum number of items requested for this page","format":"int64","type":"integer"},"nextCursor":{"description":"Cursor for the next page. Pass this value in the 'cursor' parameter to get the next page.","type":"string"},"total":{"description":"Total number of items matching the query","format":"int64","type":"integer"}},"required":["total","limit","hasMore"],"type":"object"}},"required":["data","pagination"],"type":"object"},"CreatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/createPositionAssignments":{"get":{"description":"List all createPositionAssignments proposals. These are proposed changes to create new PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.\n\n**Filter Syntax:**\n- Filters use exact match only\n- Multiple filters are combined with AND logic\n- Filterable fields: employeeID\n- Example: `?employeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listCreatePositionAssignmentProposal","parameters":[{"description":"Filter by employeeID (exact match)","in":"query","name":"employeeID","schema":{"type":"string"}},{"description":"Maximum number of items to return (1-1000)","in":"query","name":"limit","schema":{"default":10,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"Cursor for pagination. Use the value from the 'nextCursor' field of the previous response.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreatePositionAssignmentProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List PositionAssignment creation proposals","tags":["PositionAssignments","Proposals"]}}}}
```

## Propose creation of PositionAssignments

> Create new proposals to add PositionAssignment records. The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateCreatePositionAssignmentProposalRequest":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"CreatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/createPositionAssignments":{"post":{"description":"Create new proposals to add PositionAssignment records. The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.","operationId":"createCreatePositionAssignmentProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateCreatePositionAssignmentProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreatePositionAssignmentProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose creation of PositionAssignments","tags":["PositionAssignments","Proposals"]}}}}
```

## Get PositionAssignment creation proposal

> Get details of a specific PositionAssignment creation proposal by ID

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","employeeID","activePeriod","tagIDs"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not found"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/createPositionAssignments/{id}":{"get":{"description":"Get details of a specific PositionAssignment creation proposal by ID","operationId":"getCreatePositionAssignmentProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePositionAssignmentProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get PositionAssignment creation proposal","tags":["PositionAssignments","Proposals"]}}}}
```

## List PositionAssignment deletion proposals

> List all deletePositionAssignments proposals. These are proposed changes to delete PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListDeletePositionAssignmentProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DeletePositionAssignmentProposal"},"type":"array"},"pagination":{"properties":{"hasMore":{"description":"Indicates if there are more items to fetch","type":"boolean"},"limit":{"description":"Maximum number of items requested for this page","format":"int64","type":"integer"},"nextCursor":{"description":"Cursor for the next page. Pass this value in the 'cursor' parameter to get the next page.","type":"string"},"total":{"description":"Total number of items matching the query","format":"int64","type":"integer"}},"required":["total","limit","hasMore"],"type":"object"}},"required":["data","pagination"],"type":"object"},"DeletePositionAssignmentProposal":{"properties":{"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/deletePositionAssignments":{"get":{"description":"List all deletePositionAssignments proposals. These are proposed changes to delete PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.","operationId":"listDeletePositionAssignmentProposal","parameters":[{"description":"Maximum number of items to return (1-1000)","in":"query","name":"limit","schema":{"default":10,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"Cursor for pagination. Use the value from the 'nextCursor' field of the previous response.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDeletePositionAssignmentProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List PositionAssignment deletion proposals","tags":["PositionAssignments","Proposals"]}}}}
```

## Propose deletion of PositionAssignments

> Create new proposals to delete PositionAssignment records. The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateDeletePositionAssignmentProposalRequest":{"properties":{"id":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"}},"required":["id","repositoryID"],"type":"object"},"DeletePositionAssignmentProposal":{"properties":{"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/deletePositionAssignments":{"post":{"description":"Create new proposals to delete PositionAssignment records. The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.","operationId":"createDeletePositionAssignmentProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateDeletePositionAssignmentProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DeletePositionAssignmentProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose deletion of PositionAssignments","tags":["PositionAssignments","Proposals"]}}}}
```

## Get PositionAssignment deletion proposal

> Get details of a specific PositionAssignment deletion proposal by ID

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"DeletePositionAssignmentProposal":{"properties":{"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not found"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/deletePositionAssignments/{id}":{"get":{"description":"Get details of a specific PositionAssignment deletion proposal by ID","operationId":"getDeletePositionAssignmentProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletePositionAssignmentProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get PositionAssignment deletion proposal","tags":["PositionAssignments","Proposals"]}}}}
```

## List PositionAssignment update proposals

> List all updatePositionAssignments proposals. These are proposed changes to update existing PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.\
> \
> \*\*Filter Syntax:\*\*\
> \- Filters use exact match only\
> \- Multiple filters are combined with AND logic\
> \- Filterable fields: employeeID\
> \- Example: \`?employeeID=123e4567-e89b-12d3-a456-426614174000\`

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListUpdatePositionAssignmentProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/UpdatePositionAssignmentProposal"},"type":"array"},"pagination":{"properties":{"hasMore":{"description":"Indicates if there are more items to fetch","type":"boolean"},"limit":{"description":"Maximum number of items requested for this page","format":"int64","type":"integer"},"nextCursor":{"description":"Cursor for the next page. Pass this value in the 'cursor' parameter to get the next page.","type":"string"},"total":{"description":"Total number of items matching the query","format":"int64","type":"integer"}},"required":["total","limit","hasMore"],"type":"object"}},"required":["data","pagination"],"type":"object"},"UpdatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/updatePositionAssignments":{"get":{"description":"List all updatePositionAssignments proposals. These are proposed changes to update existing PositionAssignment records that may be automatically approved or require manual approval depending on system configuration.\n\n**Filter Syntax:**\n- Filters use exact match only\n- Multiple filters are combined with AND logic\n- Filterable fields: employeeID\n- Example: `?employeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listUpdatePositionAssignmentProposal","parameters":[{"description":"Filter by employeeID (exact match)","in":"query","name":"employeeID","schema":{"type":"string"}},{"description":"Maximum number of items to return (1-1000)","in":"query","name":"limit","schema":{"default":10,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"Cursor for pagination. Use the value from the 'nextCursor' field of the previous response.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUpdatePositionAssignmentProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List PositionAssignment update proposals","tags":["PositionAssignments","Proposals"]}}}}
```

## Propose update of PositionAssignments

> Create new proposals to update PositionAssignment records. All fields are optional - omitted fields will not be changed. Only include fields you want to update. Setting a field to null will clear its value (where applicable). The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateUpdatePositionAssignmentProposalRequest":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end) (omit to keep current value)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed (omit to keep current value)","type":"object"},"employeeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"remark":{"description":"Omit this field to keep current value","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"tagIDs":{"description":"Omit this field to keep current value","items":{"format":"uuid","type":"string"},"type":"array"}},"required":["id","repositoryID"],"type":"object"},"UpdatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad request"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/updatePositionAssignments":{"post":{"description":"Create new proposals to update PositionAssignment records. All fields are optional - omitted fields will not be changed. Only include fields you want to update. Setting a field to null will clear its value (where applicable). The proposals may be automatically approved or require manual approval depending on system configuration. You can submit multiple proposals in a single request.","operationId":"createUpdatePositionAssignmentProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateUpdatePositionAssignmentProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdatePositionAssignmentProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose update of PositionAssignments","tags":["PositionAssignments","Proposals"]}}}}
```

## Get PositionAssignment update proposal

> Get details of a specific PositionAssignment update proposal by ID

```json
{"openapi":"3.0.3","info":{"title":"AG5 Skills Management API","version":{"build":0,"name":"","minor":0}},"tags":[{"description":"Operations for PositionAssignments","name":"PositionAssignments"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"UpdatePositionAssignmentProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"customValues":{"additionalProperties":{"type":"string"},"description":"Custom field values - only declared custom fields for this entity type are allowed","type":"object"},"employeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"remark":{"type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"tagIDs":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","id","repositoryID"],"type":"object"},"Error":{"properties":{"code":{"description":"Machine-readable error code","enum":["INVALID_INPUT","MISSING_AUTH","INVALID_TOKEN","NOT_FOUND","INTERNAL_ERROR","RATE_LIMIT_EXCEEDED","PROPOSAL_CONFLICT","APPROVAL_REQUIRED"],"type":"string"},"details":{"additionalProperties":true,"description":"Additional error details","type":"object"},"message":{"description":"Human-readable error message","type":"string"},"requestId":{"description":"Unique request identifier for support","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not found"},"InternalError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}}},"paths":{"/updatePositionAssignments/{id}":{"get":{"description":"Get details of a specific PositionAssignment update proposal by ID","operationId":"getUpdatePositionAssignmentProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePositionAssignmentProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get PositionAssignment update proposal","tags":["PositionAssignments","Proposals"]}}}}
```
