# EmploymentContracts

Operations for EmploymentContracts

## List employmentContracts

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

## Get EmploymentContract

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

## List EmploymentContract creation proposals

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

## Propose creation of EmploymentContracts

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

## Get EmploymentContract creation proposal

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

## List EmploymentContract deletion proposals

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

## Propose deletion of EmploymentContracts

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

## Get EmploymentContract deletion proposal

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

## List EmploymentContract update proposals

> List all updateEmploymentContracts proposals. These are proposed changes to update existing EmploymentContract 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: contractTypeID, employeeID\
> \- Example: \`?contractTypeID=123e4567-e89b-12d3-a456-426614174000\&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 EmploymentContracts","name":"EmploymentContracts"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"ListUpdateEmploymentContractProposalResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/UpdateEmploymentContractProposal"},"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"},"UpdateEmploymentContractProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"contractTypeID":{"format":"uuid","type":"string"},"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"},"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":{"/updateEmploymentContracts":{"get":{"description":"List all updateEmploymentContracts proposals. These are proposed changes to update existing EmploymentContract 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: contractTypeID, employeeID\n- Example: `?contractTypeID=123e4567-e89b-12d3-a456-426614174000&employeeID=123e4567-e89b-12d3-a456-426614174000`","operationId":"listUpdateEmploymentContractProposal","parameters":[{"description":"Filter by contractTypeID (exact match)","in":"query","name":"contractTypeID","schema":{"type":"string"}},{"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/ListUpdateEmploymentContractProposalResponse"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"List EmploymentContract update proposals","tags":["EmploymentContracts","Proposals"]}}}}
```

## Propose update of EmploymentContracts

> Create new proposals to update EmploymentContract 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 EmploymentContracts","name":"EmploymentContracts"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"CreateUpdateEmploymentContractProposalRequest":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end) (omit to keep current value)","type":"string"},"contractTypeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"},"employeeID":{"description":"Omit this field to keep current value","format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"repositoryID":{"format":"uuid","type":"string"}},"required":["id","repositoryID"],"type":"object"},"UpdateEmploymentContractProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"contractTypeID":{"format":"uuid","type":"string"},"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"},"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":{"/updateEmploymentContracts":{"post":{"description":"Create new proposals to update EmploymentContract 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":"createUpdateEmploymentContractProposal","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateUpdateEmploymentContractProposalRequest"},"maxItems":100,"minItems":1,"type":"array"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateEmploymentContractProposal"},"type":"array"}}},"description":"Created successfully"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Propose update of EmploymentContracts","tags":["EmploymentContracts","Proposals"]}}}}
```

## Get EmploymentContract update proposal

> Get details of a specific EmploymentContract 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 EmploymentContracts","name":"EmploymentContracts"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{},"schemas":{"UpdateEmploymentContractProposal":{"properties":{"activePeriod":{"description":"Date range in PostgreSQL format [start,end)","type":"string"},"contractTypeID":{"format":"uuid","type":"string"},"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"},"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":{"/updateEmploymentContracts/{id}":{"get":{"description":"Get details of a specific EmploymentContract update proposal by ID","operationId":"getUpdateEmploymentContractProposal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmploymentContractProposal"}}},"description":"Successful response"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"summary":"Get EmploymentContract update proposal","tags":["EmploymentContracts","Proposals"]}}}}
```
