If no candidate id is specified in the json object it will create a new candidate. If a candidate id is specified it will update an existing candidate.

Headers:
Authorization : {token}
Content-Type : application/json

Result codes:

403 Forbidden
200 Ok (Candidate update)
201 Created (candidate create)
400 Bad request
500 Internal server error

Candidate create POST json data

Wrap Candidate fields for list of fields under CandidateInfo property.

{
CandidateInfo : { Candidate fields }
}

See candidate properties for list of fields.

Sample post:

{
"CandidateInfo": {
        "FirstName": "Jane",
        "LastName": "Smith",
        "Title": null,
        "CoverNote": null,
        "Summary": "Jane is a Architect at a Global Software company.",
        "ProfileImageUrl": null,
        "CandidateSource": 1,
        "SocialTwitter": null,
        "SocialFacebook": null,
        "SocialLinkedIn": null,
        "SocialGooglePlus": null,
        "Email": "[email protected]",
        "Phone": "0871234567",
        "CreatedById": 1605,
        "UpdatedById":null,
        "Created": "2017-11-10T09:53:45.577",
        "Updated": "2017-11-10T09:53:45.577",
        "VacancyId": null,
        "StageId": null,
        "CityId": null,
        "CityName": null,
        "CountryId": 1,
        "EthnicityId": 4,
        "ExternalRecruiterId": null,
        "Headline": null,
        "GenderId": 2,
        "Disability": null,
        "NationalityId": null,
    },
    "WorkHistories": [
        {    
            "From": "2017-01-01T00:00:00",
            "To": "2017-10-31T00:00:00",
            "Title": "Architect",
            "Company": "Microsoft",
            "Summary": "Duties include translate business requirements into technical specifications and developing enterprise systems."
        }
    ],
    "Educations": [
        {  
            "From": "2017-01-01T00:00:00",
            "To": "2017-12-31T00:00:00",
            "Title": "MTech: Information Technology",
            "Field": null,
            "School": "Unisa",
            "Summary": null
        }
    ],
    "Skills": [
        {
            "Name": "SQL"
        },
        {
            "Name": "ASP.NET"
        }
    ]
}
}

Candidate update POST json data

Sample post:

{
    "CandidateInfo": {
        "Id": 278696,
        "FirstName": "Jane",
        "LastName": "Smith",
        "Title": null,
        "CoverNote": null,
        "Summary": "Jane is a Architect at a Global Software company.",
        "ProfileImageUrl": null,
        "CandidateSource": 1,
        "SocialTwitter": null,
        "SocialFacebook": null,
        "SocialLinkedIn": null,
        "SocialGooglePlus": null,
        "Email": "[email protected]",
        "Phone": "0871234567",
        "CreatedById": 1605,
        "UpdatedById": 1605,
        "Created": "2017-11-10T09:53:45.577",
        "Updated": "2017-11-10T09:53:45.577",
        "VacancyId": null,
        "StageId": null,
        "CityId": null,
        "CityName": null,
        "CountryId": 1,
        "EthnicityId": 4,
        "ExternalRecruiterId": null,
        "Headline": null,
        "GenderId": 2,
        "Disability": null,
        "NationalityId": null,
    },
    "WorkHistories": [
        {
            "Id": 517652,
            "From": "2017-01-01T00:00:00",
            "To": "2017-10-31T00:00:00",
            "Title": "Architect",
            "Company": "Microsoft",
            "Summary": "Duties include translate business requirements into technical specifications and developing enterprise systems."
        }
    ],
    "Educations": [
        {
            "Id": 324255,
            "From": "2017-01-01T00:00:00",
            "To": "2017-12-31T00:00:00",
            "Title": "MTech: Information Technology",
            "Field": null,
            "School": "Unisa",
            "Summary": null
        }
    ],
    "Skills": [
        {
            "Id": 3509694,
            "Name": "SQL"
        },
        {
            "Id": 3509695,
            "Name": "ASP.NET 2"
        },
		    {
            "Name": "JavaScript"
        }
    ]
}

📘

Response header on candidate create

When a new candidate is created the response will have the location in the header with the url of how to retrieve the candidate with the created id