put/curriculum/{curriculumId}/experience

The authenticated user edits an existing a professional experience or creates a new one related to the indicated curriculum ID.


Request

Resource URL

https://api.infojobs.net/api/4/curriculum/{curriculumId}/experience

Security

  • User Role: role_candidate
  • Scope: candidate_edit_curriculum_experience

Parameters

Name Description

curriculumId

Required

The curriculum identifier.

Example values: E5B265D1-FA87-96B3-6A5EC0B

Body Request


{
	"id":"",
	"company":"InfoJobs",
	"job":"Web programmer",
	"description":"Programming as a web developer in several languages like Java, Javascript, HTML, SQL, ...",
	"startingDate":"2006-09-14",
	"finishingDate":"2011-06-14",
	"onCourse":"false",
	"industry":"servicios-de-ti",
	"level":"especialista",
	"staff":"1-5",
	"reportingTo": "seleccionar"
	"category":"informatica-telecomunicaciones",
		"subcategories":[
		"arquitectura",
		"programacion",
		"gestion-proyectos"
	],
		"hideSalary":"false",
		"salaryMin":"18.000",
	"salaryMax":"24.000",
	"salaryPeriod":"bruto-ano",
	"visible":"false"
}

Name Description

id

Long

Optional*

Numeric identifier of the experience.

*If the id is not informed the experience item will be inserted as a new item. If the id is informed the operation will attempt to edit the existing record.

Example values: 14826429034

company

String

Required

Name of the company where the experience were developed.

IMPORTANT: Please note in compliance with JSON format you must not send carriage returns within the value field, but replace them with "\n" instead.

Maximum length: 150

Example values: InfoJobs

job

String

Required

Role developed in that experience.

IMPORTANT: Please note in compliance with JSON format you must not send carriage returns within the value field, but replace them with "\n" instead.

Maximum length: 150

Example values:Web programmer

description

String

Optional

Brief explanation about what was the role about for that experience.

IMPORTANT: Please note in compliance with JSON format you must not send carriage returns within the value field, but replace them with "\n" instead.

Maximum length: 4000

Example values: Programming as a web developer in several languages like Java, Javascript, HTML, SQL, ...

startingDate

Date

Required

The starting date for that experience. Date format must be in RFC_3339 format: yyyy-MM-dd.

Example values: 2006-09-14

finishingDate

Date

Required*

The date when that experience was finished. Date format must be in RFC_3339 format: yyyy-MM-dd.

*This field is required but should not be informed if onCourse parameter is true.

Example values: 2011-06-30

onCourse

Boolean

Optional

Whether the candidate is still working on that professional experience. Default value is false.

Example values: true

industry

String

Optional

Text key that classifies the experience on its professional sector. The operation /dictionary/industry returns all available values.

Maximum length: 100

Example values: servicios-de-ti

level

String

Required

Text key that classifies the professional level for that experience, related to the role responsabiliy. The operation /dictionary/professional-level returns all available values.

Maximum length: 100

Example values: especialista

staff

String

Optional*

Text key that indicates how many collegues were the user leading on that experience. The operation /dictionary/staff returns all available values.

*This parameter is required depending on the level value. Some levels involve the user is leading people and this should be specified.

Maximum length: 100

Example values: 1-5

category

String

Required

Text key that indicates the professional category. The operation /dictionary/category returns all available values.

Maximum length: 100

Example values: informatica-telecomunicaciones

reportingTo

String

Required*

Text key that indicates the professional level of your manager. The operation /dictionary/manager-professional-level returns all available values. *This field is mandatory when the level selected is "especialista" or "mando-intermedio".

subcategories

Array(String)

Required

An array of text keys that indicates the professional subcategories. The operation /dictionary/subcategory returns all available values.

Example values: ["arquitectura","programacion"]

salaryMin

String

Required*

Minimum value of the experience salary range. The operation /dictionary/salary-quantity returns all available values.

*Depending on the level's parameter value, this parameter can be optional.

Maximum length: 100

Example values: 18.000

salaryMax

String

Required*

Maximum value of the experience salary range. The operation /dictionary/salary-quantity returns all available values.

*Depending on the level's parameter value, this parameter can be optional.

Maximum length: 100

Example values: 24.000

salaryPeriod

String

Required*

Time range of the salary values (Year, Month, Week,...). The operation /dictionary/salary-period returns all available values.

*Depending on the level's parameter value, this parameter can be optional.

Maximum length: 100

Example values: bruto-ano

hideSalary

Boolean

Optional

Whether the experience's salary is hide for the companies while will be watching the curriculum. Missing value takes false.

Example values: true

visible

Boolean

Optional

Whether this experience is visible for the companies while will be watching the curriculum. Missing value takes false.

Example values: true

Response

Response fields

Fields related to Experience entity
Name Description

id

Long

Optional*

Numeric identifier of the experience.

*This output parameter will be informed depending on the input. If it is informed on the input request, it will be given on the output as well.

company

String

Required

Name of the company where the experience were developed.

Maximum length: 150

job

String

Required

Role developed in that experience.

Maximum length: 150

description

String

Optional

Brief explanation about what was the role about for that experience.

Maximum length: 4000

startingDate

Date

Required

The starting date for that experience. Date format must be in RFC_3339 format: yyyy-MM-dd'T'HH:mm:ss'Z'.

finishingDate

Date

Optional

The date when that experience was finished. Date format must be in RFC_3339 format: yyyy-MM-dd'T'HH:mm:ss'Z'.

onCourse

Boolean

Optional

Whether the candidate is still working on that professional experience. Default value is false.

industry

String

Optional

Text key that classifies the experience on its professional sector. The operation /dictionary/industry returns all available values.

Maximum length: 100

level

String

Required

Text key that classifies the professional level for that experience, related to the role responsabiliy. The operation /dictionary/professional-level returns all available values.

Maximum length: 100

staff

String

Optional

Text key that indicates how many collegues were the user leading on that experience. The operation /dictionary/staff returns all available values.

Maximum length: 100

category

String

Required

Text key that indicates the professional category. The operation /dictionary/category returns all available values.

Maximum length: 100

reportingTo

String

Required

Text key that indicates the professional level of your manager. The operation /dictionary/manager-professional-level returns all available values.

subcategories

Array(String)

Required

An array of text keys that indicates the professional subcategories. The operation /dictionary/subcategory returns all available values.

salaryMin

String

Optional

Minimum value of the experience salary range. The operation /dictionary/salary-quantity returns all available values.

Maximum length: 100

salaryMax

String

Optional

Maximum value of the experience salary range. The operation /dictionary/salary-quantity returns all available values.

Maximum length: 100

salaryPeriod

String

Optional

Time range of the salary values (Year, Month, Week,...). The operation /dictionary/salary-period returns all available values.

Maximum length: 100

hideSalary

Boolean

Optional

Whether the experience's salary is hide for the companies while will be watching the curriculum. Missing value takes false.

visible

Boolean

Optional

Whether this experience is visible for the companies while will be watching the curriculum. Missing value takes false.

Error codes

Code Description

361

Security exception when the Curriculum was not found or is trying to be edited with no permissions.

654

Error parsing given dates into the body request due to the order of them. The finishingDate should be later than the startingDate.

655

Security Exception when any experience is trying to be edited with no permissions. Does the experience belong to the authenticated user?

656

Exception thown when only a part of salary details are given. If one of the salary parameters is sent, all of them must be sent (salaryPeriod, salaryMin and salaryMax).

657

Exception thown when staff parameter is missing and it is required to be sent. It depends on the value sent for the level parameter.

658

Some of the values send are contradictory. Either finishingDate or onCourse should be informed, but not both.

659

Exception thrown when the salaryMax value is lower than the salaryMin value.

670

Category relationship exception. One of the subcategory given is not related to the category selected.

671

The field job is required.

672

The field company is required.

673

The field startingDate is required.

674

The field finishingDate or onCourse is required.

675

The field category is required.

676

The field subcategory is required.

677

The field level is required.

678

The field salaryPeriod is required.

679

The field salaryMin is required.

682

The field salaryMax is required.

683

The field job is invalid. It should be less than 150 characters long.

684

The field company is invalid. It should be less than 150 characters long.

685

The field description is invalid. It should be less than 1500 characters long.

686

The field salary period is invalid. It does not match with a correct value. The operation /dictionary/salary-range returns all available values.

687

The field minimum salary is invalid. It does not match with a correct value. The operation /dictionary/salary-quantity returns all available values.

688

The field category is invalid. It does not match with a correct value. The operation /dictionary/category returns all available values.

689

The field subcategory is invalid. It does not match with a correct value. The operation /dictionary/subcategory returns all available values.

690

The field industry is invalid. It does not match with a correct value. The operation /dictionary/industry returns all available values.

691

The field level is invalid. It does not match with a correct value. The operation /dictionary/professional-level returns all available values.

692

The field maximum salary is invalid. It does not match with a correct value. The operation /dictionary/salary-quantity returns all available values.

695

The field reportingTo is invalid. It does not match with a correct value. The operation /dictionary/manager-professional-level returns all available values.

696

The field staff is invalid. One of the skills informed is repeated. The operation /dictionary/staff returns all available values.

716

Exception thrown when the selected range of salaries is invalid. The minimum salary is invalid for the period selected.

749

Exception thrown when the {professionalLevel} selected requires the field reportingTo and it is not informed.

Examples

This example is updating one experience - the one which the id is given. The user is missing some attributes, like hideSalary or visible which are optionals. In addition, he is not sending the salary details because the "becario" level makes it optional. In the latest experience the user is sending all the attributes.

Request

PUT http://api.infojobs.net/api/4/offer/curriculum/E5B265D1-FA87-96B3-6A5EC0BE3125817E/experience

{
	"id":"8547632159",
	"company":"InfoJobs",
	"job":"Script programmer",
	"description":"Programming little PL/SQL scripts for maintenance.",
	"startingDate":"2005-03-22",
	"finishingDate":"2006-05-10",
	"industry":"servicios-de-ti",
	"level":"becario-practicas",
	"staff":"0",
	"reportingTo": "seleccionar"
	"category":"informatica-telecomunicaciones",
		"subcategories":[
		"arquitectura",
		"programacion",
		"gestion-proyectos"
	]
}

Response

{
	"id":"8547632159",
	"company":"InfoJobs",
	"job":"Script programmer",
	"description":"Programming little PL/SQL scripts for maintenance.",
	"startingDate":"2005-03-22",
	"finishingDate":"2006-05-10",
	"industry":"servicios-de-ti",
	"level":"becario-practicas",
	"staff":"0",
	"reportingTo": "seleccionar"
	"category":"informatica-telecomunicaciones",
		"subcategories":[
		"arquitectura",
		"programacion",
		"gestion-proyectos"
	]
}