Skip to main content
POST
/
v3
/
job_description_search
/
embed
Create a signed URL for the embeddable job description search tool
curl --request POST \
  --url https://{region}.affinda.com/v3/job_description_search/embed \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "configOverride": {
    "allowPdfDownload": true,
    "maxResults": 10,
    "displayJobTitle": true,
    "displayLocation": true,
    "displayYearsExperience": true,
    "displayOccupationGroup": true,
    "displayEducation": true,
    "displaySkills": true,
    "displayLanguages": true,
    "displayManagementLevel": true,
    "displayKeywords": true,
    "weightJobTitle": 123,
    "weightLocation": 123,
    "weightYearsExperience": 123,
    "weightOccupationGroup": 123,
    "weightEducation": 123,
    "weightSkills": 123,
    "weightLanguages": 123,
    "weightManagementLevel": 123,
    "weightKeywords": 123,
    "indices": [
      "all-job-descriptions",
      "my-index"
    ],
    "showIndexDropdown": true,
    "searchToolTheme": {
      "palette": {
        "background": "<string>",
        "text": {
          "primary": "<string>",
          "secondary": "<string>",
          "disabled": "<string>"
        },
        "divider": "<string>"
      },
      "typography": {
        "fontFamily": "<string>",
        "fontSize": "<string>",
        "fontWeightRegular": "<string>",
        "fontWeightMedium": "<string>",
        "fontWeightBold": "<string>"
      },
      "borderRadius": 123,
      "fontUrl": "<string>"
    },
    "actions": [
      {
        "label": "Add to shortlist",
        "eventName": "addToShortlist"
      }
    ],
    "hideToolbar": true,
    "hideSidePanel": true,
    "customFieldsConfig": [
      {
        "dataPoint": "RdNAniIH",
        "weight": 0.5
      }
    ],
    "distanceUnit": "km"
  }
}
'
import requests

url = "https://{region}.affinda.com/v3/job_description_search/embed"

payload = { "configOverride": {
"allowPdfDownload": True,
"maxResults": 10,
"displayJobTitle": True,
"displayLocation": True,
"displayYearsExperience": True,
"displayOccupationGroup": True,
"displayEducation": True,
"displaySkills": True,
"displayLanguages": True,
"displayManagementLevel": True,
"displayKeywords": True,
"weightJobTitle": 123,
"weightLocation": 123,
"weightYearsExperience": 123,
"weightOccupationGroup": 123,
"weightEducation": 123,
"weightSkills": 123,
"weightLanguages": 123,
"weightManagementLevel": 123,
"weightKeywords": 123,
"indices": ["all-job-descriptions", "my-index"],
"showIndexDropdown": True,
"searchToolTheme": {
"palette": {
"background": "<string>",
"text": {
"primary": "<string>",
"secondary": "<string>",
"disabled": "<string>"
},
"divider": "<string>"
},
"typography": {
"fontFamily": "<string>",
"fontSize": "<string>",
"fontWeightRegular": "<string>",
"fontWeightMedium": "<string>",
"fontWeightBold": "<string>"
},
"borderRadius": 123,
"fontUrl": "<string>"
},
"actions": [
{
"label": "Add to shortlist",
"eventName": "addToShortlist"
}
],
"hideToolbar": True,
"hideSidePanel": True,
"customFieldsConfig": [
{
"dataPoint": "RdNAniIH",
"weight": 0.5
}
],
"distanceUnit": "km"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
configOverride: {
allowPdfDownload: true,
maxResults: 10,
displayJobTitle: true,
displayLocation: true,
displayYearsExperience: true,
displayOccupationGroup: true,
displayEducation: true,
displaySkills: true,
displayLanguages: true,
displayManagementLevel: true,
displayKeywords: true,
weightJobTitle: 123,
weightLocation: 123,
weightYearsExperience: 123,
weightOccupationGroup: 123,
weightEducation: 123,
weightSkills: 123,
weightLanguages: 123,
weightManagementLevel: 123,
weightKeywords: 123,
indices: ['all-job-descriptions', 'my-index'],
showIndexDropdown: true,
searchToolTheme: {
palette: {
background: '<string>',
text: {primary: '<string>', secondary: '<string>', disabled: '<string>'},
divider: '<string>'
},
typography: {
fontFamily: '<string>',
fontSize: '<string>',
fontWeightRegular: '<string>',
fontWeightMedium: '<string>',
fontWeightBold: '<string>'
},
borderRadius: 123,
fontUrl: '<string>'
},
actions: [{label: 'Add to shortlist', eventName: 'addToShortlist'}],
hideToolbar: true,
hideSidePanel: true,
customFieldsConfig: [{dataPoint: 'RdNAniIH', weight: 0.5}],
distanceUnit: 'km'
}
})
};

fetch('https://{region}.affinda.com/v3/job_description_search/embed', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
  "url": "https://app.affinda.com/job-description-search?signature=eyJhbGxvd19wZGZkGZ"
}
{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}
{
"type": "validation_error",
"errors": [
{
"attr": "non_field_errors",
"code": "unique",
"detail": "This index name has already been used"
}
]
}

Authorizations

Authorization
string
header
required

Basic authentication using an API key, e.g. {Authorization: Bearer aff_0bb4fbdf97b7e4111ff6c0015471094155f91}. You can find your API key within the Settings page of the Affinda web app. You can obtain an API key by signing up for a free trial.

Body

application/json
configOverride
object

Response

Successfully created a signed URL.

url
string

The signed URL for the embedable search tool.

Example:

"https://app.affinda.com/job-description-search?signature=eyJhbGxvd19wZGZkGZ"