API References - Jobpass
Notre documentation de référence sur notre API GraphQL vous aide à recevoir des candidatures plus complètes et actualisées directement dans vos outils de gestion de candidatures.
Terms of Service
API Endpoints
# Staging:
https://api.staging.jobpass.io/recruiter/graphql
# Production:
https:/api.jobpass.com/recruiter/graphql
Headers
Authorization: Bearer <YOUR_TOKEN_HERE>
Queries
getApplication
Response
Returns an
Application
Arguments
Name | Description |
---|---|
id -
ID! |
Example
Query
query GetApplication($id: ID!) {
getApplication(id: $id) {
id
offer {
id
archived
createdAt
updatedAt
deletedAt
customID
applications {
...ApplicationFragment
}
}
jobProfile {
id
description
user {
...UserFragment
}
languages {
...LanguageFragment
}
socialNetworks {
...SocialNetworkFragment
}
experiences {
...ExperiencesFragment
}
interventions {
...InterventionFragment
}
publications {
...PublicationFragment
}
skills {
...SkillFragment
}
files {
...MetadataFileFragment
}
}
entity {
id
name
customID
siret
offers {
...OfferFragment
}
}
state
cancelledAt
createdAt
motivationMessage
recruiterRefusalReason
recruiterRefusalMessage
}
}
Variables
{ "id": 4 }
Response
{
"data": {
"getApplication": {
"id": 4,
"offer": Offer,
"jobProfile": JobProfile,
"entity": Entity,
"state": "PENDING",
"cancelledAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"motivationMessage": "abc123",
"recruiterRefusalReason": "NOT_ENOUGH_EXPERIENCE",
"recruiterRefusalMessage": "abc123"
}
}
}
getFile
getJobProfile
Response
Returns a
JobProfile!
Arguments
Name | Description |
---|---|
input -
UserJobProfileGet! |
Example
Query
query GetJobProfile($input: UserJobProfileGet!) {
getJobProfile(input: $input) {
id
description
user {
id
verified
available
workSearchingStatus
workSearchingContracts {
...ContractResearchParametersFragment
}
workSearchingJobs {
...OccupationMapperFragment
}
localityPreferences {
...PlaceFragment
}
workingPreference {
...WorkingPreferenceFragment
}
meansOfLocomotion
freelance {
...FreelanceFragment
}
contacts {
...ContactFragment
}
firstName
lastName
civility
languages {
...LanguageFragment
}
dateOfBirth
isoCountryOfBirth
isoNationality
createdAt
}
languages {
iso639_1
level
}
socialNetworks {
url
name
}
experiences {
id
organisation {
...OrganisationRawFragment
}
name
description
address {
...UserAddressFragment
}
}
interventions {
id
establishment
time
description
}
publications {
id
time
link
description
}
skills {
id
name
}
files {
id
type
name
createdAt
}
}
}
Variables
{"input": UserJobProfileGet}
Response
{
"data": {
"getJobProfile": {
"id": "4",
"description": "xyz789",
"user": User,
"languages": [Language],
"socialNetworks": [SocialNetwork],
"experiences": [Experiences],
"interventions": [Intervention],
"publications": [Publication],
"skills": [Skill],
"files": [MetadataFile]
}
}
}
queryApplication
Response
Returns an
ApplicationPayload!
Arguments
Name | Description |
---|---|
filter -
ApplicationFilter! |
Example
Query
query QueryApplication($filter: ApplicationFilter!) {
queryApplication(filter: $filter) {
data {
id
offer {
...OfferFragment
}
jobProfile {
...JobProfileFragment
}
entity {
...EntityFragment
}
state
cancelledAt
createdAt
motivationMessage
recruiterRefusalReason
recruiterRefusalMessage
}
}
}
Variables
{"filter": ApplicationFilter}
Response
{"data": {"queryApplication": {"data": [Application]}}}
queryEntity
Response
Returns an
EntitiesPayload!
Arguments
Name | Description |
---|---|
filter -
EntityFilter |
Example
Query
query QueryEntity($filter: EntityFilter) {
queryEntity(filter: $filter) {
data {
id
name
customID
siret
offers {
...OfferFragment
}
}
}
}
Variables
{"filter": EntityFilter}
Response
{"data": {"queryEntity": {"data": [Entity]}}}
version
Response
Returns a
String!
Example
Query
query Version {
version
}
Response
{ "data": { "version": {} } }
Mutations
applicationUpdateState
Response
Returns an
ApplicationUpdateStatePayload!
Arguments
Name | Description |
---|---|
id -
ID! | |
input -
ApplicationUpdateStateInput! |
Example
Query
mutation ApplicationUpdateState(
$id: ID!
$input: ApplicationUpdateStateInput!
) {
applicationUpdateState(id: $id, input: $input) {
ok
}
}
Variables
{"id": 4, "input": ApplicationUpdateStateInput}
Response
{ "data": { "applicationUpdateState": { "ok": false } } }
createApplicationOffer
Response
Returns an
Application
Arguments
Name | Description |
---|---|
input -
applicationOfferInput! |
Example
Query
mutation CreateApplicationOffer($input: applicationOfferInput!) {
createApplicationOffer(input: $input) {
id
offer {
id
archived
createdAt
updatedAt
deletedAt
customID
applications {
...ApplicationFragment
}
}
jobProfile {
id
description
user {
...UserFragment
}
languages {
...LanguageFragment
}
socialNetworks {
...SocialNetworkFragment
}
experiences {
...ExperiencesFragment
}
interventions {
...InterventionFragment
}
publications {
...PublicationFragment
}
skills {
...SkillFragment
}
files {
...MetadataFileFragment
}
}
entity {
id
name
customID
siret
offers {
...OfferFragment
}
}
state
cancelledAt
createdAt
motivationMessage
recruiterRefusalReason
recruiterRefusalMessage
}
}
Variables
{"input": applicationOfferInput}
Response
{
"data": {
"createApplicationOffer": {
"id": 4,
"offer": Offer,
"jobProfile": JobProfile,
"entity": Entity,
"state": "PENDING",
"cancelledAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"motivationMessage": "abc123",
"recruiterRefusalReason": "NOT_ENOUGH_EXPERIENCE",
"recruiterRefusalMessage": "abc123"
}
}
}
createCertifiedExperience
Response
Returns a
CreateCertifiedExperiencePayload
Arguments
Name | Description |
---|---|
input -
CreateCertifiedExperienceInput! |
Example
Query
mutation CreateCertifiedExperience($input: CreateCertifiedExperienceInput!) {
createCertifiedExperience(input: $input) {
experience {
id
organisation {
...OrganisationRawFragment
}
name
description
address {
...UserAddressFragment
}
job {
...OccupationDirectoryFragment
}
start
end
contract {
...ContractFragment
}
contractType
}
}
}
Variables
{"input": CreateCertifiedExperienceInput}
Response
{
"data": {
"createCertifiedExperience": {
"experience": WorkingExperience
}
}
}
ping
updateEntity
Response
Returns an
EntityPayload
Arguments
Name | Description |
---|---|
id -
ID! | |
input -
EntityInput! |
Example
Query
mutation UpdateEntity($id: ID!, $input: EntityInput!) {
updateEntity(id: $id, input: $input) {
entity {
id
name
customID
siret
offers {
...OfferFragment
}
}
}
}
Variables
{
"id": "4",
"input": EntityInput
}
Response
{"data": {"updateEntity": {"entity": Entity}}}
Types
Application
Description
An Application object represents an action that is initiated by a user who wishes to work for a recruiter through JobPass receptors. It involves sharing its JobPass data with the recruiter and can result in a hire or a rejection.
Fields
Field Name | Description |
---|---|
id -
ID! | |
offer -
Offer! | |
jobProfile -
JobProfile | Offer linked to the Application. It can be a JobOffer or Spontaneous |
entity -
Entity! | |
state -
ApplicationState! | |
cancelledAt -
DateTime | |
createdAt -
DateTime! | Date of the application |
motivationMessage -
String | Message that the user can add to his application before sending it |
recruiterRefusalReason -
ApplicationRefusalReason | Reason why the recruiter refuses the application |
recruiterRefusalMessage -
String | Additionnal message that the recruiter can send when he refuses the application |
Example
{
"id": "4",
"offer": Offer,
"jobProfile": JobProfile,
"entity": Entity,
"state": "PENDING",
"cancelledAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"motivationMessage": "xyz789",
"recruiterRefusalReason": "NOT_ENOUGH_EXPERIENCE",
"recruiterRefusalMessage": "xyz789"
}
ApplicationFilter
Fields
Input Field | Description |
---|---|
dateRange -
DateTimeRangeInput! | |
entityFilter -
EntityFilter |
Example
{}
ApplicationPayload
Fields
Field Name | Description |
---|---|
data -
[Application!] |
Example
{"data": [Application]}
ApplicationRefusalReason
Values
Enum Value | Description |
---|---|
| The user has not enough experience for this job |
| The user has not enough skill for this job |
| The recruiter has hired someone else for this job |
| The recruiter is no longer hiring |
|
Example
{}
ApplicationState
Values
Enum Value | Description |
---|---|
| The application has been sent by the user but hasn't bee treated by the recruiter |
| The recruiter has accepted the user's application |
| The recruiter has refused the user's application and has given a reason |
| The user has cancelled his application. The recruiter can't have access to his data anymore |
Example
{}
ApplicationUpdateStateInput
Fields
Input Field | Description |
---|---|
state -
ApplicationUpdateStateStates! |
Example
{}
ApplicationUpdateStatePayload
Fields
Field Name | Description |
---|---|
ok -
Boolean! |
Example
{ "ok": false }
ApplicationUpdateStateStates
Values
Enum Value | Description |
---|---|
| |
|
Example
{}
Boolean
Description
The Boolean
scalar type represents
true
or false
.
Example
{}
Certification
Fields
Field Name | Description |
---|---|
id -
ID! | |
organisation -
OrganisationRaw | |
name -
String! | |
description -
String | |
address -
UserAddress | |
delivered -
DateTime! | |
validity -
DateTime |
Example
{
"id": 4,
"organisation": OrganisationRaw,
"name": "abc123",
"description": "xyz789",
"address": UserAddress,
"delivered": "2007-12-03T10:15:30Z",
"validity": "2007-12-03T10:15:30Z"
}
Civility
Values
Enum Value | Description |
---|---|
| |
|
Example
{}
Contact
Contract
Description
Contract list standard
Fields
Field Name | Description |
---|---|
id -
ID! | Useless field |
name -
String! | Name Useless field |
type -
ContractType! | Type |
Example
{
"id": 4,
"name": "xyz789",
"type": "LIBERAL"
}
ContractResearchParameters
Fields
Field Name | Description |
---|---|
type -
ContractType! | |
duration -
Duration |
Example
{"type": "LIBERAL", "duration": Duration}
ContractType
Description
ContractType list contract time duration
Values
Enum Value | Description |
---|---|
| self-employement |
| unlimited time contract (CDI) |
| limited time contract (CDD) |
| interim contract |
| work/study training program |
| school-work program |
| common-interest association |
| school formation |
Example
{}
CreateCertifiedExperienceInput
Fields
Input Field | Description |
---|---|
entity -
EntityFilter! | The Entity ID that certify the experience |
experience -
ExperienceInput! | An experience that will be created and considered as certified |
user -
UserJobProfileGet! | The Jobprofile ID to add the experience on |
Example
{}
CreateCertifiedExperiencePayload
Fields
Field Name | Description |
---|---|
experience -
WorkingExperience |
Example
{"experience": WorkingExperience}
DataURI
Description
Data URI Scheme (RFC2397)
Example
{}
DateTime
Description
The DateTime scalar type represents date and time as a string in RFC3339 format. For example: "1985-04-12T23:20:50.52Z" represents 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC.
Example
{}
DateTimeRangeInput
Duration
EntitiesPayload
Fields
Field Name | Description |
---|---|
data -
[Entity!]! |
Example
{"data": [Entity]}
Entity
EntityFilter
EntityInput
Fields
Input Field | Description |
---|---|
customID -
String |
Example
{}
EntityPayload
Fields
Field Name | Description |
---|---|
entity -
Entity |
Example
{"entity": Entity}
ExperienceInput
Fields
Input Field | Description |
---|---|
jobName -
String! | The job name |
contract -
ContractType! | The job contract |
organisationName -
String! | The organisation name where the user worked in |
address -
UserAddressInput! | The city/country where the user worked at |
startedAt -
DateTime! | The beginning and end date of the experience. End is facultative |
endedAt -
DateTime |
Example
{}
Experiences
Description
Experience represents something that a user had done or is doing. It can be professional (see WorkingExperience), or personal (see Achievement)
Fields
Field Name | Description |
---|---|
id -
ID! | |
organisation -
OrganisationRaw | |
name -
String! | |
description -
String | |
address -
UserAddress |
Possible Types
Experiences Types |
---|
Example
{
"id": "4",
"organisation": OrganisationRaw,
"name": "abc123",
"description": "abc123",
"address": UserAddress
}
File
Fields
Field Name | Description |
---|---|
id -
ID! | |
metadata -
MetadataFile! | |
content -
DataURI! |
Example
{
"id": 4,
"metadata": MetadataFile,
"content": DataURI
}
FileType
Description
File types of candidates
Values
Enum Value | Description |
---|---|
| |
| Application files |
| |
| |
| |
| Personal files |
| |
| |
| |
| |
| Qualification files |
| |
| |
| |
| Capacitation files |
| |
| |
| |
|
Example
{}
Formation
Description
Achievement implementation represents the subset of experiences that are personal.
Fields
Field Name | Description |
---|---|
id -
ID! | |
organisation -
OrganisationRaw | |
name -
String! | |
description -
String | |
address -
UserAddress | |
delivered -
DateTime! |
Example
{
"id": "4",
"organisation": OrganisationRaw,
"name": "abc123",
"description": "abc123",
"address": UserAddress,
"delivered": "2007-12-03T10:15:30Z"
}
Freelance
Description
This type gives professional information on freelance information
Fields
Field Name | Description |
---|---|
siret -
String! |
Example
{ "siret": "abc123" }
HardSkill
ID
Description
The ID
scalar type represents a unique
identifier, often used to refetch an object or as key for
a cache. The ID type appears in a JSON response as a
String; however, it is not intended to be human-readable.
When expected as an input type, any string (such as "4")
or integer (such as 4) input value will be accepted as an
ID.
Example
{}
Int
Description
The Int
scalar type represents non-fractional
signed whole numeric values. Int can represent values
between -(2^31) and 2^31 - 1.
Example
{}
Intervention
JobOffer
Description
JobOffer is a job offer that has been detected by jobpass receptors.
Fields
Field Name | Description |
---|---|
id -
ID! | |
archived -
Boolean! | |
jobTitle -
String! | |
contract -
Contract | |
contractType -
ContractType | |
customID -
String | |
applications -
[Application!] | |
createdAt -
DateTime! | |
updatedAt -
DateTime! | |
deletedAt -
DateTime |
Example
{
"id": 4,
"archived": true,
"jobTitle": "abc123",
"contract": Contract,
"contractType": "LIBERAL",
"customID": "xyz789",
"applications": [Application],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deletedAt": "2007-12-03T10:15:30Z"
}
JobProfile
Description
JobProfile represents a user's digital resume.
Fields
Field Name | Description |
---|---|
id -
ID! | |
description -
String | |
user -
User! | |
languages -
[Language!] | |
socialNetworks -
[SocialNetwork!] | |
experiences -
[Experiences!]! | |
interventions -
[Intervention!] | |
publications -
[Publication!] | |
skills -
[Skill!]! | |
files -
[MetadataFile!] |
Example
{
"id": 4,
"description": "xyz789",
"user": User,
"languages": [Language],
"socialNetworks": [SocialNetwork],
"experiences": [Experiences],
"interventions": [Intervention],
"publications": [Publication],
"skills": [Skill],
"files": [MetadataFile]
}
Language
Fields
Field Name | Description |
---|---|
iso639_1 -
String! | iso639.1 |
level -
LanguageFluencyLevel! |
Example
{ "iso639_1": "abc123", "level": "NATIVE" }
LanguageFluencyLevel
Values
Enum Value | Description |
---|---|
| |
| |
| |
|
Example
{}
MeanOfLocomotion
Values
Enum Value | Description |
---|---|
| |
| |
| |
| |
|
Example
{}
MetadataFile
OccupationDirectory
Fields
Field Name | Description |
---|---|
id -
ID! | |
romeCode -
String! | French code that standardize jobs https://fr.wikipedia.org/wiki/R%C3%A9pertoire_op%C3%A9rationnel_des_m%C3%A9tiers_et_des_emplois |
romeName -
String! | French official name for the job |
iscoCode -
String! | European code that standardize jobs https://www.ilo.org/public/english/bureau/stat/isco/isco08/ |
iscoName -
String! | European official name for the job |
Example
{
"id": 4,
"romeCode": "abc123",
"romeName": "abc123",
"iscoCode": "abc123",
"iscoName": "xyz789"
}
OccupationMapper
Description
This field is used to map occupation on specific referencial. the field name is used when a user has entered an occupation name that could not be mapped on any referencial on our side, in this case only name field will be filled.
Fields
Field Name | Description |
---|---|
rome -
OccupationDirectory | |
name -
String |
Example
{
"rome": OccupationDirectory,
"name": "xyz789"
}
Offer
Description
An offer is an object that allows a recruiter to receive an application from a user. See DefaultOffer and PublishedOffer objects for more details.
Fields
Field Name | Description |
---|---|
id -
ID! | |
archived -
Boolean! | Is the offer active or archived |
createdAt -
DateTime! | Spontaneous application |
updatedAt -
DateTime! | |
deletedAt -
DateTime | |
customID -
String | |
applications -
[Application!] |
Possible Types
Offer Types |
---|
Example
{
"id": 4,
"archived": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deletedAt": "2007-12-03T10:15:30Z",
"customID": "xyz789",
"applications": [Application]
}
OrganisationRaw
Description
This is an organisation not known internally, that a candidate has given us, because we can't link it to any existing organisation, we created this object.
Fields
Field Name | Description |
---|---|
name -
String! |
Example
<pre
class="language-json"
tabindex="0"
><code class="hljs language-json">{"name": "abc123"}
Phone
Place
Fields
Field Name | Description |
---|---|
city -
String |
Example
{ "city": "abc123" }
Publication
Skill
SocialNetwork
SoftSkill
Spontaneous
Description
This implementation represents a spontaneous offer. The Spontaneous offer is created at recruiter's registration and allows them to receive spontaneous applications.
Example
{
"id": "4",
"archived": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deletedAt": "2007-12-03T10:15:30Z",
"customID": "abc123",
"applications": [Application]
}
String
Description
The String
scalar type represents textual
data, represented as UTF-8 character sequences. The String
type is most often used by GraphQL to represent free-form
human-readable text.
Example
{}
User
Fields
Field Name | Description |
---|---|
id -
ID! | |
verified -
Boolean! | |
available -
Boolean! | Available for work |
workSearchingStatus -
WorkSearchingStatus! | This expose the work searching status of the user, if you just want to know if the user is searching or not, use the available field instead |
workSearchingContracts -
[ContractResearchParameters!] | |
workSearchingJobs -
[OccupationMapper!] | |
localityPreferences -
[Place!] | |
workingPreference -
WorkingPreference | |
meansOfLocomotion -
[MeanOfLocomotion!] | |
freelance -
Freelance | |
contacts -
[Contact!] | |
firstName -
String! | |
lastName -
String! | |
civility -
Civility | |
languages -
[Language!] | this is data contained in the jobProfile, use JobProfile.languages instead |
dateOfBirth -
DateTime | |
isoCountryOfBirth -
String | ISO of the country in which the user was born, using iso-3166 |
isoNationality -
String | ISO of the user's nationality, using iso-3166 |
createdAt -
DateTime! |
Example
{
"id": 4,
"verified": false,
"available": false,
"workSearchingStatus": "ACTIVELY_SEARCHING",
"workSearchingContracts": [ContractResearchParameters],
"workSearchingJobs": [OccupationMapper],
"localityPreferences": [Place],
"workingPreference": WorkingPreference,
"meansOfLocomotion": ["CAR"],
"freelance": Freelance,
"contacts": [Contact],
"firstName": "xyz789",
"lastName": "xyz789",
"civility": "MISTER",
"languages": [Language],
"dateOfBirth": "2007-12-03T10:15:30Z",
"isoCountryOfBirth": "xyz789",
"isoNationality": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
UserAddress
Description
We use Google Maps API to get the address
Fields
Field Name | Description |
---|---|
id -
ID! | |
value -
String! | Concatenation of all fields : 'appartement 25, Entree B residence les Iris, 3 boulevard du levant, 95220, HERBLAY' |
verified -
Boolean! | |
addressComplement -
String | appartement 25, Entree B residence les Iris |
road -
String | 3 boulevard du levant |
postal_code -
String | 95220 |
city -
String | HERBLAY |
country -
String | France |
Example
{
"id": "4",
"value": "xyz789",
"verified": true,
"addressComplement": "xyz789",
"road": "abc123",
"postal_code": "xyz789",
"city": "abc123",
"country": "xyz789"
}
UserAddressInput
UserJobProfileGet
WorkSearchingStatus
Values
Enum Value | Description |
---|---|
| |
| |
|
Example
{}
WorkingExperience
Fields
Field Name | Description |
---|---|
id -
ID! | |
organisation -
OrganisationRaw | |
name -
String! | |
description -
String | |
address -
UserAddress | |
job -
OccupationDirectory | |
start -
DateTime! | |
end -
DateTime | |
contract -
Contract | |
contractType -
ContractType |
Example
{
"id": 4,
"organisation": OrganisationRaw,
"name": "xyz789",
"description": "xyz789",
"address": UserAddress,
"job": OccupationDirectory,
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"contract": Contract,
"contractType": "LIBERAL"
}
WorkingPreference
Fields
Field Name | Description |
---|---|
remotePreference -
WorkingRemotePreference |
Example
{ "remotePreference": "FULL_REMOTE" }
WorkingRemotePreference
Values
Enum Value | Description |
---|---|
| |
| |
| |
|
Example
{}
applicationOfferInput
Fields
Input Field | Description |
---|---|
entityFilter -
EntityFilter! | |
offerIdentification -
offerIdentification! | |
userIdentification -
userIdentification! |
Example
{}