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

> ## Agent Instructions
> API access is self-serve: register at https://developers.ochy.io/register, verify the email (grants 1 free analysis credit), generate the API key in the portal, then buy prepaid credits at 2.00 EUR per analysis via Stripe Checkout. See /get-api-access for the exact funnel.
> Agents can complete every funnel step except card entry: hand the Stripe Checkout URL to the user for payment.
> Base URL: https://partner-api.ochy-prod.com. Pass the API key as `Authorization: Bearer` (preferred) or `X-API-Key`; never as a query parameter.
> One analysis consumes one credit, debited when the analysis starts. HTTP 424 with code insufficient_api_credits means the balance is empty: buy credits in the portal. If starting the analysis fails on Ochy's side, the credit is refunded automatically.
> Low-credit alerts: set a threshold and an optional webhook URL in the portal Settings tab or with PUT /settings/low-credit-alerts; an email and a credits.low event are sent once per crossing, and the alert rearms when the balance recovers.
> All endpoints use metric units: height in meters, weight in kilograms.

# Get low-credit alert settings

> Returns the low-credit alert configuration for the credit scope of your API key
(personal or organization). When the scope has unlimited credits, alerts do not apply:
the response has `applicable: false` and `reason: unlimited`.

See [low-credit alerts](/guides/webhooks-and-api-keys#low-credit-alerts) for how alerts
are delivered.




## OpenAPI

````yaml /openapi.yaml get /settings/low-credit-alerts
openapi: 3.0.1
info:
  title: Ochy Partner API
  version: 1.0.0
  description: >
    The Ochy Partner API lets you integrate running biomechanical analysis into
    your application.

    Upload a video of a runner, receive detailed biomechanical metrics, joint
    angles, running style

    classification, and frame-by-frame position data.
servers:
  - url: https://partner-api.ochy-prod.com
    description: Production
security:
  - bearerAuth: []
  - apiKeyHeader: []
paths:
  /settings/low-credit-alerts:
    get:
      tags:
        - Settings
      summary: Get low-credit alert settings
      description: >
        Returns the low-credit alert configuration for the credit scope of your
        API key

        (personal or organization). When the scope has unlimited credits, alerts
        do not apply:

        the response has `applicable: false` and `reason: unlimited`.


        See [low-credit alerts](/guides/webhooks-and-api-keys#low-credit-alerts)
        for how alerts

        are delivered.
      operationId: getLowCreditAlerts
      responses:
        '200':
          description: Current low-credit alert settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LowCreditAlertSettingsResponse'
              examples:
                configured:
                  summary: Alerts configured
                  value:
                    applicable: true
                    scopeType: organization
                    scopeId: org_abc123
                    enabled: true
                    threshold: 100
                    webhookUrl: https://client.example.com/webhooks/ochy-credits
                    updatedAt: '2026-10-05T10:45:00Z'
                unlimited:
                  summary: Unlimited scope
                  value:
                    applicable: false
                    reason: unlimited
                    scopeType: organization
                    scopeId: org_abc123
                    enabled: false
                    threshold: 0
        '401':
          description: Missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthErrorResponse'
        '403':
          description: Invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthErrorResponse'
        '500':
          description: >-
            Internal server error (`api_credits_check_failed` when the credit
            scope cannot be read).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    LowCreditAlertSettingsResponse:
      type: object
      properties:
        applicable:
          type: boolean
          description: '`false` when the scope has unlimited credits: alerts do not apply.'
          example: true
        reason:
          type: string
          enum:
            - unlimited
          description: Present when `applicable` is `false`.
        scopeType:
          type: string
          enum:
            - personal
            - organization
          description: Credit scope of the API key.
          example: organization
        scopeId:
          type: string
          description: Identifier of the credit scope the API key draws from.
          example: org_abc123
        enabled:
          type: boolean
          example: true
        threshold:
          type: integer
          example: 100
        webhookUrl:
          type: string
          format: uri
          description: Omitted when no URL is saved.
          example: https://client.example.com/webhooks/ochy-credits
        updatedAt:
          type: string
          format: date-time
          description: >-
            When the settings were last saved (ISO 8601 UTC). Omitted when never
            saved.
          example: '2026-10-05T10:45:00Z'
    AuthErrorResponse:
      type: object
      properties:
        detail:
          type: string
          example: API Key is missing.
    ErrorResponse:
      type: object
      properties:
        detail:
          type: string
          example: Internal server error
        code:
          type: string
          description: Machine-readable error code (present on some errors).
          example: insufficient_api_credits
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Recommended. Pass your API key as a Bearer token in the Authorization
        header: `Authorization: Bearer YOUR_API_KEY`.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Alternative to the Authorization header. Pass your API key in the
        `X-API-Key` header.

````