# EmploymentRelations

Operations for EmploymentRelations

## List employmentRelations

> List employmentRelations\
> \
> \*\*Filter Syntax:\*\*\
> \- Filters use exact match only\
> \- Multiple filters are combined with AND logic\
> \- Filterable fields: toEmployeeID, fromEmployeeID, relationTypeID\
> \- Example: \`?toEmployeeID=123e4567-e89b-12d3-a456-426614174000\&fromEmployeeID=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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListEmploymentRelationResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/EmploymentRelation"},"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"},"EmploymentRelation":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"createdAt":{"format":"date-time","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["id","createdAt","lastModifiedAt","repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"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":{"/employmentRelations":{"get":{"description":"List employmentRelations\n\n**Filter Syntax:**\n- Filters use exact match only\n- Multiple filters are combined with AND logic\n- Filterable fields: toEmployeeID, fromEmployeeID, relationTypeID\n- Example: `?toEmployeeID=123e4567-e89b-12d3-a456-426614174000&fromEmployeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listEmploymentRelation","parameters":[{"description":"Filter by toEmployeeID (exact match)","in":"query","name":"toEmployeeID","schema":{"type":"string"}},{"description":"Filter by fromEmployeeID (exact match)","in":"query","name":"fromEmployeeID","schema":{"type":"string"}},{"description":"Filter by relationTypeID (exact match)","in":"query","name":"relationTypeID","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/ListEmploymentRelationResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List employmentRelations","tags":["EmploymentRelations","Querying"]}}}}
```

## Get EmploymentRelation

> Get a single EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"EmploymentRelation":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"createdAt":{"format":"date-time","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"lastModifiedAt":{"format":"date-time","type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["id","createdAt","lastModifiedAt","repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"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":{"/employmentRelations/{id}":{"get":{"description":"Get a single EmploymentRelation by ID","operationId":"getEmploymentRelation","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmploymentRelation"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get EmploymentRelation","tags":["EmploymentRelations","Querying"]}}}}
```

## List EmploymentRelation creation proposals

> List all createEmploymentRelations proposals. These are proposed changes to create new EmploymentRelation 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: toEmployeeID, fromEmployeeID, relationTypeID\
> \- Example: \`?toEmployeeID=123e4567-e89b-12d3-a456-426614174000\&fromEmployeeID=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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListCreateEmploymentRelationProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CreateEmploymentRelationProposal"},"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"},"CreateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"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":{"/createEmploymentRelations":{"get":{"description":"List all createEmploymentRelations proposals. These are proposed changes to create new EmploymentRelation 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: toEmployeeID, fromEmployeeID, relationTypeID\n- Example: `?toEmployeeID=123e4567-e89b-12d3-a456-426614174000&fromEmployeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listCreateEmploymentRelationProposal","parameters":[{"description":"Filter by toEmployeeID (exact match)","in":"query","name":"toEmployeeID","schema":{"type":"string"}},{"description":"Filter by fromEmployeeID (exact match)","in":"query","name":"fromEmployeeID","schema":{"type":"string"}},{"description":"Filter by relationTypeID (exact match)","in":"query","name":"relationTypeID","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/ListCreateEmploymentRelationProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List EmploymentRelation creation proposals","tags":["EmploymentRelations","Proposals"]}}}}
```

## Propose creation of EmploymentRelations

> Create new proposals to add EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateCreateEmploymentRelationProposalRequest":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"type":"object"},"CreateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"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":{"/createEmploymentRelations":{"post":{"description":"Create new proposals to add EmploymentRelation 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":"createCreateEmploymentRelationProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateCreateEmploymentRelationProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateEmploymentRelationProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose creation of EmploymentRelations","tags":["EmploymentRelations","Proposals"]}}}}
```

## Get EmploymentRelation creation proposal

> Get details of a specific EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"subjectID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","type":"string"}},"required":["requestID","isProposalResolved","isProposalExecutionFailed","subjectID","repositoryID","activePeriod","toEmployeeID","fromEmployeeID","relationTypeID"],"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":{"/createEmploymentRelations/{id}":{"get":{"description":"Get details of a specific EmploymentRelation creation proposal by ID","operationId":"getCreateEmploymentRelationProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmploymentRelationProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get EmploymentRelation creation proposal","tags":["EmploymentRelations","Proposals"]}}}}
```

## List EmploymentRelation deletion proposals

> List all deleteEmploymentRelations proposals. These are proposed changes to delete EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListDeleteEmploymentRelationProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DeleteEmploymentRelationProposal"},"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"},"DeleteEmploymentRelationProposal":{"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":{"/deleteEmploymentRelations":{"get":{"description":"List all deleteEmploymentRelations proposals. These are proposed changes to delete EmploymentRelation records that may be automatically approved or require manual approval depending on system configuration.","operationId":"listDeleteEmploymentRelationProposal","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/ListDeleteEmploymentRelationProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List EmploymentRelation deletion proposals","tags":["EmploymentRelations","Proposals"]}}}}
```

## Propose deletion of EmploymentRelations

> Create new proposals to delete EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateDeleteEmploymentRelationProposalRequest":{"properties":{"id":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"}},"required":["id","repositoryID"],"type":"object"},"DeleteEmploymentRelationProposal":{"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":{"/deleteEmploymentRelations":{"post":{"description":"Create new proposals to delete EmploymentRelation 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":"createDeleteEmploymentRelationProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateDeleteEmploymentRelationProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DeleteEmploymentRelationProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose deletion of EmploymentRelations","tags":["EmploymentRelations","Proposals"]}}}}
```

## Get EmploymentRelation deletion proposal

> Get details of a specific EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"DeleteEmploymentRelationProposal":{"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":{"/deleteEmploymentRelations/{id}":{"get":{"description":"Get details of a specific EmploymentRelation deletion proposal by ID","operationId":"getDeleteEmploymentRelationProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteEmploymentRelationProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get EmploymentRelation deletion proposal","tags":["EmploymentRelations","Proposals"]}}}}
```

## List EmploymentRelation update proposals

> List all updateEmploymentRelations proposals. These are proposed changes to update existing EmploymentRelation 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: toEmployeeID, fromEmployeeID, relationTypeID\
> \- Example: \`?toEmployeeID=123e4567-e89b-12d3-a456-426614174000\&fromEmployeeID=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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListUpdateEmploymentRelationProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/UpdateEmploymentRelationProposal"},"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"},"UpdateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","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":{"/updateEmploymentRelations":{"get":{"description":"List all updateEmploymentRelations proposals. These are proposed changes to update existing EmploymentRelation 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: toEmployeeID, fromEmployeeID, relationTypeID\n- Example: `?toEmployeeID=123e4567-e89b-12d3-a456-426614174000&fromEmployeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listUpdateEmploymentRelationProposal","parameters":[{"description":"Filter by toEmployeeID (exact match)","in":"query","name":"toEmployeeID","schema":{"type":"string"}},{"description":"Filter by fromEmployeeID (exact match)","in":"query","name":"fromEmployeeID","schema":{"type":"string"}},{"description":"Filter by relationTypeID (exact match)","in":"query","name":"relationTypeID","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/ListUpdateEmploymentRelationProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List EmploymentRelation update proposals","tags":["EmploymentRelations","Proposals"]}}}}
```

## Propose update of EmploymentRelations

> Create new proposals to update EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateUpdateEmploymentRelationProposalRequest":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end) (omit to keep current value)","type":"string"},"fromEmployeeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"relationTypeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"toEmployeeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"}},"required":["id","repositoryID"],"type":"object"},"UpdateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","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":{"/updateEmploymentRelations":{"post":{"description":"Create new proposals to update EmploymentRelation 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":"createUpdateEmploymentRelationProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateUpdateEmploymentRelationProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateEmploymentRelationProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose update of EmploymentRelations","tags":["EmploymentRelations","Proposals"]}}}}
```

## Get EmploymentRelation update proposal

> Get details of a specific EmploymentRelation 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 EmploymentRelations","name":"EmploymentRelations"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"UpdateEmploymentRelationProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"fromEmployeeID":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"isProposalExecutionFailed":{"readOnly":true,"type":"boolean"},"isProposalResolved":{"readOnly":true,"type":"boolean"},"proposalExecutionErrorText":{"readOnly":true,"type":"string"},"relationTypeID":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"},"requestID":{"format":"uuid","readOnly":true,"type":"string"},"toEmployeeID":{"format":"uuid","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":{"/updateEmploymentRelations/{id}":{"get":{"description":"Get details of a specific EmploymentRelation update proposal by ID","operationId":"getUpdateEmploymentRelationProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmploymentRelationProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get EmploymentRelation update proposal","tags":["EmploymentRelations","Proposals"]}}}}
```
