StackOne Job Postings API

The Job Postings API from StackOne — 2 operation(s) for job postings.

OpenAPI Specification

stackone-job-postings-api-openapi.yml Raw ↑
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