Eightfold AI · Schema

CreateOrUpdateOfferSchema

Talent IntelligenceTalent AcquisitionTalent ManagementAI InterviewingHuman ResourcesWorkforce PlanningAI Agents

Properties

Name Type Description
createdAt integernull Timestamp of when the offer was created
stockVestingFrequency stringnull Stock vesting frequency
versions arraynull All versions of the offer
payGradeExternalId stringnull External ID of the pay grade
stockOptionsType stringnull Type of stock options
offerStatus stringnull status of the offer
profileId stringnull unique identifier for profile
candidateAddress stringnull Candidate address
currency stringnull Currency for compensation
version stringnull Version of the offer
groupId stringnull group id
jobTitle stringnull Job title
relocationBonus numbernull Relocation bonus amount
workplaceType stringnull Workplace type. Possible values: ['remote_global', 'remote_local', 'hybrid', 'onsite']
displayOfferId stringnull Offer display id
payGradeId integernull Pay grade of the offer
variableBonus numbernull Variable bonus amount
note stringnull Additional notes
customInfo objectnull Custom info
jobLocation stringnull Job location
bonusPayFrequency stringnull Bonus pay frequency
offerId integernull Offer id
templateId integernull Template id of the template used to create the offer
countryCode stringnull Country code
offerLetter objectnull Offer letter details
visaType stringnull Visa type
candidateEmail stringnull Candidate email address
isPeopleManagerRole booleannull Whether this is a people manager role
watchers arraynull Watchers (email list)
joiningTs integernull Joining timestamp in seconds since epoch
isRehire booleannull Whether this is a rehire
stockOptionsDescription stringnull Stock options description
stockOptionsTotalVestingYears integernull Total years for stock options vesting
stockVestingStartTs integernull Stock vesting start timestamp in seconds since epoch
updatedAt integernull Timestamp of when the offer was last updated
salaryAmount numbernull Base salary amount
shiftAllowance numbernull Shift allowance amount
stockOptionsAmount numbernull Stock options amount
totalCompensation numbernull Total compensation amount
createdBy stringnull User email who created the offer
basePayFrequency stringnull Base pay frequency
candidateFullName stringnull Candidate full name
atsData object ATS-system metadata
joiningBonus numbernull Joining bonus amount
stockOptionsPercentageVesting arraynull Stock options vesting percentages per period (list of ints)
positionId integernull job id
applicationId integernull application id
View JSON Schema on GitHub

JSON Schema

eightfold-ai-create-or-update-offer-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/eightfold-ai/main/json-schema/eightfold-ai-create-or-update-offer-schema-schema.json",
  "title": "CreateOrUpdateOfferSchema",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/eightfold-ai-api-server-v2-service-service-openapi.yml#/components/schemas/CreateOrUpdateOfferSchema",
  "type": "object",
  "properties": {
    "createdAt": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "Timestamp of when the offer was created"
    },
    "stockVestingFrequency": {
      "type": [
        "string",
        "null"
      ],
      "description": "Stock vesting frequency"
    },
    "versions": {
      "type": [
        "array",
        "null"
      ],
      "readOnly": true,
      "description": "All versions of the offer",
      "items": {
        "type": "string"
      }
    },
    "payGradeExternalId": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "External ID of the pay grade"
    },
    "stockOptionsType": {
      "type": [
        "string",
        "null"
      ],
      "description": "Type of stock options"
    },
    "offerStatus": {
      "type": [
        "string",
        "null"
      ],
      "description": "status of the offer"
    },
    "profileId": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "unique identifier for profile"
    },
    "candidateAddress": {
      "type": [
        "string",
        "null"
      ],
      "description": "Candidate address"
    },
    "currency": {
      "type": [
        "string",
        "null"
      ],
      "description": "Currency for compensation"
    },
    "version": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "Version of the offer"
    },
    "groupId": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "group id"
    },
    "jobTitle": {
      "type": [
        "string",
        "null"
      ],
      "description": "Job title"
    },
    "relocationBonus": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Relocation bonus amount"
    },
    "workplaceType": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "remote_global",
        "remote_local",
        "hybrid",
        "onsite"
      ],
      "description": "Workplace type. Possible values: ['remote_global', 'remote_local', 'hybrid', 'onsite']"
    },
    "displayOfferId": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "Offer display id"
    },
    "payGradeId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Pay grade of the offer"
    },
    "variableBonus": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Variable bonus amount"
    },
    "note": {
      "type": [
        "string",
        "null"
      ],
      "description": "Additional notes"
    },
    "customInfo": {
      "type": [
        "object",
        "null"
      ],
      "description": "Custom info"
    },
    "jobLocation": {
      "type": [
        "string",
        "null"
      ],
      "description": "Job location"
    },
    "bonusPayFrequency": {
      "type": [
        "string",
        "null"
      ],
      "description": "Bonus pay frequency"
    },
    "offerId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "Offer id"
    },
    "templateId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Template id of the template used to create the offer"
    },
    "countryCode": {
      "type": [
        "string",
        "null"
      ],
      "description": "Country code"
    },
    "offerLetter": {
      "type": [
        "object",
        "null"
      ],
      "readOnly": true,
      "description": "Offer letter details"
    },
    "visaType": {
      "type": [
        "string",
        "null"
      ],
      "description": "Visa type"
    },
    "candidateEmail": {
      "type": [
        "string",
        "null"
      ],
      "description": "Candidate email address"
    },
    "isPeopleManagerRole": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether this is a people manager role"
    },
    "watchers": {
      "type": [
        "array",
        "null"
      ],
      "description": "Watchers (email list)",
      "items": {
        "type": "string"
      }
    },
    "joiningTs": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Joining timestamp in seconds since epoch"
    },
    "isRehire": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether this is a rehire"
    },
    "stockOptionsDescription": {
      "type": [
        "string",
        "null"
      ],
      "description": "Stock options description"
    },
    "stockOptionsTotalVestingYears": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Total years for stock options vesting"
    },
    "stockVestingStartTs": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Stock vesting start timestamp in seconds since epoch"
    },
    "updatedAt": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "Timestamp of when the offer was last updated"
    },
    "salaryAmount": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Base salary amount"
    },
    "shiftAllowance": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Shift allowance amount"
    },
    "stockOptionsAmount": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Stock options amount"
    },
    "totalCompensation": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Total compensation amount"
    },
    "createdBy": {
      "type": [
        "string",
        "null"
      ],
      "readOnly": true,
      "description": "User email who created the offer"
    },
    "basePayFrequency": {
      "type": [
        "string",
        "null"
      ],
      "description": "Base pay frequency"
    },
    "candidateFullName": {
      "type": [
        "string",
        "null"
      ],
      "description": "Candidate full name"
    },
    "atsData": {
      "nullable": true,
      "description": "ATS-system metadata",
      "allOf": [
        {
          "$ref": "#/$defs/OfferAtsData"
        }
      ]
    },
    "joiningBonus": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "Joining bonus amount"
    },
    "stockOptionsPercentageVesting": {
      "type": [
        "array",
        "null"
      ],
      "description": "Stock options vesting percentages per period (list of ints)",
      "items": {
        "type": "integer",
        "format": "int32"
      }
    },
    "positionId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "job id"
    },
    "applicationId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "application id"
    }
  },
  "$defs": {
    "OfferAtsData": {
      "type": "object",
      "properties": {
        "atsOfferData": {
          "nullable": true,
          "description": "ATS offer payload (application status, document collections)",
          "allOf": [
            {
              "$ref": "#/$defs/OfferAtsOfferData"
            }
          ]
        },
        "atsApplicationId": {
          "type": [
            "string",
            "null"
          ],
          "description": "ATS application id"
        },
        "atsCandidateId": {
          "type": [
            "string",
            "null"
          ],
          "description": "ATS candidate id"
        }
      }
    },
    "OfferAtsDocument": {
      "type": "object",
      "properties": {
        "createdAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Creation timestamp"
        },
        "statusQueryUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL to query document status"
        },
        "documentName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Document name"
        },
        "underRevision": {
          "type": [
            "string",
            "null"
          ],
          "description": "Whether the document is under revision"
        },
        "signingUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "Signing URL for the document"
        },
        "documentType": {
          "type": [
            "string",
            "null"
          ],
          "description": "Document type"
        },
        "updatedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Last updated timestamp"
        },
        "documentStatus": {
          "type": [
            "string",
            "null"
          ],
          "description": "Document status"
        }
      }
    },
    "OfferAtsDocumentCollection": {
      "type": "object",
      "properties": {
        "collectionType": {
          "type": [
            "string",
            "null"
          ],
          "description": "Type of the document collection"
        },
        "signatureProvider": {
          "type": [
            "string",
            "null"
          ],
          "description": "Signature provider for the collection"
        },
        "documents": {
          "description": "Documents in the collection",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/OfferAtsDocument"
          }
        },
        "updatedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Last updated timestamp"
        }
      }
    },
    "OfferAtsOfferData": {
      "type": "object",
      "properties": {
        "applicationStatus": {
          "type": [
            "string",
            "null"
          ],
          "description": "ATS application status"
        },
        "documentCollections": {
          "description": "ATS document collections (e.g. signing-URL groupings)",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/OfferAtsDocumentCollection"
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eightfold-ai-create-or-update-offer-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.