GetYourJob Index API
The index API from GetYourJob — 3 operation(s) for index.
The index API from GetYourJob — 3 operation(s) for index.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/getyourjob-pro:getyourjob-pro-index-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: MatchingAgent Index API
description: 'AI-powered candidate-job matching API.
## Features
- **Match candidates against offers** - Get scored matches with detailed analysis
- **Explainable results** - Understand why a match is good or bad
- **Flexible input** - Accept various data formats
## MVP Endpoints
- `POST /v1/match` - Match a candidate against multiple offers
- `GET /v1/health` - Health check
## Coming Soon
- `POST /v1/enrich` - Enrich candidate profiles with external data
- `POST /v1/parse-document` - Parse CV/resume documents'
version: mvp-1.0.0
tags:
- name: Index
paths:
/v1/internal/offers/index:
post:
tags:
- Index
summary: Add offers to FAISS index
description: 'Add or update offers in the FAISS vector index.
One offer that cannot be embedded is skipped and listed in `failed_ids`; the
rest of the batch is indexed (2026-10-05). 500 only when nothing could be.'
operationId: index_offers_v1_internal_offers_index_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IndexOffersRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/IndexOffersResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Index
summary: Remove offers from FAISS index
description: Remove offers from the FAISS vector index.
operationId: remove_offers_v1_internal_offers_index_delete
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveOffersRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveOffersResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/internal/offers/index/info:
get:
tags:
- Index
summary: Get FAISS index info
description: Get information about the FAISS index.
operationId: index_info_v1_internal_offers_index_info_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/IndexInfoResponse'
/v1/internal/offers/index/rebuild:
post:
tags:
- Index
summary: Rebuild FAISS index from GetYourJob DB
description: Trigger a full FAISS index rebuild from GetYourJob database.
operationId: rebuild_index_v1_internal_offers_index_rebuild_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RebuildRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RebuildResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
IndexOffersRequest:
properties:
offers:
items:
additionalProperties: true
type: object
type: array
maxItems: 10000
minItems: 1
title: Offers
description: 'List of offer dicts with external_id, title, required_skills, etc. Recommended: <= 500 per request (~30 ms per offer).'
type: object
required:
- offers
title: IndexOffersRequest
description: 'Request to add offers to the FAISS index.
Batch size: the local MiniLM embeds ~30 ms per offer on the production CPU, so a
request of N offers takes about N x 30 ms plus the index save. Send at most ~500
offers per request (~15 s); 2 000-3 300 per request (the nightly sync until
2026-10-05) takes one to two minutes and trips client timeouts. The limit below
is a hard ceiling, not a recommended size.'
IndexOffersResponse:
properties:
success:
type: boolean
title: Success
default: true
indexed:
type: integer
title: Indexed
description: Number of offers indexed
total_in_index:
type: integer
title: Total In Index
description: Total offers now in index
failed:
type: integer
title: Failed
description: Offers skipped (could not be embedded)
default: 0
failed_ids:
items:
type: string
type: array
title: Failed Ids
description: external_ids of the skipped offers; the rest of the batch is indexed
type: object
required:
- indexed
- total_in_index
title: IndexOffersResponse
description: Response from indexing offers.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
RebuildResponse:
properties:
success:
type: boolean
title: Success
default: true
message:
type: string
title: Message
total_indexed:
type: integer
title: Total Indexed
default: 0
rebuild_started:
type: boolean
title: Rebuild Started
default: false
type: object
required:
- message
title: RebuildResponse
description: Response from index rebuild.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
RemoveOffersRequest:
properties:
offer_ids:
items:
type: string
type: array
minItems: 1
title: Offer Ids
description: List of offer external_ids to remove
type: object
required:
- offer_ids
title: RemoveOffersRequest
description: Request to remove offers from the FAISS index.
RemoveOffersResponse:
properties:
success:
type: boolean
title: Success
default: true
removed:
type: integer
title: Removed
description: Number of offers removed
total_in_index:
type: integer
title: Total In Index
description: Total offers now in index
type: object
required:
- removed
- total_in_index
title: RemoveOffersResponse
description: Response from removing offers.
IndexInfoResponse:
properties:
available:
type: boolean
title: Available
total_offers:
type: integer
title: Total Offers
dimension:
type: integer
title: Dimension
faiss_prefilter_enabled:
type: boolean
title: Faiss Prefilter Enabled
type: object
required:
- available
- total_offers
- dimension
- faiss_prefilter_enabled
title: IndexInfoResponse
description: Response with index information.
RebuildRequest:
properties:
db_url:
type: string
title: Db Url
description: PostgreSQL connection URL for GetYourJob DB
type: object
required:
- db_url
title: RebuildRequest
description: Request to rebuild FAISS index from GetYourJob DB.