Sovren REST API
This documentation is for Version 10 of the Sovren REST API, released on December 15, 2020. Both V9 and V10 use the same parsing and matching engines under-the-hood, but V10 is more streamlined and has a vastly simpler output. Please visit this link for an in-depth comparison.
First Steps
- This documentation is for technical details about the API only. Before starting your integration, you should read the Product Documentation for the products you plan to integrate with. We will show you the most important information on how to create a quick and successful integration.
- Then, read the Acceptable Use Policy. There are many items in the Acceptable Use Policy that will require your programming expertise in order to be in compliance. Sovren's products and services contain open source software developed by third parties. A list of this software, including licensing and links to source code, can be found in our Open Source Disclosure.
- If programming in Java or C#, install the Sovren SDK using the links in the section below. Otherwise, review the code samples and endpoint documentation throughout the rest of this page.
Sovren SDK
The easiest and fastest way to get started programming your integration to the Version 10 API is by using our SDKs. We currently offer SDKs in C# and Java, with others to follow. This is, by far, the best way to use our software. You can parse a document with as little as 3 lines of code!
Each GitHub link below has installation instructions, documentation, and many code examples to help get you started. The SDKs can also be found directly using your preferred package manager.
Programming Language | GitHub |
---|---|
C# | https://github.com/sovren/sovren-dotnet |
Java | https://github.com/sovren/sovren-java |
Code Samples
Here we have a few code samples to get you up and running quickly:
//this code uses the official SDK (see https://github.com/sovren/sovren-dotnet) SovrenClient client = new SovrenClient("12345678", "abcdefghijklmnopqrstuvwxyz", DataCenter.US); //A Document is an unparsed File (PDF, Word Doc, etc) Document doc = new Document("resume.docx"); //when you create a ParseRequest, you can specify many configuration settings //in the ParseOptions. See http://docs.sovren.com/API/Rest#parse-resume ParseRequest request = new ParseRequest(doc, new ParseOptions()); try { ParseResumeResponse response = await client.ParseResume(request); //if we get here, it was 200-OK and all operations succeeded //now we can use the response from Sovren to ouput some of the data from the resume Console.WriteLine("Name: " + response.EasyAccess().GetCandidateName()?.FormattedName); Console.WriteLine("Email: " + response.EasyAccess().GetEmailAddresses()?.FirstOrDefault()); Console.WriteLine("Phone: " + response.EasyAccess().GetPhoneNumbers()?.FirstOrDefault()); } catch (SovrenException e) { //this was an outright failure, always try/catch for SovrenExceptions when using the SovrenClient Console.WriteLine($"Error: {e.SovrenErrorCode}, Message: {e.Message}"); }
//https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications var file = $("#input").files[0]; var modifiedDate = (new Date(file.lastModified)).toISOString().substring(0, 10); var reader = new FileReader(); reader.onload = function (event) { //the Base64 library can be found at http://docs.sovren.com/Downloads/v10/Libs/base64.zip var base64Text = Base64.encodeArray(event.target.result); var data = { "DocumentAsBase64String": base64Text, "DocumentLastModified": modifiedDate //other options here (see http://docs.sovren.com/API/Rest/Parsing) };//use https://eu-rest.resumeparsing.com/v10/parser/resume if your account is in the EU data center //NOTE: this is shown for demonstration purposes only, you should never embed your credentials // in javascript that is going to be distributed to end users. Instead, your javascript should // call a back-end service which then makes the POST to Sovren's API $.ajax({ "url": "https://rest.resumeparsing.com/v10/parser/resume", "method": "POST", "crossDomain": true, "headers": { "Accept": "application/json", "Content-Type": "application/json", "Sovren-AccountId": "12345678", "Sovren-ServiceKey": "eumey7feY5zjeWZW397Jks6PBj2NRKSH" }, "data": JSON.stringify(data) }); } // when the file is read it triggers the onload event above. reader.readAsArrayBuffer(file);
import base64 import requests #this module will need to be installed import json import os.path import datetime base64str = '' filePath = 'resume.docx' #open the file, encode the bytes to base64, then decode that to a UTF-8 string with open(filePath, 'rb') as f: base64str = base64.b64encode(f.read()).decode('UTF-8') epochSeconds = os.path.getmtime(filePath) lastModifiedDate = datetime.datetime.fromtimestamp(epochSeconds).strftime("%Y-%m-%d") #use https://eu-rest.resumeparsing.com/v10/parser/resume if your account is in the EU data center url = "https://rest.resumeparsing.com/v10/parser/resume" payload = { 'DocumentAsBase64String': base64str, 'DocumentLastModified': lastModifiedDate #other options here (see http://docs.sovren.com/API/Rest/Parsing) } headers = { 'accept': "application/json", 'content-type': "application/json", 'sovren-accountid': "12345678", 'sovren-servicekey': "eumey7feY5zjeWZW397Jks6PBj2NRKSH", } #make the request, NOTE: the payload must be serialized to a json string response = requests.request("POST", url, data=json.dumps(payload), headers=headers) responseJson = json.loads(response.content) #grab the ResumeData resumeData = responseJson['Value']['ResumeData'] #access the ResumeData properties with simple JSON syntax: print(resumeData['ContactInformation']['CandidateName']['FormattedName']) #for response properties and types, see http://docs.sovren.com/API/Rest/Parsing
require 'uri' require 'net/http' require 'net/https' require 'base64' require 'json' file_path = 'resume.docx' file_data = IO.binread(file_path) modified_date = File.mtime(file_path).to_s[0,10] # Encode the bytes to base64 base_64_file = Base64.encode64(file_data) data = { "DocumentAsBase64String" => base_64_file, "DocumentLastModified" => modified_date #other options here (see http://docs.sovren.com/API/Rest/Parsing) }.to_json#use https://eu-rest.resumeparsing.com/v10/parser/resume if your account is in the EU data center uri = URI.parse("https://rest.resumeparsing.com/v10/parser/resume") https = Net::HTTP.new(uri.host,uri.port) https.use_ssl = true headers = { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'Sovren-AccountId' => '12345678', # use your account id here 'Sovren-ServiceKey' => 'eumey7feY5zjeWZW397Jks6PBj2NRKSH', # use your service key here } req = Net::HTTP::Post.new(uri.path, initheader = headers) req.body = data res = https.request(req) # Parse the response body into an object respObj = JSON.parse(res.body) # Access properties such as the GivenName and PlainText givenName = respObj["Value"]["ResumeData"]["ContactInformation"]["CandidateName"]["GivenName"] resumeText = respObj["Value"]["ResumeData"]["ResumeMetadata"]["PlainText"]
//this code uses the official SDK (see https://github.com/sovren/sovren-java) SovrenClient client = new SovrenClient("12345678", "abcdefghijklmnopqrstuvwxyz", DataCenter.US); //A Document is an unparsed File (PDF, Word Doc, etc) Document doc = new Document("resume.docx"); //when you create a ParseRequest, you can specify many configuration settings //in the ParseOptions. See http://docs.sovren.com/API/Rest#parse-resume ParseRequest request = new ParseRequest(doc, new ParseOptions()); try { ParseResumeResponse response = client.parseResume(request); //if we get here, it was 200-OK and all operations succeeded //now we can use the response from Sovren to ouput some of the data from the resume System.out.println("Name: " + response.Value.ResumeData.ContactInformation.CandidateName.FormattedName); System.out.println("Experience: " + response.Value.ResumeData.EmploymentHistory.ExperienceSummary.Description); } catch (SovrenException e) { //this was an outright failure, always try/catch for SovrenExceptions when using the SovrenClient System.out.println("Error: " + e.SovrenErrorCode + ", Message: " + e.getMessage()); }
//If your PHP installation doesn't have an up-to-date CA root certificate bundle, download the one at the curl website and save it on your server: //http://curl.haxx.se/docs/caextract.html //Then set a path to it in your php.ini file, e.g. on Windows: //curl.cainfo=c:\php\cacert.pem // open the file $filepath = "resume.docx"; $handle = fopen($filepath, "r"); $contents = fread($handle, filesize($filepath)); fclose($handle); $modifiedDate = date("Y-m-d", filemtime($filepath)); //encode to base64 $base64str = base64_encode($contents); $data = ["DocumentAsBase64String" => $base64str, "DocumentLastModified" => $modifiedDate]; //other options here (see http://docs.sovren.com/API/Rest/Parsing)//use https://eu-rest.resumeparsing.com/v10/parser/resume if your account is in the EU data center $url = "https://rest.resumeparsing.com/v10/parser/resume"; //setup curl to make the REST call, you can use an external library //such as Guzzle if you prefer: http://guzzle.readthedocs.io $curl = curl_init(); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $headers = [ "accept: application/json", "content-type: application/json; charset=utf-8", "sovren-accountid: 12345678", "sovren-servicekey: eumey7feY5zjeWZW397Jks6PBj2NRKSH" ]; curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($curl); curl_close($curl); //$result now has the parsed document, you can now use json_decode if you like to use Value.ResumeData //for response properties and types, see http://docs.sovren.com/API/Rest/Parsing
const http = require('https'); const fs = require('fs'); var filePath = "resume.docx"; var buffer = fs.readFileSync(filePath); var base64Doc = buffer.toString('base64'); var modifiedDate = (new Date(fs.statSync(filePath).mtimeMs)).toISOString().substring(0, 10); //other options here (see http://docs.sovren.com/API/Rest/Parsing) var postData = JSON.stringify({ 'DocumentAsBase64String': base64Doc, 'DocumentLastModified': modifiedDate });//use https://eu-rest.resumeparsing.com/v10/parser/resume if your account is in the EU data center var options = { host: 'rest.resumeparsing.com', protocol: 'https:', path: '/v10/parser/resume', method: 'POST', headers: { 'Sovren-AccountId': '12345678', 'Sovren-ServiceKey': 'eumey7feY5zjeWZW397Jks6PBj2NRKSH', 'Accept': 'application/json', 'Content-Type': 'application/json', 'Content-Length': postData.length } }; var request = http.request(options, function (response) { console.log(`STATUS: ${response.statusCode}`); response.setEncoding('utf8'); var responseAsString = ''; response.on('data', (chunk) => { responseAsString += chunk; }); response.on('end', () => { var responseAsJson = JSON.parse(responseAsString); console.log(responseAsJson.Info); var resumeData = responseAsJson.Value.ResumeData; //now you can consume the resumeData }); }); request.write(postData); request.end();
Standard Transaction Cost
Endpoint | Cost | |
---|---|---|
POST /v10/parser/* |
1 credit (2 credits with matching enabled, additional credits can be consumed when geocoding is enabled that follow the same structure as the POST /geocoder/* endpoint)
|
|
POST /v10/scorer/bimetric | 1 credit + number of target documents * 0.1 | |
POST /v10/matcher/* |
Free when initiated by a human end-user for a single transaction. (Additional credits can be consumed when geocoding is enabled that follow the same structure as the POST /geocoder/* endpoint).
When this method is called by anything other than a human end-user, this endpoint may be subject to an additional 1 credit surcharge as per the Acceptable Use Policy. |
|
POST /v10/searcher |
Free when initiated by a human end-user for a single transaction. (Additional credits can be consumed when geocoding is enabled that follow the same structure as the POST /geocoder/* endpoint).
When this method is called by anything other than a human end-user, this endpoint may be subject to an additional 1 credit surcharge as per the Acceptable Use Policy. |
|
POST /v10/geocoder/* | 1 credit if using the default options. 0.1 credits if you specify your own provider key. If you use geocoding in parsing/searching/matching the same cost is applied to those transactions. | |
POST /v10/geocodeAndIndex/* | 1 credit if using the default options. 0.1 credits if you specify you own provider key. 0 credits (free) if you specify the latitude/longitude. | |
GET /v10/index/{indexId}/count | 1 credit. There should never be a need to call this endpoint. You control when documents are added/deleted from your indexes, so you should always know how many documents are in any given index. | |
GET /v10/index |
10 credits. There should never be a need to call this endpoint. You should be keeping track of what indexes you have created and deleted. Adding a document to an index that doesn't exist will return a 404 - Not Found error.
|
|
GET /v10/account | 1 credit. You should only call this endpoint if you are batch parsing, and you should only call it in compliance with our Acceptable Use Policy. |
Note: Credit cost is increased 15% when Sovren Sourcing is enabled.
Note: Additional costs may be incurred when using deprecated versions as per the Terms of Service.
Endpoints
Notes
- Our REST API is also documented using Swagger. Follow the links below for the appropriate data center to access an HTML page where you can make sample requests.
US Data Center | EU Data Center | |
---|---|---|
HTTPS | https://rest.resumeparsing.com/v10/ | https://eu-rest.resumeparsing.com/v10/ |
Authentication
Our REST API handles authentication via the Sovren-AccountId
and
Sovren-ServiceKey
headers. These keys were generated during account creation
and send to the contacts listed on the account. If authentication fails we return a 401 Unathorized HTTP Status Code.
The most common causes for unauthorized exceptions are:
- Not including the headers in the request
- Making requests to the wrong data center. If you have questions about which data center your account is setup for contact support@sovren.com
If you recieve a 403 Forbidden Access exception, please confirm that you are using https. We have deprecated the use of unsecured http connections in this verison.
Versioning
We continuously deploy bug fixes and new features to our API. We limit breaking changes to new versions deployed to new urls unless the change is to fix an error in the output. In the top-left of our documentation site you can change the API version of the documentation.
Release notes can be found here.
When integrating to our API, make sure that all of your API calls use same version. When upgrading to a new version it's crucial to upgrade all api calls to the new version at the same time. NEVER use multiple versions in your integration.
There are four different statuses for API versions, and they are defined as follows:
- Suggested - this is the version we suggest that you use. It will continue to receive new features, and bug fixes as they are identified.
- Beta - this version is currently in beta-testing. There may be some final minor tweaks before the official release.
- Supported - do not integrate against this version, and if you're currently utilizing it plan your upgrade to the suggested version before this version is deprecated. Supported versions will continue to receive critical bug fixes, but not new features or accuracy improvements.
- Deprecated - do not use this version. If you're integrated to a deprecated version you should plan your upgrade to the suggested version. Deprecated versions do not receive any bug fixes or new features. Deprecated versions may incur higher use of credits.
API Version | Status | Notes |
---|---|---|
Version 10 | Beta | This is the same as v9 under-the-hood, but features an entirely new/modern input/output structure and official SDKs. The output/api might have minor changes before the official release. For more info see Version 9 vs Version 10. |
Version 9 | Suggested | This is the latest and most accurate version. If you're not already using this version please make plans to upgrade as soon as possible. Full release notes can be found here. |
Version 8 | Deprecated (6/26/2018) | Do not integrate to v8. If you are using v8, click here to view the upgrade path. |
Version 7.5 | Deprecated (6/26/2018) | If you're still using the version 7.5 of the API we recommend upgrading straight to version 9. The upgrade path can be found here. |
HTTP Status Codes
Our API uses conventional HTTP status codes to describe the overall status of the transaction. The specific code we return are detailed below
and mapped to the Info.Code
values we return for every transaction:
HTTP Status Code | Info.Code | Description |
---|---|---|
200 - OK | Success, WarningsFoundDuringParsing, PossibleTruncationFromTimeout, SomeErrors | The transaction was successful |
400 - Bad Request | MissingParameter, InvalidParameter, InsufficientData, DataNotFound, CoordinatesNotFound, ConstraintError | Unable to process request |
401 - Unauthorized | AuthenticationError, Unauthorized | The AccountId and/or ServiceKey were invalid |
403 - Forbidden | N/A | The request was made using http instead of https. |
404 - Not Found | DataNotFound | The requested asset wasn't found. |
409 - Conflict | DuplicateAsset | The request could not be completed due to a conflict with the current state of the target resource. |
422 - Unprocessable Entity | ConversionException | The request made was syntactically correct, but the provided document was unable to be converted to text. |
429 - Too Many Requests | TooManyRequests | Your submission has been rejected without being processed because you were exceeding the allowable batch parsing transaction concurrency limit per the AUP. You have been charged for submitting the transaction. It is your responsibility to resubmit this transaction after you correct the process which caused the concurrency problem. |
500 - Internal Server Error | UnhandledException | An unexpected issue occurred (these are extremely rare). |
Parse a Resume
POST /v10/parser/resume
Parse a single Resume/CV.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- This service is designed to parse resumes/CVs. It assumes that all files passed to it are resumes/CVs. It does not attempt to detect whether a document is a resume/CV or not. It should not be used to try to extract information from other types of documents.
- This service supports all commercially viable document formats used for text documents (image formats are not supported). The service does not support parsing of image files (such as TIFF, JPG) or scanned images within supported document file formats. Always send the original file, not the result of copy/paste, not a conversion by some other software, not a scanned image, and not a version marked up with recruiter notes or other non-resume information. Be aware that if you pass garbage into the service, then you are likely to get garbage out. The best results are always obtained by parsing the original resume/CV file.
- If you are running batch transactions (i.e. iterating through files in a folder), make sure that you do not try to reparse a file if you get an exception back from the service since you will get the same result each time and credits will be deducted from your account.
- Batch transactions must adhere to our Acceptable Use Policy.
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Request Body
Convert.ToBase64String(byte[])
method.
/geocode
endpoint, and thus will be charged accordingly.
This parameter defaults to false.
If passing a ProviderKey, this field is required.
{ "DocumentAsBase64String": "", "DocumentLastModified": "", "OutputHtml": false, "OutputRtf": false, "OutputPdf": false, "OutputCandidateImage": false, "Configuration": "", "SkillsData": [ "" ], "NormalizerData": "", "GeocodeOptions": { "IncludeGeocoding": false, "Provider": "", "ProviderKey": "", "PostalAddress": { "CountryCode": "", "PostalCode": "", "Region": "", "Municipality": "", "AddressLine": "" }, "GeoCoordinates": { "Latitude": 0, "Longitude": 0 } }, "IndexingOptions": { "IndexId": "", "DocumentId": "", "UserDefinedTags": [ "" ] } }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Success – Successful transaction
WarningsFoundDuringParsing - A successful transaction that contains warnings in the parsed document result
PossibleTruncationFromTimeout - The timeout occurred before the document was finished parsing which can result in truncation
ConversionException - There was an issue converting the document
Code
value.
ParseOptions.GeocodeOptions
the status of the geocode transaction will be output here.
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
InsufficientData - The address provided doesn't have enough granularity to be geocoded effectively
CoordinatesNotFound - The geocoding provider couldn't find any coordinates matching the provided address
Code
value.
ParseOptions.IndexingOptions
the status of the index transaction will be output here.
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
DataNotFound - Data with the specified name wasn't found
Code
value.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
0-29 = Low level
30-59 = Mid level
60+ = High level
VeryUnlikely - recommend discarding
Unlikely - recommend discarding
Probable - recommend review
Confident - no action needed
VeryUnlikely - recommend discarding
Unlikely - recommend discarding
Probable - recommend review
Confident - no action needed
NOTE: you may add/remove these prior to indexing. This is the only property you may modify prior to indexing.
Value.ResumeData
with all of the Personally Identifiable Information (PII) fields such as first name, last name, email addresses, phone numbers, etc. redacted.ParseOptions.OutputPdf
, this is the
document converted to a PDF. This is a byte[] as a Base64-encoded string.
ParseOptions.OutputPdf
, this is the
document converted to HTML.
ParseOptions.OutputPdf
, this is the
document converted to RTF.
TimedOut
is true, this is how much time was spent parsing before the timeout occurred.
TimedOut
is true, this is how much time was spent parsing before the timeout occurred.
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": { "ParsingResponse": { "Code": "Success", "Message": "string" }, "GeocodeResponse": { "Code": "Success", "Message": "string" }, "IndexingResponse": { "Code": "Success", "Message": "string" }, "ResumeData": { "ContactInformation": { "CandidateName": { "FormattedName": "string", "Prefix": "string", "GivenName": "string", "Moniker": "string", "MiddleName": "string", "FamilyName": "string", "Suffix": "string" }, "Telephones": [ { "Raw": "string", "Normalized": "string", "InternationalCountryCode": "string", "AreaCityCode": "string", "SubscriberNumber": "string" } ], "EmailAddresses": [ "string" ], "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "WebAddresses": [ { "Address": "string", "Type": "string" } ] }, "ProfessionalSummary": "string", "Objective": "string", "CoverLetter": "string", "PersonalAttributes": { "Availability": "string", "Birthplace": "string", "CurrentLocation": "string", "CurrentSalary": { "Currency": "string", "Amount": 0 }, "DateOfBirth": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "DrivingLicense": "string", "FamilyComposition": "string", "FathersName": "string", "Gender": "string", "HukouCity": "string", "HukouArea": "string", "MaritalStatus": "string", "MothersMaidenName": "string", "MotherTongue": "string", "NationalIdentities": [ { "Number": "string", "Phrase": "string" } ], "Nationality": "string", "PassportNumber": "string", "PreferredLocation": "string", "RequiredSalary": { "Currency": "string", "Amount": 0 }, "VisaStatus": "string", "WillingToRelocate": "string" }, "Education": { "HighestDegree": { "Name": { "Raw": "string", "Normalized": "string" }, "Type": "string" }, "EducationDetails": [ { "Id": "string", "Text": "string", "SchoolName": { "Raw": "string", "Normalized": "string" }, "SchoolType": "string", "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "Degree": { "Name": { "Raw": "string", "Normalized": "string" }, "Type": "string" }, "Majors": [ "string" ], "Minors": [ "string" ], "GPA": { "Score": "string", "ScoringSystem": "string", "MaxScore": "string", "MinimumScore": "string", "NormalizedScore": 0 }, "LastEducationDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "Graduated": { "Value": true } } ] }, "EmploymentHistory": { "ExperienceSummary": { "Description": "string", "MonthsOfWorkExperience": 0, "MonthsOfManagementExperience": 0, "ExecutiveType": "string", "AverageMonthsPerEmployer": 0, "FulltimeDirectHirePredictiveIndex": 0, "ManagementStory": "string", "CurrentManagementLevel": "string", "ManagementScore": 0, "AttentionNeeded": "string" }, "Positions": [ { "Id": "string", "Employer": { "Name": { "Probability": "string", "Raw": "string", "Normalized": "string" }, "OtherFoundName": { "Raw": "string", "Normalized": "string" }, "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } } }, "RelatedToByDates": [ "string" ], "RelatedToByCompanyName": [ "string" ], "IsSelfEmployed": true, "IsCurrent": true, "JobTitle": { "Raw": "string", "Normalized": "string", "Probability": "string", "Variations": [ "string" ] }, "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "NumberEmployeesSupervised": { "Value": 0 }, "JobType": "string", "TaxonomyName": "string", "SubTaxonomyName": "string", "JobLevel": "string", "TaxonomyPercentage": "string", "Description": "string", "Bullets": [ { "Type": "string", "Text": "string" } ] } ] }, "SkillsData": [ { "Root": "string", "Taxonomies": [ { "Id": "string", "Name": "string", "PercentOfOverall": 0, "SubTaxonomies": [ { "PercentOfOverall": 0, "PercentOfParent": 0, "SubTaxonomyId": "string", "SubTaxonomyName": "string", "Skills": [ { "Id": "string", "Name": "string", "FoundIn": { "SectionType": "string", "Id": "string", }, "ExistsInText": true, "Variations": [ { "MonthsExperience": { "Value": 0 }, "LastUsed": { "Value": "2020-11-02" }, "Id": "string", "Name": "string", "FoundIn": { "SectionType": "string", "Id": "string", }, "ExistsInText": true } ], "MonthsExperience": { "Value": 0 }, "LastUsed": { "Value": "2020-11-02" }, "ChildrenMonthsExperience": { "Value": 0 }, "ChildrenLastUsed": { "Value": "2020-11-02" } } ] } ] } ] } ], "Certifications": [ { "Name": "string", "MatchedFromList": true } ], "Licenses": [ { "Name": "string", "MatchedFromList": true } ], "Associations": [ { "Organization": "string", "Role": "string", "FoundInContext": "string" } ], "LanguageCompetencies": [ { "Language": "string", "LanguageCode": "string", "FoundInContext": "string" } ], "MilitaryExperience": [ { "Country": "string", "Service": { "Name": "string", "Branch": "string", "Rank": "string" }, "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "FoundInContext": "string" } ], "SecurityCredentials": [ { "Name": "string", "FoundInContext": "string" } ], "References": [ { "ReferenceName": { "FormattedName": "string", "Prefix": "string", "GivenName": "string", "Moniker": "string", "MiddleName": "string", "FamilyName": "string", "Suffix": "string" }, "Title": "string", "Company": "string", "Type": "string", "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "Telephones": [ { "Raw": "string", "Normalized": "string" } ], "EmailAddresses": [ "string" ], "WebAddresses": [ { "Address": "string", "Type": "string" } ] } ], "Achievements": [ "string" ], "Training": { "Text": "string", "Trainings": [ { "Text": "string", "Entity": "string", "Qualifications": [ "string" ], "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true } } ] }, "Hobbies": "string", "Patents": "string", "Publications": "string", "SpeakingEngagements": "string", "ResumeMetadata": { "FoundSections": [ { "FirstLineNumber": 0, "LastLineNumber": 0, "SectionType": "string", "HeaderTextFound": "string" } ], "ResumeQuality": [ { "Level": "string", "Findings": [ { "QualityCode": "string", "SectionIdentifiers": [ { "SectionType": "string", "Id": "string", }, ], "Message": "string" } ] } ], "ReservedData": { "Phones": [ "string" ], "Names": [ "string" ], "EmailAddresses": [ "string" ], "Urls": [ "string" ], "OtherData": [ "string" ] }, "PlainText": "string", "DocumentLanguage": "string", "DocumentCulture": "string", "ParserSettings": "string", "DocumentLastModified": "2020-11-02", "SovrenSignature": [ "string" ] }, "UserDefinedTags": [ "string" ] }, "RedactedResumeData": { "ContactInformation": { "CandidateName": { "FormattedName": "string", "Prefix": "string", "GivenName": "string", "Moniker": "string", "MiddleName": "string", "FamilyName": "string", "Suffix": "string" }, "Telephones": [ { "Raw": "string", "Normalized": "string", "InternationalCountryCode": "string", "AreaCityCode": "string", "SubscriberNumber": "string" } ], "EmailAddresses": [ "string" ], "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "WebAddresses": [ { "Address": "string", "Type": "string" } ] }, "ProfessionalSummary": "string", "Objective": "string", "CoverLetter": "string", "PersonalAttributes": { "Availability": "string", "Birthplace": "string", "CurrentLocation": "string", "CurrentSalary": { "Currency": "string", "Amount": 0 }, "DateOfBirth": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "DrivingLicense": "string", "FamilyComposition": "string", "FathersName": "string", "Gender": "string", "HukouCity": "string", "HukouArea": "string", "MaritalStatus": "string", "MothersMaidenName": "string", "MotherTongue": "string", "NationalIdentities": [ { "Number": "string", "Phrase": "string" } ], "Nationality": "string", "PassportNumber": "string", "PreferredLocation": "string", "RequiredSalary": { "Currency": "string", "Amount": 0 }, "VisaStatus": "string", "WillingToRelocate": "string" }, "Education": { "HighestDegree": { "Name": { "Raw": "string", "Normalized": "string" }, "Type": "string" }, "EducationDetails": [ { "Id": "string", "Text": "string", "SchoolName": { "Raw": "string", "Normalized": "string" }, "SchoolType": "string", "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "Degree": { "Name": { "Raw": "string", "Normalized": "string" }, "Type": "string" }, "Majors": [ "string" ], "Minors": [ "string" ], "GPA": { "Score": "string", "ScoringSystem": "string", "MaxScore": "string", "MinimumScore": "string", "NormalizedScore": 0 }, "LastEducationDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "Graduated": { "Value": true } } ] }, "EmploymentHistory": { "ExperienceSummary": { "Description": "string", "MonthsOfWorkExperience": 0, "MonthsOfManagementExperience": 0, "ExecutiveType": "string", "AverageMonthsPerEmployer": 0, "FulltimeDirectHirePredictiveIndex": 0, "ManagementStory": "string", "CurrentManagementLevel": "string", "ManagementScore": 0, "AttentionNeeded": "string" }, "Positions": [ { "Id": "string", "Employer": { "Name": { "Probability": "string", "Raw": "string", "Normalized": "string" }, "OtherFoundName": { "Raw": "string", "Normalized": "string" }, "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } } }, "RelatedToByDates": [ "string" ], "RelatedToByCompanyName": [ "string" ], "IsSelfEmployed": true, "IsCurrent": true, "JobTitle": { "Raw": "string", "Normalized": "string", "Probability": "string", "Variations": [ "string" ] }, "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "NumberEmployeesSupervised": { "Value": 0 }, "JobType": "string", "TaxonomyName": "string", "SubTaxonomyName": "string", "JobLevel": "string", "Description": "string", "Bullets": [ { "Type": "string", "Text": "string" } ] } ] }, "SkillsData": [ { "Root": "string", "Taxonomies": [ { "Id": "string", "Name": "string", "PercentOfOverall": 0, "SubTaxonomies": [ { "PercentOfOverall": 0, "PercentOfParent": 0, "SubTaxonomyId": "string", "SubTaxonomyName": "string", "Skills": [ { "Id": "string", "Name": "string", "FoundIn": { "SectionType": "string", "Id": "string", }, "ExistsInText": true, "Variations": [ { "MonthsExperience": { "Value": 0 }, "LastUsed": { "Value": "2020-11-02" }, "Id": "string", "Name": "string", "FoundIn": { "SectionType": "string", "Id": "string", }, "ExistsInText": true } ], "MonthsExperience": { "Value": 0 }, "LastUsed": { "Value": "2020-11-02" }, "ChildrenMonthsExperience": { "Value": 0 }, "ChildrenLastUsed": { "Value": "2020-11-02" } } ] } ] } ] } ], "Certifications": [ { "Name": "string", "MatchedFromList": true } ], "Licenses": [ { "Name": "string", "MatchedFromList": true } ], "Associations": [ { "Organization": "string", "Role": "string", "FoundInContext": "string" } ], "LanguageCompetencies": [ { "Language": "string", "LanguageCode": "string", "FoundInContext": "string" } ], "MilitaryExperience": [ { "Country": "string", "Service": { "Name": "string", "Branch": "string", "Rank": "string" }, "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "FoundInContext": "string" } ], "SecurityCredentials": [ { "Name": "string", "FoundInContext": "string" } ], "References": [ { "ReferenceName": { "FormattedName": "string", "Prefix": "string", "GivenName": "string", "Moniker": "string", "MiddleName": "string", "FamilyName": "string", "Suffix": "string" }, "Title": "string", "Company": "string", "Type": "string", "Location": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "Telephones": [ { "Raw": "string", "Normalized": "string" } ], "EmailAddresses": [ "string" ], "WebAddresses": [ { "Address": "string", "Type": "string" } ] } ], "Achievements": [ "string" ], "Training": { "Text": "string", "Trainings": [ { "Text": "string", "Entity": "string", "Qualifications": [ "string" ], "StartDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true }, "EndDate": { "Date": "2020-11-02", "IsCurrentDate": true, "FoundYear": true, "FoundMonth": true, "FoundDay": true } } ] }, "Hobbies": "string", "Patents": "string", "Publications": "string", "SpeakingEngagements": "string", "ResumeMetadata": { "FoundSections": [ { "FirstLineNumber": 0, "LastLineNumber": 0, "SectionType": "string", "HeaderTextFound": "string" } ], "ResumeQuality": [ { "Level": "string", "Findings": [ { "QualityCode": "string", "SectionIdentifiers": [ { "SectionType": "string", "Id": "string", }, ], "Message": "string" } ] } ], "ReservedData": { "Phones": [ "string" ], "Names": [ "string" ], "EmailAddresses": [ "string" ], "Urls": [ "string" ], "OtherData": [ "string" ] }, "PlainText": "string", "DocumentLanguage": "string", "DocumentCulture": "string", "ParserSettings": "string", "DocumentLastModified": "2020-11-02", "SovrenSignature": [ "string" ] }, "UserDefinedTags": [ "string" ] }, "ConversionMetadata": { "DetectedType": "string", "SuggestedFileExtension": "string", "OutputValidityCode": "string", "ElapsedMilliseconds": 0 }, "Conversions": { "PDF": "string", "HTML": "string", "RTF": "string", "CandidateImage": "string", "CandidateImageExtension": "string" }, "ParsingMetadata": { "ElapsedMilliseconds": 0, "TimedOut": true, "TimedOutAtMilliseconds": { "Value": 0 } } } }
Parse a Job Order
POST /v10/parser/joborder
Parse a single Job Order.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- This service is designed to parse job orders. It assumes that all files passed to it are job orders. It does not attempt to detect whether a document is a job order or not. It should not be used to try to extract information from other types of documents.
- This service supports all commercially viable document formats used for text documents (image formats are not supported). The service does not support parsing of image files (such as TIFF, JPG) or scanned images within supported document file formats. Always send the original file, not the result of copy/paste, not a conversion by some other software, not a scanned image, and not a version marked up with recruiter notes or other non-job order information. Be aware that if you pass garbage into the service, then you are likely to get garbage out. The best results are always obtained by parsing the original job order file.
- If you are running batch transactions (i.e. iterating through files in a folder), make sure that you do not try to reparse a file if you get an exception back from the service since you will get the same result each time and credits will be deducted from your account.
- Batch transactions must adhere to our Acceptable Use Policy.
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Request Body
Convert.ToBase64String(byte[])
method.
/geocode
endpoint, and thus will be charged accordingly.
This parameter defaults to false.
If passing a ProviderKey, this field is required.
{ "DocumentAsBase64String": "", "DocumentLastModified": "", "OutputHtml": false, "OutputRtf": false, "OutputPdf": false, "Configuration": { "CountryCode": "", "Language": "", "KnownType": "", "IncludeRecruitingTerms": false, "IncludeSupplementalText": false, "PreferShorterJobTitles": false }, "SkillsData": [ "" ], "GeocodeOptions": { "IncludeGeocoding": false, "Provider": "", "ProviderKey": "", "PostalAddress": { "CountryCode": "", "PostalCode": "", "Region": "", "Municipality": "", "AddressLine": "" }, "GeoCoordinates": { "Latitude": 0, "Longitude": 0 } }, "IndexingOptions": { "IndexId": "", "DocumentId": "", "UserDefinedTags": [ "" ] } }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
PossibleTruncationFromTimeout - The timeout occurred before the document was finished parsing which can result in truncation
ConversionException - There was an issue converting the document
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Code
value.
ParseOptions.GeocodeOptions
the status of the geocode transaction will be output here.
Code
value.
ParseOptions.IndexingOptions
the status of the index transaction will be output here.
Code
value.
UnitOfTime
UnitOfTime
NOTE: you may add/remove these prior to indexing. This is the only property you may modify prior to indexing.
ParseOptions.OutputPdf
, this is the
document converted to a PDF. This is a byte[] as a Base64-encoded string.
ParseOptions.OutputPdf
, this is the
document converted to HTML.
ParseOptions.OutputPdf
, this is the
document converted to RTF.
TimedOut
is true, this is how much time was spent parsing before the timeout occurred. Otherwise null.
TimedOut
is true, this is how much time was spent parsing before the timeout occurred.
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": { "JobData": { "CurrentJobIsManagement": true, "HighestManagementScore": { "Value": 0 }, "ManagementLevel": "string", "ExecutiveType": "string", "MinimumYears": { "Value": 0 }, "MaximumYears": { "Value": 0 }, "MinimumYearsManagement": { "Value": 0 }, "MaximumYearsManagement": { "Value": 0 }, "RequiredDegree": "string", "StartDate": { "Value": "2020-11-02" }, "EndDate": { "Value": "2020-11-02" }, "BillRate": { "Amount": 0, "Currency": "string", "UnitOfTime": "string" }, "PayRate": { "Amount": 0, "Currency": "string", "UnitOfTime": "string" }, "JobDescription": "string", "JobRequirements": "string", "JobTitles": { "MainJobTitle": "string", "JobTitle": [ "string" ] }, "EmployerNames": { "MainEmployerName": "string", "EmployerName": [ "string" ] }, "Degrees": [ { "Name": "string", "Type": "string" } ], "SchoolNames": [ "string" ], "CertificationsAndLicenses": [ "string" ], "LanguageCodes": [ "string" ], "CurrentLocation": { "CountryCode": "string", "PostalCode": "string", "Regions": [ "string" ], "Municipality": "string", "StreetAddressLines": [ "string" ], "GeoCoordinates": { "Latitude": 0, "Longitude": 0, "Source": "string" } }, "TermsOfInterest": [ "string" ], "Owners": [ "string" ], "SkillsData": [ { "Root": "string", "Taxonomies": [ { "Id": "string", "Name": "string", "PercentOfOverall": 0, "SubTaxonomies": [ { "PercentOfOverall": 0, "PercentOfParent": 0, "SubTaxonomyId": "string", "SubTaxonomyName": "string", "Skills": [ { "Id": "string", "Name": "string", "ExistsInText": true, "Required": true, "Variations": [ { "Id": "string", "Name": "string", "ExistsInText": true, "Required": true } ] } ] } ] } ] } ], "JobMetadata": { "PlainText": "string", "DocumentLanguage": "string", "DocumentCulture": "string", "ParserSettings": "string", "DocumentLastModified": "2020-11-02", "SovrenSignature": [ "string" ] }, "UserDefinedTags": [ "string" ] }, "ParsingResponse": { "Code": "Success", "Message": "string" }, "GeocodeResponse": { "Code": "Success", "Message": "string" }, "IndexingResponse": { "Code": "Success", "Message": "string" }, "ConversionMetadata": { "DetectedType": "string", "SuggestedFileExtension": "string", "OutputValidityCode": "string", "ElapsedMilliseconds": 0 }, "Conversions": { "PDF": "string", "HTML": "string", "RTF": "string", "CandidateImage": "string", "CandidateImageExtension": "string" }, "ParsingMetadata": { "ElapsedMilliseconds": 0, "TimedOut": true, "TimedOutAtMilliseconds": { "Value": 0 } } } }
Get Account Info
GET /v9/account
Retrieve your account's current information. See Standard Transaction Cost
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- You should only call this endpoint if you are batch parsing, and you should only call it in compliance with our Acceptable Use Policy.
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
{ "Info": { "Code": "", "Message": "" }, "Value": { "CreditsRemaining": 0, "CreditsUsed": 0, "MaximumConcurrentRequests": 0, "ExpirationDate": "" } }
Create an Index
POST /v10/index/{indexId}
Creates an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id to assign to the new index. This is restricted to alphanumeric with dashes and underscores. All values will be converted to lower-case. |
Request Body
{ "IndexType": "" }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } } }
Get All Indexes
GET /v10/index
Retrieves information about all the indexes associated with your account. See Standard Transaction Cost
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- There should never be a need to call this endpoint. You should be keeping track of what indexes you have created and deleted. Adding a document to an index that doesn't exist will return a
404 - Not Found
error.
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": [ { "OwnerId": "", "Name": "", "IndexType": "" } ] }
Get Index Document Count
GET /v10/index/{indexId}/count
Retrieve the number of documents in a single index. See Standard Transaction Cost
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- There should never be a need to call this endpoint. You control when documents are added/deleted from your indexes, so you should always know how many documents are in any given index.
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id of the index (case-insensitive). |
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": { "Count": 0 } }
Delete an Index
DELETE /v10/index/{indexId}
Delete an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id of the index to delete (case-insensitive). |
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } } }
Index a Resume
POST /v10/index/{indexId}/resume/{documentId}
Adds a single resume to an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id for the index where the document should be added (case-insensitive). |
documentId | string | The id to assign to the new document. This is restricted to alphanumeric with dashes and underscores. All values will be converted to lower-case. |
Request Body
ResumeData
from the Sovren Resume Parser.
See Parse a Resume
{ "ResumeData": { ... }, "UserDefinedTags": [ "" ] }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } } }
Index a Job Order
POST /v10/index/{indexId}/joborder/{documentId}
Adds a single job order to an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id for the index where the document should be added (case-insensitive). |
documentId | string | The id to assign to the new document. This is restricted to alphanumeric with dashes and underscores. All values will be converted to lower-case. |
Request Body
JobData
from the Sovren Job Order Parser. See Parse a Job Order{ "JobData": { ... }, "UserDefinedTags": [ "" ] }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } } }
Index Multiple Resumes
POST /v10/index/{indexId}/resumes
Adds multiple resumes to an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id for the index where the documents should be added (case-insensitive). |
Request Body
ResumeData
from the Sovren Resume Parser.
See Parse a Resume
{ "Resumes": [ { "DocumentId": "", "ResumeData": { ... }, "UserDefinedTags": [ "" ] } ] }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
SomeErrors – Some items in the bulk request failed
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
Success – Successful transaction
Error – The specified document had an error during indexing
Success – Successful transaction
InvalidParameter - A parameter was incorrectly specified
UnhandledException - Unexpected error occurred
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": [ { "DocumentId": "", "Code": "", "SubCode": "", "Message": "" } ] }
Index Multiple Job Orders
POST /v10/index/{indexId}/joborders
Adds multiple job orders to an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- Documents parsed by an account without AI Matching enabled will never be able to be used for matching/searching. For more information on enabling AI Matching reach out to sales@sovren.com
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id for the index where the documents should be added (case-insensitive). |
Request Body
JobData
from the Sovren Job Order Parser. See Parse a Job Order{ "Jobs": [ { "DocumentId": "", "JobData": { ... }, "UserDefinedTags": [ "" ] } ] }
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
SomeErrors – Some items in the bulk request failed
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
Success – Successful transaction
Error – The specified document had an error during indexing
Success – Successful transaction
InvalidParameter - A parameter was incorrectly specified
UnhandledException - Unexpected error occurred
{ "Info": { "Code": "string", "Message": "string", "TransactionId": "string", "EngineVersion": "string", "ApiVersion": "string", "TotalElapsedMilliseconds": 0, "CustomerDetails": { "AccountId": "string", "Name": "string", "IPAddress": "string", "Region": "string", "CreditsRemaining": 0, "CreditsUsed": 0, "ExpirationDate": "2021-12-31", "MaximumConcurrentRequests": 0 } }, "Value": [ { "DocumentId": "", "Code": "", "SubCode": "", "Message": "" } ] }
Get a Resume
GET /v10/index/{indexId}/resume/{documentId}
Retrieves a single resume from an index.
Notes
- You can try this endpoint out at our Swagger page ( US Data Center | EU Data Center )
- There should never be a need to call this endpoint. You should store/retrieve documents in your own database, since documents stored in indexes will have all PII redacted.
Request Headers
It is unnecessary to include these headers when using the Sovren SDK. Your AccountId and ServiceKey will be entered when creating aSovrenClient
Header | Data Type | Required | Description |
---|---|---|---|
Sovren-AccountId | string | Yes | The Account ID that is provided to you when establishing your Service Account. |
Sovren-ServiceKey | string | Yes | The Service key that is provided to you for access to your account’s available credits. |
Content-Type | string | Yes |
Indicates the media type of the incoming request body. The only supported value is
application/json .
|
Path Parameters
Parameter | Data Type | Description |
---|---|---|
indexId | string | The id for the index that contains the document (case-insensitive). |
documentId | string | The id of the document to retrieve (case-insensitive). |
Response Body
The following is a list of codes that can be returned by the service:
Success – Successful transaction
MissingParameter - A required parameter wasn't provided
InvalidParameter - A parameter was incorrectly specified
AuthenticationError - An error occurred with the credentials provided
Unauthorized - Your account doesn't have permission to perform this operation
DataNotFound - Data with the specified name wasn't found
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
In order for this value to be accurate, you must have provided an accurate DocumentLastModified when you parsed this resume.
0-29 = Low level
30-59 = Mid level
60+ = High level
VeryUnlikely - recommend discarding
Unlikely - recommend discarding
Probable - recommend review
Confident - no action needed
VeryUnlikely - recommend discarding
Unlikely - recommend discarding
Probable - recommend review
Confident - no action needed