Puesto Labs
IntroductionAuthenticationPagination & sortingSyncing with the changes feedErrorsRate limitsBuilding with AI

Here you can add a description about your company or product

© Copyright 2026 Puesto Labs. All Rights Reserved.

About
  • Blog
  • Contact
Product
  • Documentation
  • llms.txt
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
Puesto Docs

Get a job by id

GET
/api/v1/jobs/{id}

Retrieve a single job by its numeric id, including its full company record, both description renderings, and its resolved locations — the same location shape the list endpoint returns, so a job looks identical in both. Closed jobs remain retrievable.

Authorization

bearerAuth
AuthorizationBearer <token>

Provide your secret API key (prefixed sk_) as a bearer token: Authorization: Bearer sk_....

In: header

Path Parameters

id*integer

The numeric job id.

Range1 <= value

Query Parameters

include?"source"

RESTRICTED. When set to source, attach the job's source identity (type and external_id, plus the board's other spellings as alias_ids) to each result. Requires the source_identity feature entitlement on the calling account; keys without it receive 403. Not available on self-serve plans — contact us if you need it.

Value in

  • "source"

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/api/v1/jobs/1"
{  "id": 0,  "source_id": 0,  "company_id": 0,  "external_job_id": "string",  "url": "string",  "apply_url": "string",  "title": "string",  "location": "string",  "locations": [    {      "kind": "country",      "code": "string",      "name": "string",      "admin1_name": "string",      "country_code": "string"    }  ],  "workplace": "remote",  "employment_type": "full_time",  "level": "intern",  "experience_min_years": 0,  "experience_max_years": 0,  "sponsors_visa": true,  "skills": [    {      "slug": "string",      "name": "string",      "kind": "string",      "requirement": "required"    }  ],  "language": "string",  "salary_raw": "string",  "salary_min": 0,  "salary_max": 0,  "salary_currency": "string",  "salary_period": "year",  "posted_at": "string",  "expires_at": "string",  "content_hash": "string",  "first_seen_at": "string",  "closed_at": "string",  "created_at": "string",  "updated_at": "string",  "source": {    "type": "string",    "external_id": "string",    "alias_ids": [      "string"    ]  },  "description_md": "string",  "description_html": "string",  "company": {    "id": 0,    "name": "string",    "website_url": "string",    "logo_url": "string",    "industry": "string",    "size_range": "string",    "founded_year": 0,    "is_agency": true,    "linkedin_id": "string",    "created_at": "string",    "updated_at": "string"  }}
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "errors": [    {      "field": "string",      "message": "string"    }  ]}
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "errors": [    {      "field": "string",      "message": "string"    }  ]}
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "errors": [    {      "field": "string",      "message": "string"    }  ]}
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "errors": [    {      "field": "string",      "message": "string"    }  ]}
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "errors": [    {      "field": "string",      "message": "string"    }  ]}