get_job_external_publication
Read a job posting's internet listing
All MCP toolsRead
Read the internet-listing state of one job posting — what the internet-listing section of the employer app's job brief shows: the stored permission (mode, version, permissionStatus, the stated original listing date and deadline), the external-publication readiness of the posting's current content (the recruiting entity's disclosure items: name, address, contact, work content, place of work, wage, plus the Japan work-location condition), the posting version to pass on a grant, the market publication time and the public URL. Reads pass regardless of publication state. Permission, readiness and market publication are independent switches: the public face shows only while permissionStatus is permitted AND readiness.ready is true AND the posting is market-published. An unmet readiness item is fixed with update_job_posting (for example hiringOrganization.address).
Input schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The job whose internet listing to read (jobs.id)."
}
},
"required": [
"jobId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema
{
"type": "object",
"properties": {
"permission": {
"type": "object",
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"mode": {
"type": "string",
"enum": [
"market-only",
"indexable"
],
"description": "\"indexable\" = the employer permits the internet listing; \"market-only\" = not permitted (the default of every job)."
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647,
"description": "The permission's own version — pass as expectedPermissionVersion on the next write."
},
"permissionStatus": {
"type": "string",
"enum": [
"not-permitted",
"permitted",
"expired"
],
"description": "\"permitted\" = mode indexable and validThrough still ahead; \"expired\" = permitted but validThrough passed (renew the deadline to list again); \"not-permitted\" otherwise."
},
"policyVersion": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "null"
}
],
"description": "The disclosure policy version the permission was granted under; null until granted."
},
"originalPublishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "The employer's stated original listing date (ISO 8601, UTC); retained across renewals."
},
"validThrough": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "The application deadline the employer stated (ISO 8601, UTC); the listing expires at this instant."
},
"firstPublishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "When the public face first went live (ISO 8601, UTC); null until the first delivery."
},
"contentUpdatedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "When the public face last reflected a content change (ISO 8601, UTC); null until the first delivery."
},
"stopReason": {
"anyOf": [
{
"type": "string",
"enum": [
"withdrawn"
]
},
{
"type": "null"
}
],
"description": "\"withdrawn\" after withdraw_job_external_publication; null otherwise."
},
"evaluatedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "The database instant permissionStatus was judged at (ISO 8601, UTC)."
}
},
"required": [
"jobId",
"mode",
"version",
"permissionStatus",
"policyVersion",
"originalPublishedAt",
"validThrough",
"firstPublishedAt",
"contentUpdatedAt",
"stopReason",
"evaluatedAt"
],
"additionalProperties": false
},
"readiness": {
"type": "object",
"properties": {
"ready": {
"type": "boolean",
"description": "True ⇔ every item is met — the posting's content may be published externally."
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"employer_name",
"employer_address",
"employer_contact",
"work_content",
"place_of_work",
"wage",
"japan_work_location"
],
"description": "Which recruiting-entity disclosure (or cohort) item this is."
},
"met": {
"type": "boolean",
"description": "Whether the item's condition holds for this posting."
}
},
"required": [
"id",
"met"
],
"additionalProperties": false
},
"description": "Every external-publication item with its met/unmet state, in render order."
}
},
"required": [
"ready",
"items"
],
"additionalProperties": false,
"description": "External-publication readiness of a job posting (direct-display policy version 1): the recruiting entity's six disclosure items plus the Japan work-location condition, each met or unmet. Independent of the market publish gate and of the stored permission."
},
"postingVersion": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
{
"type": "number",
"const": 0
}
],
"description": "Latest job_versions version — pass as expectedPostingVersion on a grant."
},
"publishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "Non-null ⇔ the posting is market-published (ADR-0082); a grant needs it."
},
"publicUrl": {
"type": "string",
"description": "The public page's URL — absolute when the deployment states its public web origin, app-relative otherwise. The page answers only while the listing is live."
}
},
"required": [
"permission",
"readiness",
"postingVersion",
"publishedAt",
"publicUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}