Tool ID:
sumble_jobsRun this action
Use the TypeScript SDK for a single call. Putctx.tools.execute(...) inside a Play when the call should be durable, scheduled, or run across a CSV.
import { Deepline } from 'deepline';
const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
'sumble_jobs',
{
"select": {
"attributes": [],
"related_people": {
"attributes": [],
"limit": 5,
"job_levels": []
}
}
},
);
console.log(result.toolResponse.raw);
CLI
deepline tools execute sumble_jobs --input '{
"select": {
"attributes": [],
"related_people": {
"attributes": [],
"limit": 5,
"job_levels": []
}
}
}' --json
Example response
The SDK exposes this shape atresult.toolResponse.raw. Values below are representative.
{
"data": {
"id": "123e4567-e89b-42d3-a456-426614174000",
"jobs": [
{
"input": {
"job_id": 123
},
"job_id": 1,
"sumble_url": "https://example.com"
}
],
"total": 123
}
}
deepline tools get sumble_jobs --json for the latest machine-readable contract.
Input reference
Unified jobs endpoint| Name | Type | Required | Default | Details |
|---|---|---|---|---|
payload.jobs | array | No | — | List of jobs to enrich by id. One result row per entry, in input order. Mutually exclusive with filter. Minimum items: 1. Maximum items: 1000. |
payload.filter | object | No | — | Query selecting the jobs to return. Mutually exclusive with jobs. |
payload.select | object | Yes | — | — |
payload.limit | integer | No | 10 | Maximum number of jobs to return (filter mode only; ignored when jobs is provided). Minimum: 1. Maximum: 200. |
payload.offset | integer | No | 0 | Number of results to skip (filter mode only; ignored when jobs is provided). Minimum: 0. Maximum: 10000. |
Output reference
Standard tool result payload.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
result.data | object | Yes | — | Provider response payload. |
result.data.id | string | Yes | — | Format: uuid. |
result.data.jobs | array | Yes | — | — |
result.data.jobs[].input | object | null | No | — | The input entry this row corresponds to (list mode only). |
result.data.jobs[].input.job_id | integer | Yes | — | Job id on Sumble. Minimum: 1. |
result.data.jobs[].job_id | integer | null | No | — | Absent when the input entry didn’t match a Sumble job. |
result.data.jobs[].sumble_url | string | null | No | — | Link to the job posting’s Sumble page. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].attributes | object | null | No | — | The requested job attributes; absent when none are requested. |
result.data.jobs[].attributes.title | string | null | No | — | — |
result.data.jobs[].attributes.description | string | null | No | — | — |
result.data.jobs[].attributes.location | string | null | No | — | — |
result.data.jobs[].attributes.posted_date | string | null | No | — | Format: date-time. |
result.data.jobs[].attributes.organization | object | null | No | — | — |
result.data.jobs[].attributes.organization.organization_id | integer | Yes | — | — |
result.data.jobs[].attributes.organization.name | string | null | No | — | — |
result.data.jobs[].attributes.organization.domain | string | null | No | — | — |
result.data.jobs[].attributes.organization.sumble_url | string | null | No | — | Link to the organization’s Sumble profile page. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].attributes.technologies | array | null | No | — | All technologies extracted from the posting; empty list when requested but none were extracted. |
result.data.jobs[].attributes.technologies[].name | string | Yes | — | — |
result.data.jobs[].attributes.technologies[].slug | string | Yes | — | — |
result.data.jobs[].attributes.technologies[].used | boolean | Yes | — | True when the posting indicates the technology is used by the team, not merely mentioned. |
result.data.jobs[].attributes.technologies[].sumble_url | string | null | No | — | The posting organization’s jobs page filtered to this technology. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].attributes.teams | array | null | No | — | Teams extracted from the posting; empty list when requested but none were extracted. |
result.data.jobs[].attributes.teams[].team_id | integer | Yes | — | — |
result.data.jobs[].attributes.teams[].name | string | Yes | — | — |
result.data.jobs[].attributes.teams[].slug | string | Yes | — | — |
result.data.jobs[].attributes.teams[].sumble_url | string | null | No | — | Link to the team’s Sumble page. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].attributes.job_functions | array | null | No | — | Job functions classified from the posting; empty list when requested but none were classified. |
result.data.jobs[].attributes.job_functions[].name | string | Yes | — | — |
result.data.jobs[].attributes.job_functions[].slug | string | Yes | — | — |
result.data.jobs[].attributes.job_functions[].sumble_url | string | null | No | — | The posting organization’s jobs page filtered to this job function. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].attributes.job_levels | array | null | No | — | Seniority levels classified from the posting; empty list when requested but none were classified. |
result.data.jobs[].attributes.job_levels[].name | string | Yes | — | — |
result.data.jobs[].attributes.projects | array | null | No | — | Projects extracted from the posting; empty list when requested but none were extracted. |
result.data.jobs[].attributes.projects[].name | string | Yes | — | — |
result.data.jobs[].attributes.projects[].slug | string | Yes | — | — |
result.data.jobs[].attributes.projects[].goal | string | null | No | — | — |
result.data.jobs[].attributes.projects[].sumble_url | string | null | No | — | The posting organization’s jobs page filtered to this project. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].related_people | array | null | No | — | Scored hiring managers / team members for the job. Present (possibly empty) when select.related_people is requested and the job matched; absent otherwise. |
result.data.jobs[].related_people[].person_id | integer | Yes | — | — |
result.data.jobs[].related_people[].sumble_url | string | Yes | — | Link to the person’s Sumble profile page. Format: uri. Minimum length: 1. Maximum length: 2083. |
result.data.jobs[].related_people[].confidence | object | null | No | — | Why this person was returned: confidence score (0-1) with per-category and per-feature breakdowns. Present when the confidence attribute is requested. Not the ICP-based person_score. |
result.data.jobs[].related_people[].confidence.score | number | Yes | — | How strongly this person relates to the source person (people endpoint) or job posting (jobs endpoint), 0-1. Sum of the five contributions below. Measures similarity on shared features (technologies, job functions, teams, locations, job titles) — unrelated to the ICP-based person_score attribute. |
result.data.jobs[].related_people[].confidence.technology_contribution | number | Yes | — | Share from technologies shared with the source. |
result.data.jobs[].related_people[].confidence.job_function_contribution | number | Yes | — | Share from matching job functions. |
result.data.jobs[].related_people[].confidence.team_contribution | number | Yes | — | Share from shared teams. |
result.data.jobs[].related_people[].confidence.location_contribution | number | Yes | — | Share from matching locations. |
result.data.jobs[].related_people[].confidence.title_similarity_contribution | number | Yes | — | Share from semantic similarity between job titles. |
result.data.jobs[].related_people[].confidence.matched_features | array | Yes | — | The specific matched features behind the contributions, highest contribution first. |
result.data.jobs[].related_people[].confidence.matched_features[].match_type | "technology" | "job_function" | "team" | "location" | "title_similarity" | Yes | — | Allowed: technology, job_function, team, location, title_similarity. |
This output schema is too large to embed without slowing the page. Get the complete live contract with
deepline tools get sumble_jobs --json.Deepline cost
- Pricing model:
fixed(per call). - Estimated Deepline credits:
0per pricing unit. - Provider-native pricing may still exist outside Deepline credit billing.