> ## Documentation Index
> Fetch the complete documentation index at: https://docs.canary.effectiveai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate a submission using the latest program version

> Rate one submission on Effective's servers using the highest published version number of this catalog program. The selected version is fixed for this request. Returns 404 if the program has no published versions.

Send the native RSL engine's JSON in the `inputs` field, up to 1 MiB. Inspect the latest version's `/contract` for its input and output schemas. The response includes `programId`, the selected `version`, the exact engine `bundleId`, `result` and `timings`.

Requires your organization's permission to run the program and your `raters:run` permission. Effective example programs require only `raters:run`. Input constraints and business refusals return 422 with the same codes and violations as versioned rating.

Rating changes no stored state and is safe to repeat, but publishing a new version can change which version a later request selects. Use `/versions/{version}/rate` to pin a version. The latest published version is not necessarily applicable to your policy date or transaction.



## OpenAPI

````yaml /openapi.json post /insurance/rating-programs/{id}/rate
openapi: 3.0.3
info:
  title: Effective API
  version: 2.0.0
  description: The public Effective REST API. Authenticate using an Effective API key.
servers:
  - url: https://api.canary.effectiveai.app/api/v2
    description: Canary
security:
  - bearerAuth: []
paths:
  /insurance/rating-programs/{id}/rate:
    post:
      tags:
        - Rating programs
      summary: Rate a submission using the latest program version
      description: >-
        Rate one submission on Effective's servers using the highest published
        version number of this catalog program. The selected version is fixed
        for this request. Returns 404 if the program has no published versions.


        Send the native RSL engine's JSON in the `inputs` field, up to 1 MiB.
        Inspect the latest version's `/contract` for its input and output
        schemas. The response includes `programId`, the selected `version`, the
        exact engine `bundleId`, `result` and `timings`.


        Requires your organization's permission to run the program and your
        `raters:run` permission. Effective example programs require only
        `raters:run`. Input constraints and business refusals return 422 with
        the same codes and violations as versioned rating.


        Rating changes no stored state and is safe to repeat, but publishing a
        new version can change which version a later request selects. Use
        `/versions/{version}/rate` to pin a version. The latest published
        version is not necessarily applicable to your policy date or
        transaction.
      operationId: rateRatingProgram
      parameters:
        - schema:
            type: string
            pattern: ^[a-z0-9][a-z0-9._-]{0,127}$
          required: true
          name: id
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                inputs:
                  type: object
                  additionalProperties:
                    nullable: true
              required:
                - inputs
              additionalProperties: false
      responses:
        '200':
          description: >-
            Native rating result, timings and selected version and bundle
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2RatingProgramRateResult'
        '400':
          description: Invalid request or cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: Program entitlement and user permission are required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: Program, version or package not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '409':
          description: Stored bundle identity differs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '413':
          description: Input exceeds the size limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '415':
          description: The request body is not application/json.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '422':
          description: >-
            invalid_inputs, business_rejection or evaluation_failed. violations
            lists each failed input constraint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '429':
          description: Rating capacity unavailable; honor Retry-After.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '503':
          description: Dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2RatingProgramRateResult:
      type: object
      properties:
        programId:
          type: string
          pattern: ^[a-z0-9][a-z0-9._-]{0,127}$
        version:
          type: integer
          minimum: 0
          exclusiveMinimum: true
        raterId:
          type: string
          description: The program ID the engine was loaded under.
        bundleId:
          type: string
          pattern: ^[a-f0-9]{64}$
          description: SHA-256 identity of the engine bundle that rated the submission.
        programFingerprint:
          type: string
          description: Fingerprint of the compiled rating program.
        releaseVersion:
          type: integer
          minimum: 0
          exclusiveMinimum: true
        result:
          type: object
          additionalProperties:
            nullable: true
          description: >-
            Outputs keyed by root record, for example `{"Policy": {...}}`. The
            version contract’s outputSchema describes it. The engine computes in
            exact decimals; the API returns them as JSON numbers with 64-bit
            float precision, about 15 significant digits.
        timings:
          type: object
          properties:
            coldStartMs:
              type: number
              minimum: 0
            evaluateMs:
              type: number
              minimum: 0
            workerMs:
              type: number
              minimum: 0
            materializeMs:
              type: number
              minimum: 0
          required:
            - workerMs
          additionalProperties: false
          description: Milliseconds spent loading the engine (cold start only) and rating.
      required:
        - programId
        - version
        - raterId
        - bundleId
        - programFingerprint
        - result
        - timings
      additionalProperties: false
    V2CodedError:
      allOf:
        - $ref: '#/components/schemas/V2Error'
        - type: object
          properties:
            code:
              type: string
              minLength: 1
              description: Stable error code. Clients must tolerate unknown future codes.
            details:
              type: array
              items:
                type: object
                properties:
                  location:
                    type: string
                    enum:
                      - path
                      - query
                      - header
                      - body
                  path:
                    type: array
                    items:
                      type: string
                      maxLength: 64
                    maxItems: 12
                  code:
                    type: string
                    enum:
                      - required
                      - invalid_type
                      - invalid_value
                      - unknown_field
                  message:
                    type: string
                    minLength: 1
                    maxLength: 200
                required:
                  - location
                  - path
                  - code
                  - message
              minItems: 1
              maxItems: 20
              description: Bounded safe validation issues; may omit some invalid fields.
            requestId:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Existing server correlation for this HTTP attempt, when
                available.
            dataset:
              type: string
              enum:
                - naic
                - osha
              description: Dataset needed for dataset_not_enabled.
            businessCode:
              type: string
              description: The rater’s own refusal code, for business_rejection.
            violations:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                    description: Authored or built-in constraint code
                  message:
                    type: string
                    description: Authored message for the failed constraint
                  path:
                    type: string
                    description: Input path of the offending value; empty for the request
                  value:
                    nullable: true
                    description: Offending input value, size-bounded by the runtime
                  constraint:
                    type: string
                    description: The constraint the value failed, as text
                  cite:
                    type: string
                    nullable: true
                    description: >-
                      Filing citation of the constraint, when the source cites
                      one
                required:
                  - code
                  - message
                  - path
                  - value
                  - constraint
                  - cite
                additionalProperties: false
              maxItems: 256
              description: >-
                Each input constraint the submission failed, for invalid_inputs
                and business_rejection.
            violationsTruncated:
              type: boolean
              description: >-
                True when the rater reported more violations than violations
                holds.
            executionId:
              type: string
              description: >-
                The recorded execution of a failed rating, for rater rating
                failures.
            accessUrl:
              type: string
              nullable: true
              format: uri
              description: >-
                Where to add the product to your account, for
                product_access_required.
          required:
            - code
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Effective API key. Send Authorization: Bearer sk-eai-...'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.