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

# CRUD + test for inference provider configurations.

> GET    /api/v1/inference-providers/
POST   /api/v1/inference-providers/
GET    /api/v1/inference-providers/{uid}/
PATCH  /api/v1/inference-providers/{uid}/
DELETE /api/v1/inference-providers/{uid}/
POST   /api/v1/inference-providers/{uid}/test/



## OpenAPI

````yaml /openapi.yml get /inference-providers/
openapi: 3.0.0
info:
  title: Avala API
  description: >

    # Authentication


    ## Generating an API Key


    The Avala SDK uses API keys to authenticate requests. You can create and
    manage your API keys from the

    Settings page of Mission Control.


    Follow these steps to generate a new API key:


    1. Open your settings page by clicking on your user avatar located at the
    top right-hand corner of any
        Mission Control screen, and select `Settings`.
    2. From the left-hand sub-menu, select `Security & Identity`.

    3. Click on `New API Key`, enter a name for the key, and then click `Create
    key`.


    The new key will be automatically copied to your clipboard. Please note, for
    security reasons, the key

    will not be accessible once you close the window. Ensure you store it in a
    safe location before closing

    the pop-up modal.


    ### Video walkthrough of API key generation


    <iframe class="embedly-embed"
    src="//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2F
        www.youtube.com%2Fembed%2FTYdLhkAAbLA%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2F
        www.youtube.com%2Fwatch%3Fv%3DTYdLhkAAbLA&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FTYdLhkAAbLA%2F
        hqdefault.jpg&key=7788cb384c9f4d5dbbdbeffd9fe4b92f&type=text%2Fhtml&schema=youtube" width="854"
        height="480" scrolling="no" title="YouTube embed" frameborder="0" allow="autoplay;
        fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe>


    ## Authenticating with an API Key


    This is the easiest part! Just add a header named `X-Avala-Api-Key` to your
    requests and set the

    previously generated API Key as the value.
  termsOfService: https://avala.ai/legal/terms
  contact:
    email: support@avala.ai
  version: v1
servers:
  - url: https://api.avala.ai/api/v1
security:
  - API_Key: []
  - JWT: []
tags:
  - name: datasets
    description: To be completed...
  - name: projects
    description: To be completed...
  - name: tasks
    description: List and retrieve annotation tasks.
  - name: exports
    description: To be completed...
paths:
  /inference-providers/:
    parameters: []
    get:
      tags:
        - inference-providers
      summary: CRUD + test for inference provider configurations.
      description: |-
        GET    /api/v1/inference-providers/
        POST   /api/v1/inference-providers/
        GET    /api/v1/inference-providers/{uid}/
        PATCH  /api/v1/inference-providers/{uid}/
        DELETE /api/v1/inference-providers/{uid}/
        POST   /api/v1/inference-providers/{uid}/test/
      operationId: inference-providers_list
      parameters:
        - name: ordering
          in: query
          description: Which field to use when ordering the results.
          required: false
          schema:
            type: string
        - name: cursor
          in: query
          description: The pagination cursor value.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: Number of results to return per page.
          required: false
          schema:
            type: integer
        - name: order
          in: query
          description: >-
            Sets the CursorPagination `offset` when `cursor` is also set. e.g.
            `cursor=...&offset=1`
          schema:
            type: string
        - name: reverse
          in: query
          description: >-
            Sets the CursorPagination `reverse` when `cursor` is also set. e.g.
            `cursor=...&reverse=1`.
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                  - results
                type: object
                properties:
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/InferenceProviderConfig'
components:
  schemas:
    InferenceProviderConfig:
      required:
        - name
      type: object
      properties:
        uid:
          title: Uid
          type: string
          format: uuid
          readOnly: true
        name:
          title: Name
          description: Human-readable name, e.g. 'My YOLO v8 endpoint'.
          type: string
          maxLength: 255
          minLength: 1
        description:
          title: Description
          type: string
        provider_type:
          title: Provider type
          type: string
          enum:
            - sagemaker
            - http
        config:
          title: Config
          description: >-
            Provider-specific configuration. For HTTP: endpoint_url (required),
            auth_header, auth_type, headers, timeout, response_key. For
            SageMaker: endpoint_name, region.
          type: object
        is_active:
          title: Is active
          type: boolean
        project:
          title: Project
          description: If set, this provider is only available in this project.
          type: integer
          nullable: true
        last_test_at:
          title: Last test at
          type: string
          format: date-time
          readOnly: true
          nullable: true
        last_test_success:
          title: Last test success
          type: boolean
          readOnly: true
          nullable: true
        created_at:
          title: Created at
          type: string
          format: date-time
          readOnly: true
        updated_at:
          title: Updated at
          type: string
          format: date-time
          readOnly: true
  securitySchemes:
    API_Key:
      type: apiKey
      name: X-Avala-Api-Key
      in: header
      description: >-
        API key for authentication. Generate one in Mission Control Settings >
        Security & Identity.
    JWT:
      type: apiKey
      name: Authorization
      in: header
      description: JWT token with 'JWT' prefix, e.g., 'JWT eyJhbGciOiJIUzI1NiIsInR...'

````