matchwire API

REST surface of the matchwire agent-core. Agent tool access uses the MCP (`/mcp`) protocol, documented separately.

GET
/health

Response Body

application/json

curl -X GET "https://example.com/health"
{  "status": "ok"}
POST
/v1/search

Authorization

bearerAuth
AuthorizationBearer <token>

matchwire API credential (ADR-0073): a per-organization mw_sk_* secret. Mint one with pnpm --filter @matchwire/db mint-credential.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/search" \  -H "Content-Type: application/json" \  -d '{    "query": "string"  }'
[  {    "id": "string",    "ownerType": "person",    "ownerId": "string",    "section": "string",    "text": "string",    "similarity": 0  }]
Empty
Empty
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}
POST
/v1/matches

Runs the matching engine (exactly one of personId / jobId) and returns ranked MatchProposals. Every returned proposal is logged as an impression.

Authorization

bearerAuth
AuthorizationBearer <token>

matchwire API credential (ADR-0073): a per-organization mw_sk_* secret. Mint one with pnpm --filter @matchwire/db mint-credential.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/matches" \  -H "Content-Type: application/json" \  -d '{}'
[  {    "candidate": {      "schemaVersion": "string",      "basics": {        "name": "string",        "label": "string",        "summary": "string",        "url": "http://example.com",        "profiles": [          {            "network": "string",            "username": "string",            "url": "http://example.com"          }        ],        "location": {          "countryCode": "string",          "region": "string"        }      },      "work": [        {          "name": "string",          "position": "string",          "department": "string",          "team": "string",          "startDate": "string",          "endDate": "string",          "summary": "string",          "highlights": [            "string"          ],          "employmentType": "FULL_TIME",          "workplaceType": "none",          "location": "string",          "sideJob": true,          "url": "http://example.com",          "provenance": "provided"        }      ],      "education": [        {          "institution": "string",          "area": "string",          "studyType": "string",          "level": "high_school",          "startDate": "string",          "endDate": "string",          "score": "string",          "courses": [            "string"          ],          "url": "http://example.com",          "provenance": "provided"        }      ],      "skills": [        {          "name": "string",          "proficiency": {            "scale": "mw7",            "level": 1          },          "keywords": [            "string"          ],          "provenance": "provided"        }      ],      "languages": [        {          "language": "aa",          "fluency": "basic",          "cefr": "A1",          "jlpt": "N5",          "provenance": "provided"        }      ],      "certificates": [        {          "name": "string",          "date": "string",          "expiresAt": "string",          "issuer": "string",          "credentialId": "string",          "url": "http://example.com",          "provenance": "provided"        }      ],      "awards": [        {          "title": "string",          "date": "string",          "awarder": "string",          "summary": "string",          "provenance": "provided"        }      ],      "publications": [        {          "name": "string",          "publisher": "string",          "releaseDate": "string",          "url": "http://example.com",          "summary": "string",          "provenance": "provided"        }      ],      "projects": [        {          "name": "string",          "description": "string",          "highlights": [            "string"          ],          "keywords": [            "string"          ],          "startDate": "string",          "endDate": "string",          "url": "http://example.com",          "roles": [            "string"          ],          "entity": "string",          "type": "string",          "provenance": "provided"        }      ],      "volunteer": [        {          "organization": "string",          "position": "string",          "url": "http://example.com",          "startDate": "string",          "endDate": "string",          "summary": "string",          "highlights": [            "string"          ],          "provenance": "provided"        }      ],      "interests": [        {          "name": "string",          "keywords": [            "string"          ],          "provenance": "provided"        }      ],      "desiredSalary": {        "currency": "JPY",        "min": 0,        "max": 0,        "unit": "YEAR",        "provenance": "provided"      },      "desiredSalaries": [        {          "currency": "string",          "min": 0,          "max": 0,          "unit": "YEAR"        }      ],      "currentSalary": {        "currency": "JPY",        "amount": 0,        "provenance": "provided"      },      "mobility": "actively_looking",      "sideJobDesire": "not_open",      "openToWork": true,      "availability": {        "earliestStartDate": "string",        "weeklyHours": 1      },      "desiredLocations": [        "string"      ],      "desiredOccupations": [        {          "kind": "canonical",          "uri": "http://example.com",          "label": "string"        }      ],      "desiredOfficeFrequency": {        "min": "remote_only",        "max": "remote_only"      },      "desiredEmploymentTypes": [        "FULL_TIME"      ]    },    "job": {      "schemaVersion": "string",      "title": "string",      "description": "string",      "occupations": [        {          "kind": "canonical",          "uri": "http://example.com",          "label": "string",          "provenance": "manual"        }      ],      "employmentType": "FULL_TIME",      "hiringOrganization": {        "name": "string",        "sameAs": "http://example.com"      },      "jobLocation": "string",      "jobLocations": [        "string"      ],      "remote": "none",      "officeFrequency": {        "min": "remote_only",        "max": "remote_only"      },      "applicantLocation": {        "type": "anywhere"      },      "visaSponsorship": {        "available": true,        "detail": "string"      },      "relocationSupport": {        "available": true,        "detail": "string"      },      "sideJobAcceptance": {        "available": true,        "detail": "string"      },      "languageRequirements": [        {          "language": "aa",          "level": "none",          "detail": "string"        }      ],      "experienceRequirement": {        "minYears": 0,        "detail": "string"      },      "educationRequirement": {        "minLevel": "none",        "detail": "string"      },      "certificationRequirements": [        {          "name": "string",          "issuer": "string",          "url": "http://example.com",          "detail": "string"        }      ],      "baseSalary": {        "currency": "JPY",        "min": 0,        "max": 0,        "unit": "YEAR"      },      "skills": [        "string"      ],      "skillRequirements": [        {          "name": "string",          "necessity": "required",          "minProficiency": {            "scale": "mw7",            "level": 1          },          "detail": "string"        }      ],      "materialRequirements": [        {          "kind": "work_history",          "detail": "string",          "stage": "application",          "necessity": "required"        }      ],      "laborConditions": {        "placeOfWork": "string",        "placeOfWorkChangeScope": "string",        "workScopeChange": "string",        "contractPeriod": {          "type": "indefinite",          "endDate": "string",          "renewalCriteria": "string"        },        "probation": {          "exists": true,          "detail": "string"        },        "workingHours": {          "start": "string",          "end": "string",          "breakMinutes": 0,          "overtime": true,          "holidays": "string"        },        "socialInsurance": [          "health_insurance"        ],        "smokingPolicy": {          "measures": "no_smoking_indoors",          "note": "string"        }      }    },    "score": 0,    "rationale": "string",    "itemRef": "string",    "explanation": {      "formatVersion": 1,      "retrievers": [        "dense"      ],      "rankingCount": 1,      "fusedScore": 1,      "sections": [        {          "section": "string",          "weight": 1,          "snippet": "string"        }      ],      "profileVersion": -9007199254740991,      "jobVersion": -9007199254740991,      "counterfactual": {        "section": "string",        "scoreWithout": 0,        "wouldDisplay": true      },      "reciprocal": {        "forward": 1,        "reverse": 1,        "combined": 1,        "windowed": true      },      "stages": [        "string"      ]    }  }]
Empty
Empty
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}
{  "error": {    "code": "approval_pending",    "reason": "string",    "scope": {      "personToken": "string",      "jobId": "string"    },    "details": {      "property1": null,      "property2": null    }  }}