Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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 API
curl "https://apis.io/api/v1/apis/lastmileai:lastmileai-pseudo-label-job-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
title: Lastmileai Pseudo Label Job API
version: '2.0'
description: 'Operations tagged Pseudo Label Job across 2 of this provider''s published API definitions: model.json, lastmileai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://lastmileai.dev
description: Production server - LastMile AI
security:
- BearerAuth: []
tags:
- name: Pseudo Label Job
paths:
/api/2/auto_eval/pseudo_label_job/create:
post:
tags:
- Pseudo Label Job
summary: Create Pseudo Label Job
operationId: CreatePseudoLabelJob
description: 'Step 1 of 2: Create a new job configuration for LLM Judge labeling, to be
subsequently submitted by calling SubmitPseudoLabelJob.'
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.CreatePseudoLabelJobRequest'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.CreatePseudoLabelJobResponse'
x-codeSamples:
- lang: JavaScript
source: "import Lastmile from 'lastmile';\n\nconst client = new Lastmile({\n bearerToken: process.env['LASTMILE_API_TOKEN'], // This is the default and can be omitted\n});\n\nasync function main() {\n const labelDatasetJob = await client.labelDatasetJobs.create({\n pseudoLabelJobConfig: {\n baseEvaluationMetric: 'BASE_EVALUATION_METRIC_UNSPECIFIED',\n datasetId: 'datasetId',\n promptTemplate: { id: 'id', template: 'template' },\n selectedColumns: ['string'],\n skipActiveLabeling: true,\n },\n });\n\n console.log(labelDatasetJob.jobId);\n}\n\nmain();"
- lang: Python
source: "import os\nfrom lastmile import Lastmile\n\nclient = Lastmile(\n bearer_token=os.environ.get(\"LASTMILE_API_TOKEN\"), # This is the default and can be omitted\n)\nlabel_dataset_job = client.label_dataset_jobs.create(\n pseudo_label_job_config={\n \"base_evaluation_metric\": \"BASE_EVALUATION_METRIC_UNSPECIFIED\",\n \"dataset_id\": \"datasetId\",\n \"prompt_template\": {\n \"id\": \"id\",\n \"template\": \"template\",\n },\n \"selected_columns\": [\"string\"],\n \"skip_active_labeling\": True,\n },\n)\nprint(label_dataset_job.job_id)"
servers:
- url: https://lastmileai.dev
description: Production server - LastMile AI
/api/2/auto_eval/pseudo_label_job/submit:
post:
tags:
- Pseudo Label Job
summary: Submit Pseudo Label Job
operationId: SubmitPseudoLabelJob
description: 'Step 2 of 2: Submit the job configuration created by CreatePseudoLabelJob
to initiate an LLM Judge labeling job.'
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.SubmitPseudoLabelJobRequest'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.SubmitPseudoLabelJobResponse'
x-codeSamples:
- lang: JavaScript
source: "import Lastmile from 'lastmile';\n\nconst client = new Lastmile({\n bearerToken: process.env['LASTMILE_API_TOKEN'], // This is the default and can be omitted\n});\n\nasync function main() {\n const response = await client.labelDatasetJobs.submit({\n jobId: 'jobId',\n pseudoLabelJobConfig: {\n baseEvaluationMetric: 'BASE_EVALUATION_METRIC_UNSPECIFIED',\n datasetId: 'datasetId',\n promptTemplate: { id: 'id', template: 'template' },\n selectedColumns: ['string'],\n skipActiveLabeling: true,\n },\n });\n\n console.log(response.jobId);\n}\n\nmain();"
- lang: Python
source: "import os\nfrom lastmile import Lastmile\n\nclient = Lastmile(\n bearer_token=os.environ.get(\"LASTMILE_API_TOKEN\"), # This is the default and can be omitted\n)\nresponse = client.label_dataset_jobs.submit(\n job_id=\"jobId\",\n pseudo_label_job_config={\n \"base_evaluation_metric\": \"BASE_EVALUATION_METRIC_UNSPECIFIED\",\n \"dataset_id\": \"datasetId\",\n \"prompt_template\": {\n \"id\": \"id\",\n \"template\": \"template\",\n },\n \"selected_columns\": [\"string\"],\n \"skip_active_labeling\": True,\n },\n)\nprint(response.job_id)"
servers:
- url: https://lastmileai.dev
description: Production server - LastMile AI
/api/2/auto_eval/pseudo_label_job/get_status:
post:
tags:
- Pseudo Label Job
summary: Get Pseudo Label Job Status
operationId: GetPseudoLabelJobStatus
description: Get the status of an existing job, including any results.
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.GetPseudoLabelJobStatusRequest'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/lmai.proto.webserver.v2.GetPseudoLabelJobStatusResponse'
x-codeSamples:
- lang: JavaScript
source: "import Lastmile from 'lastmile';\n\nconst client = new Lastmile({\n bearerToken: process.env['LASTMILE_API_TOKEN'], // This is the default and can be omitted\n});\n\nasync function main() {\n const response = await client.labelDatasetJobs.getStatus({ jobId: 'jobId' });\n\n console.log(response.pseudoLabelJobResult);\n}\n\nmain();"
- lang: Python
source: "import os\nfrom lastmile import Lastmile\n\nclient = Lastmile(\n bearer_token=os.environ.get(\"LASTMILE_API_TOKEN\"), # This is the default and can be omitted\n)\nresponse = client.label_dataset_jobs.get_status(\n job_id=\"jobId\",\n)\nprint(response.pseudo_label_job_result)"
servers:
- url: https://lastmileai.dev
description: Production server - LastMile AI
components:
schemas:
lmai.proto.webserver.v2.SubmitPseudoLabelJobResponse:
title: SubmitPseudoLabelJobResponse
type: object
properties:
jobId:
type: string
required:
- jobId
lmai.proto.webserver.v2.GetPseudoLabelJobStatusResponse:
title: GetPseudoLabelJobStatusResponse
type: object
properties:
status:
type: string
enum:
- JOB_STATUS_UNSPECIFIED
- JOB_STATUS_QUEUED
- JOB_STATUS_RUNNING
- JOB_STATUS_COMPLETED
- JOB_STATUS_CANCELLED
- JOB_STATUS_FAILED
title: JobStatus
pseudoLabelJobResult:
$ref: '#/components/schemas/lmai.proto.webserver.v2.PseudoLabelJobConfig'
required:
- status
- pseudoLabelJobResult
lmai.proto.model_fine_tuning.v1.PromptTemplate:
title: PromptTemplate
type: object
properties:
id:
type: string
template:
type: string
description: The template string that defines the prompt
required:
- id
- template
lmai.proto.webserver.v2.SubmitPseudoLabelJobRequest:
title: SubmitPseudoLabelJobRequest
type: object
properties:
jobId:
type: string
pseudoLabelJobConfig:
$ref: '#/components/schemas/lmai.proto.webserver.v2.PseudoLabelJobConfig'
description: The pseudo-labeling job configuration.
required:
- jobId
- pseudoLabelJobConfig
lmai.proto.webserver.v2.GetPseudoLabelJobStatusRequest:
title: GetPseudoLabelJobStatusRequest
type: object
properties:
jobId:
type: string
required:
- jobId
lmai.proto.webserver.v2.CreatePseudoLabelJobResponse:
title: CreatePseudoLabelJobResponse
type: object
properties:
jobId:
type: string
required:
- jobId
lmai.proto.webserver.v2.PseudoLabelJobConfig:
title: PseudoLabelJobConfig
type: object
properties:
name:
type: string
description: Optional name for the job.
description:
type: string
description: Optional description for the job.
datasetId:
type: string
description: ID of the main dataset to be pseudo-labeled
fewShotDatasetId:
type: string
description: ID of the dataset containing few-shot examples. Optional.
activeLabeledDatasetId:
type: string
description: "ID of the actively labeled dataset. Optional. If null, this job is for\n active learning."
selectedColumns:
type: array
items:
type: string
description: "Subset of columns to be used in pseudo-labeling.\n Expected columns: input, output, ground_truth\n For example, a summarization task might not need an input column.\n By default, all columns are used."
promptTemplate:
$ref: '#/components/schemas/lmai.proto.model_fine_tuning.v1.PromptTemplate'
baseEvaluationMetric:
type: string
enum:
- BASE_EVALUATION_METRIC_UNSPECIFIED
- BASE_EVALUATION_METRIC_FAITHFULNESS
- BASE_EVALUATION_METRIC_RELEVANCE
- BASE_EVALUATION_METRIC_TOXICITY
- BASE_EVALUATION_METRIC_QA
- BASE_EVALUATION_METRIC_SUMMARIZATION
title: BaseEvaluationMetric
description: Reserved field. Do not use at the moment.
skipActiveLabeling:
type: boolean
description: "If true, skip active labeling, which involves an intermediate Dataset\n created for human labeling."
required:
- datasetId
- selectedColumns
- promptTemplate
- baseEvaluationMetric
- skipActiveLabeling
description: Configuration for LLM Judge labeling job.
lmai.proto.webserver.v2.CreatePseudoLabelJobRequest:
title: CreatePseudoLabelJobRequest
type: object
properties:
pseudoLabelJobConfig:
$ref: '#/components/schemas/lmai.proto.webserver.v2.PseudoLabelJobConfig'
description: Partial configuration containing updates via its non-null fields.
required:
- pseudoLabelJobConfig
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-refined-from:
- model.json
- lastmileai-openapi.json