StackOne Job Postings API
The Job Postings API from StackOne — 2 operation(s) for job postings.
The Job Postings API from StackOne — 2 operation(s) for job postings.
openapi: 3.0.0
info:
title: Marketing Accounts Job Postings API
description: The documentation for the StackOne Unified API - MARKETING
contact: {}
version: 1.0.0
servers:
- url: https://api.stackone.com
tags:
- name: Job Postings
paths:
/unified/ats/job_postings/{id}:
get:
tags:
- Job Postings
summary: Get Job Posting
operationId: ats_get_job_posting
parameters:
- name: x-account-id
in: header
description: The account identifier
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
- name: page
in: query
description: The page number of the results to fetch
schema:
type: string
- name: page_size
in: query
description: The number of results per page
schema:
type: string
default: '25'
- name: raw
in: query
description: Indicates that the raw request result is returned
schema:
type: boolean
default: false
- name: fields
in: query
description: The comma separated list of fields to return in the response (if empty, all fields are returned)
schema:
type: string
default: ''
example: id,title,locations,internal,status,job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,updated_at,created_at
- name: sync_token
in: query
description: The sync token to select the only updated results
schema:
type: string
- name: updated_after
in: query
description: Use a string with a date to only select results updated after that given date
schema:
type: string
example: '2020-01-01T00:00:00.000Z'
- name: include
in: query
description: The comma separated list of fields that will be included in the response
schema:
type: string
default: ''
example: questionnaires
- name: proxy
in: query
description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key
style: deepObject
explode: true
schema:
type: object
additionalProperties: true
example:
proxy:
custom_filter_param: '123'
filter[eq][name]: Luke
responses:
'500':
description: Server error while executing the request.
'501':
description: This functionality is not implemented.
'200':
description: The job with the given identifier was retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPostingResult'
'400':
description: Invalid request.
'403':
description: Forbidden.
'412':
description: 'Precondition failed: linked account belongs to a disabled integration.'
'429':
description: Too many requests.
security:
- basic: []
x-speakeasy-group: ats
x-speakeasy-name-override: get_job_posting
/unified/ats/job_postings:
get:
tags:
- Job Postings
summary: List Job Postings
operationId: ats_list_job_postings
parameters:
- name: x-account-id
in: header
description: The account identifier
required: true
schema:
type: string
- name: page
in: query
description: The page number of the results to fetch
schema:
type: string
- name: page_size
in: query
description: The number of results per page
schema:
type: string
default: '25'
- name: raw
in: query
description: Indicates that the raw request result is returned
schema:
type: boolean
default: false
- name: fields
in: query
description: The comma separated list of fields to return in the response (if empty, all fields are returned)
schema:
type: string
default: ''
example: id,title,locations,internal,status,job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,updated_at,created_at
- name: sync_token
in: query
description: The sync token to select the only updated results
schema:
type: string
- name: updated_after
in: query
description: Use a string with a date to only select results updated after that given date
schema:
type: string
example: '2020-01-01T00:00:00.000Z'
- name: include
in: query
description: The comma separated list of fields that will be included in the response
schema:
type: string
default: ''
example: questionnaires
- name: proxy
in: query
description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key
style: deepObject
explode: true
schema:
type: object
additionalProperties: true
example:
proxy:
filter[eq][name]: Luke
custom_filter_param: '123'
responses:
'200':
description: The list of job postings was retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPostingsPaginated'
'400':
description: Invalid request.
'403':
description: Forbidden.
'412':
description: 'Precondition failed: linked account belongs to a disabled integration.'
'429':
description: Too many requests.
'500':
description: Server error while executing the request.
'501':
description: This functionality is not implemented.
security:
- basic: []
x-speakeasy-group: ats
x-speakeasy-name-override: list_job_postings
components:
schemas:
JobPostingsPaginated:
type: object
properties:
raw:
type: string
next_page:
type: string
data:
type: array
items:
$ref: '#/components/schemas/JobPosting'
required:
- next_page
- data
Content:
type: object
properties:
html:
type: string
plain:
type: string
AnswerEnum:
type: object
properties:
value:
type: string
enum:
- short_text
- long_text
- attachment
- multi_select
- single_select
- boolean
- number
- date
source_value:
type: string
Answer:
type: object
properties:
values:
type: array
items:
type: string
id:
type: string
type:
$ref: '#/components/schemas/AnswerEnum'
required:
- values
Questionnaire:
type: object
properties:
id:
type: string
answers:
type: array
items:
$ref: '#/components/schemas/Answer'
required:
- answers
Location:
type: object
properties:
name:
type: string
id:
type: string
JobPostingResult:
type: object
properties:
raw:
type: string
data:
$ref: '#/components/schemas/JobPosting'
required:
- data
Compensation:
type: object
properties:
name:
type: string
type:
type: string
enum:
- salary
- hourly
- commission
- bonus
- equity
- other
- unmapped_value
pay_period:
type: string
enum:
- hour
- day
- week
- every_two_weeks
- month
- quarter
- every_six_months
- year
- none
- unmapped_value
pay_frequency:
type: string
enum:
- hourly
- weekly
- bi_weekly
- four_weekly
- semi_monthly
- monthly
- bi_monthly
- quarterly
- semi_annually
- yearly
- thirteen_monthly
- pro_rata
- unmapped_value
- half_yearly
currency:
type: string
value:
type: string
min_value:
type: string
max_value:
type: string
JobPosting:
type: object
properties:
status:
type: string
enum:
- live
- draft
- closed
- unmapped_value
example: live
external_url:
type: string
example: https://www.example.com/job-posting/abcd1234
job_id:
type: string
example: job001
external_apply_url:
type: string
example: https://www.example.com/job-posting/abcd1234/apply
internal:
type: string
enum:
- 'true'
- 'false'
example: 'true'
updated_at:
type: string
example: '2023-08-24T12:00:00Z'
compensation:
type: array
items:
$ref: '#/components/schemas/Compensation'
example:
- currency: USD
max_value: '55000'
min_value: '45000'
name: Base Salary
pay_frequency: yearly
pay_period: month
type: salary
value: '50000'
- currency: USD
name: Bonus
pay_frequency: quarterly
type: bonus
value: 10%
created_at:
type: string
example: '2023-01-01T12:00:00Z'
id:
type: string
example: abcd1234
employment_type:
type: string
enum:
- permanent
- contractor
- intern
- apprentice
- freelance
- temporary
- seasonal
- volunteer
- unmapped_value
example: permanent
locations:
type: array
items:
$ref: '#/components/schemas/Location'
example:
- id: '12345'
name: New York
- id: '67890'
name: Remote
title:
type: string
example: Software Engineer
employment_contract_type:
type: string
enum:
- full_time
- shifts
- part_time
- unmapped_value
example: full_time
content:
allOf:
- $ref: '#/components/schemas/Content'
example:
plain: This is a plain text description
html: <p>This is an HTML description</p>
questionnaires:
type: array
items:
$ref: '#/components/schemas/Questionnaire'
example:
- id: about001
name: About
questions:
- id: question001
required: true
text: What is your name?
type: short_text
- id: question002
required: false
text: What are your hobbies?
type: long_text
- id: question003
multiple_choice_answers:
- id: '1'
text: Dog
- id: '2'
text: Cat
- id: '3'
text: Bird
- id: '4'
text: Other
required: true
text: What is your favorite animal?
type: single_select
- id: experience001
name: Experience
questions:
- id: question004
required: true
text: Please upload your resume.
type: attachment
- id: question005
multiple_choice_answers:
- id: '1'
text: JavaScript
- id: '2'
text: Python
- id: '3'
text: Java
required: true
text: Select the programming languages you are proficient in.
type: multi_select
- id: question006
text: Are you willing to relocate?
type: boolean
- id: question007
text: How many years of experience do you have?
type: number
- id: question008
text: When did you start your most recent position?
type: date
required:
- id
securitySchemes:
basic:
type: http
scheme: basic