Jev Agent (Jagent) API

Jev Agent (Jagent) API as documented publicly: 13 operations. Contract generated from the documentation by API Evangelist (2026-10-18); not the provider's own document.

Operations 13

DELETE /api/keys DELETE /api/keys #
GET /api/keys Top up or check GET /api/keys with your key for the current balance #
PUT /api/keys PUT /api/keys #
POST /api/v1/classify Text plus a ruleset name #
POST /api/v1/decisions POST /api/v1/decisions #
GET /api/v1/models The full list with limits is GET /api/v1/models , the same models answer Jev-shaped requests at /api/v1/systemone. #
GET /api/v1/rulesets The exact Jev call behind each one is public at GET /api/v1/rulesets/ #
POST /api/v1/systemone POST /api/v1/systemone #
POST /api/v1/tools/grade POST /api/v1/tools/grade #
POST /api/v1/tools/resume-check Resume check API #
POST /v1/decisions OpenAI's Decisions API is POST /v1/decisions : you send an input (text, or user messages with images) and an array of questions, and get typed answers back instead of text. #
GET /v1/models GET https://api.typesafe.ai/v1/models lists only the aliases #
POST /v1/systemone Endpoint POST /v1/systemone #

Work with this as data

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/jev-agent:jev-agent-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 Specification

jev-agent-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Jev Agent (Jagent) API
  version: '2026-10-18'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-18: 13 operation(s) read from 5 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Jev Agent (Jagent) has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 9
    pages-with-code: 3
    pages-read: 5
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-18'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://jev-agent.com/decisions-api
  - https://jev-agent.com/essay-grading-api
  - https://jev-agent.com/openai-decisions-api
  - https://jev-agent.com/api-reference
  - https://jev-agent.com/docs
paths:
  /api/keys:
    delete:
      operationId: delete_api_keys
      tags:
      - Api
      summary: DELETE /api/keys
      x-source: https://jev-agent.com/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X DELETE https://jev-agent.com/api/keys -H "Authorization: Bearer $JEV_AGENT_KEY" # revoke Rotating kills the old key
          at once and returns a new one; usage follows the account, not the key. Jev API documentation from TypeSafe This is not TypeSafe. It
          is our endpoint and our quota on top of their API. The model''s own Jev API documentation is at docs.typesafe.ai , and current first-party
          access'
    get:
      operationId: get_api_keys
      tags:
      - Api
      summary: Top up or check GET /api/keys with your key for the current balance
      x-source: https://jev-agent.com/docs
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiKeysResponse'
      x-evidence:
        kind: documentation
    put:
      operationId: put_api_keys
      tags:
      - Api
      summary: PUT /api/keys
      x-source: https://jev-agent.com/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X PUT https://jev-agent.com/api/keys -H "Authorization: Bearer $JEV_AGENT_KEY" # rotate'
  /api/v1/classify:
    post:
      operationId: post_api_v1_classify
      tags:
      - Api
      summary: Text plus a ruleset name
      x-source: https://jev-agent.com/docs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ClassifyRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ClassifyResponse'
      x-evidence:
        kind: documentation
  /api/v1/decisions:
    post:
      operationId: post_api_v1_decisions
      tags:
      - Api
      summary: POST /api/v1/decisions
      description: Submit a decision request to Jev's gateway; the request follows OpenAI's format and the response mirrors OpenAI's response
        schema.
      x-source: https://jev-agent.com/decisions-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1DecisionsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1DecisionsResponse'
      x-evidence:
        kind: documentation
  /api/v1/models:
    get:
      operationId: get_api_v1_models
      tags:
      - Api
      summary: The full list with limits is GET /api/v1/models , the same models answer Jev-shaped requests at /api/v1/systemone.
      description: Retrieve the catalog of decision models and their capabilities.
      x-source: https://jev-agent.com/decisions-api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1ModelsResponse'
      x-evidence:
        kind: documentation
  /api/v1/rulesets:
    get:
      operationId: get_api_v1_rulesets
      tags:
      - Api
      summary: The exact Jev call behind each one is public at GET /api/v1/rulesets/<id>
      x-source: https://jev-agent.com/docs
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1RulesetsResponse'
      x-evidence:
        kind: documentation
  /api/v1/systemone:
    post:
      operationId: post_api_v1_systemone
      tags:
      - Api
      summary: POST /api/v1/systemone
      x-source: https://jev-agent.com/api-reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1SystemoneRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://jev-agent.com/api/v1/systemone  -H \"Authorization: Bearer $JEV_AGENT_KEY\"  -H \"content-type: application/json\"\
          \  -d '{\n \"state\": \"Charged twice for September and cancelling Friday unless refunded.\",\n \"questions\": {\n \"route\": {\n \"\
          type\": \"choice\",\n \"instructions\": \"Which team should handle this?\",\n \"criteria\": { \"billing\": \"Payments and refunds\"\
          , \"technical\": \"Bugs and outages\" }"
  /api/v1/tools/grade:
    post:
      operationId: post_api_v1_tools_grade
      tags:
      - Api
      summary: POST /api/v1/tools/grade
      x-source: https://jev-agent.com/essay-grading-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ToolsGradeRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ToolsGradeResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://jev-agent.com/api/v1/tools/grade  -H \"Authorization: Bearer $JAGENT_API_KEY\"  -H \"content-type: application/json\"\
          \  -d '{\"rubric\": \"essay\", \"level\": \"high school\",\n \"assignment\": \"Should high schools start later?\",\n \"essay\": \"…\"\
          }' Try a request · no key needed Load a sample essay rubric essay common-app sat POST /api/v1/tools/grade Send request Runs on the page's\
          \ allowance for visitors"
  /api/v1/tools/resume-check:
    post:
      operationId: post_api_v1_tools_resume_check
      tags:
      - Api
      summary: Resume check API
      description: Evaluates a resume against an optional job description and returns a match score, keyword analysis, ATS checks, level fit,
        interview probability, and usage information.
      x-source: https://jev-agent.com/essay-grading-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ToolsResumeCheckRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1ToolsResumeCheckResponse'
      x-evidence:
        kind: documentation
  /v1/decisions:
    post:
      operationId: post_v1_decisions
      tags:
      - Decisions
      summary: 'OpenAI''s Decisions API is POST /v1/decisions : you send an input (text, or user messages with images) and an array of questions,
        and get typed answers back instead of text.'
      description: Send an input and an array of questions to receive typed answers.
      x-source: https://jev-agent.com/decisions-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1DecisionsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1DecisionsResponse'
      x-evidence:
        kind: documentation
  /v1/models:
    get:
      operationId: get_v1_models
      tags:
      - Models
      summary: GET https://api.typesafe.ai/v1/models lists only the aliases
      description: Retrieves the list of model aliases available on the official host.
      x-source: https://jev-agent.com/api-reference
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1ModelsResponse'
      x-evidence:
        kind: documentation
  /v1/systemone:
    post:
      operationId: post_v1_systemone
      tags:
      - Systemone
      summary: Endpoint POST /v1/systemone
      x-source: https://jev-agent.com/api-reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1SystemoneRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1SystemoneResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiKeysResponse:
      type: object
      properties:
        credits_charged:
          type: integer
        used:
          type: integer
        limit:
          type: integer
        remaining:
          type: integer
    PostApiV1ClassifyRequest:
      type: object
      properties:
        ruleset:
          type: string
        items:
          type: array
      required:
      - ruleset
      - items
    PostApiV1ClassifyResponse:
      type: object
      properties:
        ruleset:
          type: string
        ruleset_version:
          type: integer
        model:
          type: string
        results:
          type: array
        usage:
          type: object
    PostApiV1DecisionsRequest:
      type: object
      properties:
        model:
          type: string
          description: Model identifier (e.g., "jev-latest").
        input:
          type: string
          description: The input text or conversation.
        questions:
          type: array
          description: Array of question objects.
        questions.type:
          type: string
          description: One of "predicate", "choice", or "score".
        questions.name:
          type: string
          description: Identifier for the question.
        questions.instructions:
          type: string
          description: Instructions for the model.
        questions.choices:
          type: array
          description: For "choice" type, list of possible options.
        questions.choices.value:
          type: string
          description: Value of a choice option.
      required:
      - model
      - input
      - questions
      - questions.type
      - questions.name
      - questions.instructions
      - questions.choices.value
    PostApiV1DecisionsResponse:
      type: object
      properties:
        answers:
          type: array
          description: Typed answers returned by the selected model.
    GetApiV1ModelsResponse:
      type: object
      properties:
        models:
          type: array
          description: List of available decision models with their limits.
        models.id:
          type: string
          description: Model identifier.
        models.price_per_million_tokens:
          type: number
          description: Cost in dollars per million input tokens.
        models.supports_images:
          type: boolean
          description: Whether the model accepts image inputs.
        models.question_types:
          type: array
          description: Supported question types (e.g., predicate, choice, score).
    GetApiV1RulesetsResponse:
      type: object
      properties:
        rulesets:
          type: array
    PostApiV1SystemoneRequest:
      type: object
      properties:
        state:
          type: string
        questions:
          type: object
          properties:
            route:
              type: object
              properties:
                type:
                  type: string
                instructions:
                  type: string
                criteria:
                  type: object
                  properties:
                    billing:
                      type: string
                    technical:
                      type: string
            urgency:
              type: object
              properties:
                type:
                  type: string
                instructions:
                  type: string
                criteria:
                  type: object
                  properties:
                    'true':
                      type: string
                    'false':
                      type: string
    PostApiV1ToolsGradeRequest:
      type: object
      properties:
        rubric:
          type: string
        level:
          type: string
        assignment:
          type: string
        essay:
          type: string
    PostApiV1ToolsGradeResponse:
      type: object
      properties:
        rubric:
          type: string
        custom:
          type: object
          properties:
            points:
              type: integer
            criteria:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  description:
                    type: string
        submissions:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              text:
                type: string
    PostApiV1ToolsResumeCheckRequest:
      type: object
      properties:
        resume:
          type: string
          description: Full text of the resume to evaluate.
        job_description:
          type: string
          description: Optional job posting description to match against.
      required:
      - resume
    PostApiV1ToolsResumeCheckResponse:
      type: object
      properties:
        match_score:
          type: integer
          description: Overall 0–100 match score.
        keywords_found:
          type: array
          description: Keywords from the posting that were found in the resume.
        keywords_missing:
          type: array
          description: Keywords from the posting that are missing in the resume.
        ats_checks:
          type: array
          description: ATS format checks results.
        level_fit:
          type: string
          description: Fit level for the resume (e.g., "junior", "mid", "senior").
        interview_probability:
          type: number
          description: Probability a recruiter would move the resume to interview.
        usage:
          type: object
          description: Billing usage information.
        usage.credits_charged:
          type: integer
          description: Credits charged for the call.
        usage.credits_remaining:
          type: integer
          description: Credits remaining after the call.
    PostV1DecisionsRequest:
      type: object
      properties:
        input:
          type: string
          description: The input text or user messages (may include images).
        questions:
          type: array
          description: Array of question objects.
        questions.type:
          type: string
          description: One of "predicate", "choice", or "score".
        questions.name:
          type: string
          description: Identifier for the question.
        questions.instructions:
          type: string
          description: Instructions for the model.
        questions.choices:
          type: array
          description: For "choice" type, list of possible options.
        questions.choices.value:
          type: string
          description: Value of a choice option.
      required:
      - input
      - questions
      - questions.type
      - questions.name
      - questions.instructions
      - questions.choices.value
    PostV1DecisionsResponse:
      type: object
      properties:
        answers:
          type: array
          description: Typed answers corresponding to each question.
    GetV1ModelsResponse:
      type: object
      properties:
        models:
          type: array
          description: List of model aliases such as jev-latest and jev-preview.
    PostV1SystemoneRequest:
      type: object
      properties:
        state:
          type: string
          description: The raw text, transcript, document, or serialized program state to evaluate.
        questions:
          type: object
          description: A dictionary of question objects keyed by an identifier.
      required:
      - state
      - questions
    PostV1SystemoneResponse:
      type: object
      properties:
        model:
          type: string
          description: The model identifier that answered the request.
        answers:
          type: object
          description: Answers keyed by the same IDs as the request questions.
        usage:
          type: object
          description: Token usage information (input_tokens, output_tokens).
        quota:
          type: object
          description: Quota information (used, limit, remaining).
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Decisions
- name: Models
- name: Systemone