Skip to content

Positions

Description

The positionsv2 endpoint is used to manage position records in PCRecruiter. You can retrieve, create, update, and delete records using standard REST operations.

In PCRecruiter, a Position represents any job opening, requisition, or role that needs to be filled. Positions belong to a Company via the CompanyId field. Candidates are connected to Positions through the Pipeline, which tracks each candidate's progress through interview stages, placements, and activities for that position.

Base Operations

These operations work with the main positionsv2 records.

GET - Search for Position records

POST - Create a(n) Position record

PUT - Update a(n) Position record

Data Parameters

  • AggregateCount (integer,null, int32) -
  • MetaData -
  • JobId (integer,null, int64) -
  • CompanyId (integer,null, int64) -
  • ReplicationId (string) -
  • Industry (string) -
  • Specialty (string) -
  • JobType -
  • JobTitle (string) -
  • PositionId (string) -
  • DegreeRequired (string) -
  • MinYearsExp (null,number, double) -
  • MaxYearsExp (null,number, double) -
  • JobDescription (string) -
  • InternalJobDescription (string) -
  • NumberOfOpenings (null,number, double) -
  • MinSalary -
  • MaxSalary -
  • Guarantee (string) -
  • Benefits (string) -
  • HealthCoverage (string) -
  • Vacation (string) -
  • EducationAid (string) -
  • Keywords (string) -
  • DatePosted (null,string, date-time) -
  • Address (string) -
  • Address2 (string) -
  • City (string) -
  • State (string) -
  • Zip (string) -
  • PostalCodeExtension (string) -
  • FullPostalCode (string) -
  • Country (string) -
  • County (string) -
  • BeginDate (null,string, date-time) -
  • EndDate (null,string, date-time) -
  • FeePercentage (string) -
  • FeeCollected -
  • BillRate -
  • PayRate -
  • Notes (string) -
  • WebNotes (string) -
  • InternalExpiration (null,string, date-time) -
  • ExternalExpiration (null,string, date-time) -
  • ShowOnWeb (boolean,null) -
  • WhyOpen (string) -
  • Department (string) -
  • StartHold (null,string, date-time) -
  • EndHold (null,string, date-time) -
  • UserName (string) -
  • Status -
  • LastActivity (null,string, date-time) -
  • LastModified (null,string, date-time) -
  • TemplateId (integer,null, int64) -
  • ContactId (integer,null, int64) -
  • ContactName (string) -
  • ContactPhone (string) -
  • ContactEmail (string) -
  • ProfileInquiry (string) -
  • PrivateNotes (string) -
  • Logo (string, byte) -
  • DefaultCurrency -
  • CustomFields (array) -
  • EEOC (array) -
  • Activities (array) -
  • RollupLists (array) -
  • Interviews (array) -
  • Placements (array) -
  • Attachments (array) -
  • Company -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/?Query=JobTitle eq Quality Control Specialist&Fields=JobId,CompanyId,JobTitle",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
  "TotalRecords": 2,
  "Results": [
    {
      "JobId": 12345,
      "CompanyId": 12345,
      "JobTitle": "Quality Control Specialist",
    },
    {
      "JobId": 12345,
      "CompanyId": 12345,
      "JobTitle": "Senior Software Engineer",
    }
  ]
}

TIP

This API call returns a paginated list of records that match the supplied query. Use Query parameter to filter results, Page and ResultsPerPage to control pagination, Fields to control the returned fields, and Order to sort results.

------------------ REQUEST -------------------
json
{
  "method": "POST",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "CompanyId": 453662792456254,
    "Industry": null,
    "Specialty": null,
    "JobType": "FullTimeRegular",
    "JobTitle": "Quality Control Specialist",
    "PositionId": "1431051560",
    "DegreeRequired": null,
    "MinYearsExp": null,
    "MaxYearsExp": null,
    "NumberOfOpenings": 0.0,
    "MinSalary": null,
    "MaxSalary": null,
    "Guarantee": null,
    "Benefits": null,
    "HealthCoverage": null,
    "Vacation": null,
    "EducationAid": null,
    "DatePosted": "2015-12-08T08:34:29",
    "Address": null,
    "Address2": null,
    "City": "Nashville",
    "State": "TN",
    "Zip": "37250",
    "PostalCodeExtension": null,
    "FullPostalCode": "37250",
    "Country": null,
    "County": null,
    "BeginDate": null,
    "EndDate": null,
    "FeePercentage": null,
    "FeeCollected": null,
    "BillRate": null,
    "PayRate": null,
    "InternalExpiration": null,
    "ExternalExpiration": null,
    "ShowOnWeb": false,
    "WhyOpen": null,
    "Department": null,
    "StartHold": null,
    "EndHold": null,
    "UserName": "ADMIN",
    "Status": "Filled",
    "LastActivity": "2025-11-03T13:19:50",
    "LastModified": "2025-11-03T13:19:50.077",
    "ContactId": null,
    "DefaultCurrency": "USD",
    "CustomFields": []
}
}
------------------ RESPONSE ------------------
json
{
"JobId": 192096596989215
}

TIP

This API call creates a new record. Include the required fields in the request body. The response will contain the created record with its newly assigned ID.

------------------ REQUEST -------------------
json
{
  "method": "PUT",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/192096596989215",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "CompanyId": 12345,
    "JobTitle": "Quality Assurance Engineer"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call updates an existing record. Include the fields you want to modify in the request body. Only the provided fields will be updated.

GET - Retrieve a(n) Position record

PUT - Update a(n) Position record

DELETE - Delete a(n) Position record

Data Parameters

  • AggregateCount (integer,null, int32) -
  • MetaData -
  • JobId (integer,null, int64) -
  • CompanyId (integer,null, int64) -
  • ReplicationId (string) -
  • Industry (string) -
  • Specialty (string) -
  • JobType -
  • JobTitle (string) -
  • PositionId (string) -
  • DegreeRequired (string) -
  • MinYearsExp (null,number, double) -
  • MaxYearsExp (null,number, double) -
  • JobDescription (string) -
  • InternalJobDescription (string) -
  • NumberOfOpenings (null,number, double) -
  • MinSalary -
  • MaxSalary -
  • Guarantee (string) -
  • Benefits (string) -
  • HealthCoverage (string) -
  • Vacation (string) -
  • EducationAid (string) -
  • Keywords (string) -
  • DatePosted (null,string, date-time) -
  • Address (string) -
  • Address2 (string) -
  • City (string) -
  • State (string) -
  • Zip (string) -
  • PostalCodeExtension (string) -
  • FullPostalCode (string) -
  • Country (string) -
  • County (string) -
  • BeginDate (null,string, date-time) -
  • EndDate (null,string, date-time) -
  • FeePercentage (string) -
  • FeeCollected -
  • BillRate -
  • PayRate -
  • Notes (string) -
  • WebNotes (string) -
  • InternalExpiration (null,string, date-time) -
  • ExternalExpiration (null,string, date-time) -
  • ShowOnWeb (boolean,null) -
  • WhyOpen (string) -
  • Department (string) -
  • StartHold (null,string, date-time) -
  • EndHold (null,string, date-time) -
  • UserName (string) -
  • Status -
  • LastActivity (null,string, date-time) -
  • LastModified (null,string, date-time) -
  • TemplateId (integer,null, int64) -
  • ContactId (integer,null, int64) -
  • ContactName (string) -
  • ContactPhone (string) -
  • ContactEmail (string) -
  • ProfileInquiry (string) -
  • PrivateNotes (string) -
  • Logo (string, byte) -
  • DefaultCurrency -
  • CustomFields (array) -
  • EEOC (array) -
  • Activities (array) -
  • RollupLists (array) -
  • Interviews (array) -
  • Placements (array) -
  • Attachments (array) -
  • Company -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/{id}",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "JobId": 192096596989215,
    "CompanyId": 453662792456254,
    "Industry": null,
    "Specialty": null,
    "JobType": "FullTimeRegular",
    "JobTitle": "Quality Control Specialist",
    "PositionId": "1431051560",
    "DegreeRequired": null,
    "MinYearsExp": null,
    "MaxYearsExp": null,
    "NumberOfOpenings": 0.0,
    "MinSalary": null,
    "MaxSalary": null,
    "Guarantee": null,
    "Benefits": null,
    "HealthCoverage": null,
    "Vacation": null,
    "EducationAid": null,
    "DatePosted": "2015-12-08T08:34:29",
    "Address": null,
    "Address2": null,
    "City": "Nashville",
    "State": "TN",
    "Zip": "37250",
    "PostalCodeExtension": null,
    "FullPostalCode": "37250",
    "Country": null,
    "County": null,
    "BeginDate": null,
    "EndDate": null,
    "FeePercentage": null,
    "FeeCollected": null,
    "BillRate": null,
    "PayRate": null,
    "InternalExpiration": null,
    "ExternalExpiration": null,
    "ShowOnWeb": false,
    "WhyOpen": null,
    "Department": null,
    "StartHold": null,
    "EndHold": null,
    "UserName": "ADMIN",
    "Status": "Filled",
    "LastActivity": "2025-11-03T13:19:50",
    "LastModified": "2025-11-03T13:19:50.077",
    "ContactId": null,
    "DefaultCurrency": "USD",
    "CustomFields": []
}

TIP

This API call retrieves a specific record by its ID. Use query parameters like Fields or Custom to control which fields are returned in the response.

------------------ REQUEST -------------------
json
{
  "method": "DELETE",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/123456",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call permanently deletes the specified record. This action cannot be undone.

Activities

Manage activities data associated with positionsv2 records.

GET - Search for Position Activity records

POST - Create a(n) Position Activity record

PUT - Update a(n) Position Activity record

Data Parameters

  • AggregateCount (integer,null, int32) -
  • MetaData -
  • ActivityId (integer,null, int64) -
  • JobId (integer,null, int64) -
  • UserName (string) -
  • DateEntered (null,string, date-time) -
  • Memo (string) -
  • ActType (string) -
  • Result (string) -
  • Position -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities?Query=JobId eq 192096596989215",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "TotalRecords": 1,
    "Results": [
        {
            "ActivityId": 200368490287471,
            "JobId": 192096596989215,
            "UserName": "SAMPLE",
            "DateEntered": "2025-11-12T13:52:09.597",
            "Memo": "Position was created via API. (Wed Nov-12 '25 1:52p/SAMPLE)",
            "ActType": "ADDPOS",
            "Result": null
        }
    ]
}

TIP

This API call returns a paginated list of records. Use Query parameter to filter results, Page and ResultsPerPage to control pagination, and Order to sort results.

------------------ REQUEST -------------------
json
{
  "method": "POST",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities/",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "JobId": 192096596989215,
    "Memo": "This is some sample Activity Text",
    "ActType": "NEW ACT"
  }
}
------------------ RESPONSE ------------------
json
{
    "ActivityId": 132558152154718
}

TIP

This API call creates a new record. Include the required fields in the request body. The response will contain the created record with its newly assigned ID.

------------------ REQUEST -------------------
json
{
  "method": "PUT",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities/",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "ActivityId": 132558152154718,
    "Memo": "This is some sample altered Activity Text"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call updates an existing record. Include the fields you want to modify in the request body. Only the provided fields will be updated.

GET - Retrieve a(n) Position Activity record

PUT - Update a(n) Position Activity record

DELETE - Delete a(n) Position Activity record

Data Parameters

  • AggregateCount (integer,null, int32) -
  • MetaData -
  • ActivityId (integer,null, int64) -
  • JobId (integer,null, int64) -
  • UserName (string) -
  • DateEntered (null,string, date-time) -
  • Memo (string) -
  • ActType (string) -
  • Result (string) -
  • Position -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities/{Activityid}",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "ActivityId": 132558152154718,
    "JobId": 192096596989215,
    "UserName": "SAMPLE",
    "DateEntered": "2025-11-12T13:56:20.347",
    "Memo": "This is some sample altered Activity Text",
    "ActType": "NEW ACT",
    "Result": null
}

TIP

This API call retrieves a specific record by its ID. Use query parameters like Fields or Custom to control which fields are returned in the response.

------------------ REQUEST -------------------
json
{
  "method": "PUT",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities/{Activityid}",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "Memo": "This is some sample altered Activity Text"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call updates an existing record. Include the fields you want to modify in the request body. Only the provided fields will be updated.

------------------ REQUEST -------------------
json
{
  "method": "DELETE",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/activities/123456",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call permanently deletes the specified record. This action cannot be undone.

Attachments

Manage attachments data associated with positionsv2 records.

GET - Search for Position Attachment records

POST - Create a(n) Position Attachment record

PUT - Update a(n) Position Attachment record

Data Parameters

  • AttachmentId (integer,null, int64) -
  • Type -
  • Name (string) -
  • Description (string) -
  • Date (null,string, date-time) -
  • ProfileLink (string) -
  • ProfileLinkEdit (string) -
  • Hash (string) -
  • Data (string, byte) -
  • Size (integer,null, int64) -
  • TokenId (integer,null, int64) -
  • AggregateCount (integer,null, int32) -
  • MetaData -
  • JobId (integer,null, int64) -
  • Position -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/attachments??Query=JobId eq 1920965969892151",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "TotalRecords": 1,
    "Results": [
        {
            "JobId": 1920965969892151,
            "AttachmentId": 182569851376937,
            "Type": "REQUEST",
            "Name": "Position Approval Request",
            "Description": "Position Approval Request",
            "Date": null,
            "Size": null
        }
    ]
}

TIP

This API call returns all of the attachments for the JobId supplied in the query.

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/attachments/{Attachmentid}",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "JobId": 1920965969892151,
    "AttachmentId": 182569851376937,
    "Type": "REQUEST",
    "Name": "Position Approval Request",
    "Description": "Position Approval Request",
    "Date": null,
    "Size": null
}

TIP

This API call retrieves a specific record by its ID. Use query parameters like Fields or Custom to control which fields are returned in the response.

------------------ REQUEST -------------------
json
{
  "method": "DELETE",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/attachments/123456",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
  "Success": true
}

TIP

This API call permanently deletes the specified record. This action cannot be undone.

Manage jobboardlinks data associated with positionsv2 records.

GET - Get links to job board for specified job

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/positionsV2/JobBoardLinks/{jobid}",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "Details": "https://www2.pcrecruiter.net/pcrbin/jobboard...",
    "Apply": "https://www2.pcrecruiter.net/pcrbin/jobboard..."
}

TIP

This API call retrieves the job board links for a specific position supplied as the JobId in the request.

Rolluplists

Manage rolluplists data associated with positionsv2 records.

GET - Search for Rollup Position records

POST - Create a(n) Rollup Position record

PUT - Update a(n) Rollup Position record

Data Parameters

  • AggregateCount (integer,null, int32) -
  • MetaData -
  • JobId (integer,null, int64) -
  • Code (string) -
  • Stage -
  • Rank (integer,null, int32) -
  • Comments (string) -
  • DateEntered (null,string, date-time) -
  • LastModified (null,string, date-time) -
  • DateRead (null,string, date-time) -
  • SortDistance (null,number, double) -
  • Position -
  • RollupList -

Examples

------------------ REQUEST -------------------
json
{
  "method": "GET",
  "url": "https://www2.pcrecruiter.net/rest/api/PositionsV2/RollupLists?Query=JobId eq 1920965969892151",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  }
}
------------------ RESPONSE ------------------
json
{
    "TotalRecords": 2,
    "Results": [
        {
            "JobId": 1920965969892151,
            "Code": "SAMPLE.4169",
            "Stage": "None",
            "Rank": 0,
            "Comments": null,
            "DateEntered": "2020-06-10T16:28:59",
            "LastModified": null
        },
        {
            "JobId": 1920965969892151,
            "Code": "SAMPLE.4208",
            "Stage": "None",
            "Rank": 0,
            "Comments": null,
            "DateEntered": "2020-08-12T17:27:49",
            "LastModified": null
        }
    ]
}

TIP

This API call returns a paginated list of records. Use Query parameter to filter results, Page and ResultsPerPage to control pagination, and Order to sort results.

------------------ REQUEST -------------------
json
{
  "method": "POST",
  "url": "https://www2.pcrecruiter.net/rest/api/PositionsV2/RollupLists/",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "BEARER Token"
  },
  "body": {
    "JobId": 1920965969892151,
    "Code": "SAMPLE.0018"
  }
}
------------------ RESPONSE ------------------
json
{
"JobId": 119091786499037,
"Code": "SAMPLE.0018"
}

TIP

This API call associates the supplied JobId with the supplied Rollup Code. This does not create a new Rollup record and only acts to associate the records and add the position to the Rollup list.