Skip to main content

Post and Update a job

Available

The job is a json-encoded object in the content. The job model is described below.

HTTP Request [POST]
https://parceiros.empregos.com.br/api/job

curl -X 'POST' \
'https://parceiros.empregos.com.br/api/job' \
-H 'accept: */*' \
-H 'Authorization: bearer any' \
-H 'Content-Type: application/json' \
-d '{
"company": {
"applyUrl": "string",
"name": "string",
"logoUrl": "string",
"description": "string",
"industries": "Alimentos",
"companyId": "string",
"recruiterId": "string",
"nationalRegister": "string",
"recruiterName": "string",
"recruiterEmail": "string"
},
"externalJobPostingId": "string",
"jobPostingOperationType": "CREATE",
"title": "string",
"description": "string",
"location": {
"address": "Praça da República, São Paulo, SP",
"postalCode": "01045-000",
"geolocation": "-23.5440722,-46.6450811"
},
"salary": {
"min": 0,
"max": 0
},
"workplaceTypes": "On-site",
"employmentStatus": "string",
"experienceLevel": "string",
"trackingPixelUrl": "string",
"expireAt": "2023-12-26T14:10:50.530Z"
}'

Parameters [Request]

FieldDescriptionTypeRequired
companyRepresents the company that posted the job.ObjectYes
company.applyUrlURL to which candidates are directed to apply (typically the URL of the job on the client's website or ATS system)StringNo
company.nameThe company name for which this job posting is created for.StringYes
company.logoUrlThe company logo url.StringNo
company.descriptionDescription of the company's activities.StringYes
company.industriesRepresents industries of this job or company. EG: "Alimentos".StringNo
company.companyIdRepresents unique company id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 50 characters.StringNo
company.recruiterIdRepresents unique recruiter id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 50 characters.StringNo
company.recruiterNameRepresents the name of the recruiter who posted the job. Do not send an empty or null string for this field. The maximum allowed length is 200 characters.StringYes
company.recruiterEmailRepresents the email of the recruiter who posted the job. Do not send an empty or null string for this field. The maximum allowed length is 200 characters.StringYes
company.nationalRegisterNational Register of Legal Entity ID. EG: The Brazilian CNPJ. Do not send an empty or null string for this field. The maximum allowed length is 200 characters.StringYes
externalJobPostingIdRepresents unique job id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 200 characters.StringYes
jobPostingOperationTypeRepresents the operation on the job posting. Available operation options are: CREATE, UPDATE (case-insensitive). To close a job use Close a job. RENEW is not implemented yet and is rejected with "Tipo da operação não implementado.".StringYes
titleRepresents the title of the job posting that will be published. Character limit: 200StringYes
descriptionRepresents the job description including the job basic information, responsibility and so on. Character limit: 100 ~ 25,000. Limited set of HTML tags accepted: b, strong, u, i, br, p, ul, li, em.StringYes
locationRepresents the geographic location of the job position to hire.ObjectYes
location.addressRepresents the address of the job position to hire. EG: "Praça da República, São Paulo, SP". Note: Set “Brazil” for undetermined locals. The maximum allowed length is 100 characters.StringYes
location.postalCodeRepresents the Postal Code of the job position to hire. EG: "01045-000"StringNo
location.geolocationRepresents the latitude and longitude of the job position to hire. EG: "-23.5440722,-46.6450811"StringNo
workplaceTypesRepresents the workplace nature of the job. Available options are: On-site, Hybrid or Remote (case-insensitive; the hyphen is optional). There is no default value: omitting it or sending another value is rejected.StringYes
employmentStatusRepresents employment status of the job position. Available options are: FULL_TIME, PART_TIME, CONTRACT, INTERNSHIP, TEMPORARY, VOLUNTEER.StringNo
experienceLevelRepresents experience level of the job position to hire. Available options are: ENTRY_LEVEL, MID_SENIOR_LEVEL, DIRECTOR, EXECUTIVE, INTERNSHIP, ASSOCIATE, NOT_APPLICABLE.StringNo
trackingPixelUrlURL for the tracking pixel to be embedded on the job descriptionStringNo
salarySalary range offered for the job.ObjectNo
salary.minMinimum salary.IntNo
salary.maxMaximum salary.IntNo
expireAtThe date when a job should expire and no longer be available to users. This date should be greater than the current date. If this field is not provided, the default expiration is 90 days.DateTimeNo

Responses

  • 200 OK: job created or updated.

    {
    "success": true,
    "message": "Gravado com sucesso!",
    "url": "https://www.empregos.com.br/vaga/123456"
    }

    url is the public address of the job on Empregos, in the format https://www.empregos.com.br/vaga/{jobId}. It is returned on every successful create and update. It is null only if the job id is not available.

  • 400 Bad Request: validation failed, the job already exists (CREATE with an existing externalJobPostingId), or an unexpected error occurred. Each entry of errorMessages names the offending field in propertyName (empty for general errors).

    {
    "success": false,
    "errorMessages": [
    {
    "propertyName": "WorkplaceTypes",
    "message": "Ambiente de trabalho é requirido."
    }
    ]
    }
  • 401 Unauthorized: missing or invalid bearer token. See Security.

Response fieldDescriptionType
successtrue when the job was saved.Boolean
messageResult message (text in Portuguese). On failure, see errorMessages instead.String
urlPublic URL of the job on Empregos (https://www.empregos.com.br/vaga/{jobId}). Present on success.String
errorMessagesList of errors (only on failure).Array
errorMessages.propertyNameName of the field that failed validation. Empty for general errors.String
errorMessages.messageDescription of the error (text in Portuguese).String