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

# Get voice settings schema

> Voice settings and their accepted values for this agent's current configuration. Use `fields[].key`
as the `key` of an update, `value_type` and `validation` for the value, and
`option_sets[field.options_ref][].value` for selection fields. Labels are for display only. Read the
current values with [Get voice settings](/api-reference/voice-agent-settings/get-voice-settings).

The example below is shortened to one field; the actual response includes every field and option set.




## OpenAPI

````yaml /api-reference/openapi.yaml get /api/v1/voice_agents/{id}/concerns/voice_config/schema
openapi: 3.1.0
info:
  title: Customer API
  version: 1.0.0-beta
  description: >
    **Beta.** This API is in beta. Contracts can still change while we complete
    it, including

    breaking changes; we announce changes in the release notes and keep them as
    rare as we can.

    Pin your integration to the field names and status codes documented here and
    treat unknown

    fields as optional.


    REST API to create and configure voice agents, add tools, test them with
    evals, read

    conversations, and place AI outbound calls.


    **Authentication.** Voice agents, settings, tools, evals and conversations
    use an API token

    created on the **Keys** page of your dashboard. Each operation lists the
    scope it needs under

    `x-required-scopes`; `<resource>:*` grants every action of a resource.
    Outbound calls use a

    separate outbound API token from the **Outbound Calls** page. Send either
    token as

    `Authorization: Bearer <token>`.


    **Responses.** A single resource is returned as a flat JSON object; a
    collection is wrapped in a plural

    key (`voice_agents`, `tools`, `evals`, `conversations`) next to its paging
    fields. Deleting returns

    `204 No Content`. Everything is addressed by the voice agent's `id`; prompts
    and numbers are internal.


    **Errors.** Authentication failures return `{ "error", "message" }`. Request
    quotas return

    `429` with a `Retry-After` header and `{ "error", "message", "details" }`,
    where `error` is a

    stable machine-readable code. Every API call must finish within 30 seconds;
    longer requests return `503` with

    `mf-core:api-request-timeout`. Validation errors list the problems per
    field; the exact shape is

    shown on each operation.
servers:
  - url: https://app.miyon.ai
security: []
tags:
  - name: Voice Agents
    description: >-
      Create and manage voice agents. Configure them through the voice, prompt
      and knowledge-base settings endpoints.
  - name: Voice Agent Settings
    description: >-
      Read and change a voice agent's voice, prompt and knowledge-base settings.
      A voice agent has one prompt (its instructions, greeting and conversation
      settings). Read the schema of a settings group, then update one
      `key`/`value` pair per request.
  - name: Tools
    description: >-
      Create, configure, enable and execute agent tools. Tools are enabled per
      voice agent with `agent_id`. These endpoints accept scoped API tokens
      only; every error uses the `{ "error", "message", "details" }` envelope
      with a stable `mf-core:tool-*` code.
  - name: Outbound Calls
    description: >-
      Place AI calls and review their outcome. Authenticate with the outbound
      API token from the **Outbound Calls** page.
  - name: Conversations
    description: >-
      List and inspect the conversations of your account, including transcripts
      when your retention settings allow.
  - name: Evals
    description: >-
      Evals are automated test conversations that check how a voice agent
      responds. A scenario contains cases; each case contains the caller's turns
      and what the agent must say or do. Run a scenario to get pass/fail
      results.
paths:
  /api/v1/voice_agents/{id}/concerns/voice_config/schema:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the voice agent.
    get:
      tags:
        - Voice Agent Settings
      summary: Get voice settings schema
      description: >
        Voice settings and their accepted values for this agent's current
        configuration. Use `fields[].key`

        as the `key` of an update, `value_type` and `validation` for the value,
        and

        `option_sets[field.options_ref][].value` for selection fields. Labels
        are for display only. Read the

        current values with [Get voice
        settings](/api-reference/voice-agent-settings/get-voice-settings).


        The example below is shortened to one field; the actual response
        includes every field and option set.
      operationId: getVoiceConfigConcernSchema
      parameters:
        - name: schema_version
          in: query
          required: false
          schema:
            type: string
            enum:
              - voice-config.v1
            default: voice-config.v1
          description: Schema format version. Only `voice-config.v1` exists.
      responses:
        '200':
          description: Schema for the agent's current configuration. Shortened example.
          headers:
            Content-Language:
              description: Locale of the `label` values.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcernSchemaResponse'
              example:
                concern: voice_config
                schema_version: voice-config.v1
                shape: blocks
                revision: >-
                  agent:789:voice_config_schema:sha256:9c2e4f0a7b1d3e5f6a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f
                blocks:
                  - id: conversation
                    label: Conversation
                    label_key: voice_config.blocks.conversation
                    fields:
                      - voice_config.response_time_ms
                fields:
                  - key: voice_config.response_time_ms
                    block: conversation
                    name: response_time_ms
                    component: slider
                    value_type: number
                    label: Response delay
                    label_key: voice_config.response_time_ms.label
                    write: {}
                    validation:
                      min: 300
                      max: 3000
                      step: 100
                    dependencies: []
                    capabilities:
                      visible: true
                      writable: true
                      disabled: false
                      reason: null
                option_sets: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ConcernNotFound'
        '406':
          description: Unsupported `schema_version`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  concern:
                    type: string
                    description: The settings group.
                  errors:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                    description: Problems per parameter.
                  supported_schema_versions:
                    type: array
                    items:
                      type: string
                    description: Schema versions this endpoint can return.
              example:
                concern: voice_config
                errors:
                  schema_version:
                    - is not supported
                supported_schema_versions:
                  - voice-config.v1
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      security:
        - scopedJwt: []
components:
  schemas:
    ConcernSchemaResponse:
      type: object
      description: >-
        Fields, their accepted values and display groups of a settings group,
        for this agent's current configuration.
      properties:
        concern:
          type: string
          description: The settings group this schema describes.
        schema_version:
          type: string
          description: Version of the settings schema.
        shape:
          type: string
          const: blocks
          description: Layout hint for clients that render the settings; always `blocks`.
        revision:
          type: string
          description: >-
            Revision of the schema. Changes when the available fields or options
            change.
        blocks:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: ID of the display group.
              label:
                type: string
                description: Localized group title.
              label_key:
                type: string
                description: Translation key of the title.
              fields:
                type: array
                items:
                  type: string
                description: Keys of the fields in this group, in display order.
          description: Display groups, each listing the keys of the fields it contains.
        fields:
          type: array
          items:
            type: object
            additionalProperties: true
            properties:
              key:
                type: string
                description: The exact string to send as `key` in a PATCH.
              block:
                type: string
                description: ID of the display group in `blocks`.
              name:
                type: string
              component:
                type: string
                description: Suggested input control, for example `select` or `toggle`.
              value_type:
                type: string
                enum:
                  - string
                  - integer
                  - number
                  - boolean
                  - array
                  - object
              label:
                type: string
                description: Localized; see the `Content-Language` header.
              label_key:
                type: string
                description: >-
                  Translation key. Only relevant if you localize the UI
                  yourself.
              description_key:
                type:
                  - string
                  - 'null'
                description: >-
                  Translation key. Only relevant if you localize the UI
                  yourself.
              placeholder_key:
                type:
                  - string
                  - 'null'
                description: >-
                  Translation key. Only relevant if you localize the UI
                  yourself.
              options_ref:
                type: string
                description: >-
                  Name of the entry in `option_sets` that lists the accepted
                  values.
              write:
                type: object
                additionalProperties: true
                description: Write hints for the field.
              validation:
                type: object
                additionalProperties: true
                description: Constraints such as minimum, maximum or pattern.
              dependencies:
                type: array
                items:
                  type: object
                  additionalProperties: true
                description: Other fields whose value influences this field.
              affects_schema:
                type: boolean
                description: Present on writable fields only.
              capabilities:
                type: object
                properties:
                  visible:
                    type: boolean
                  writable:
                    type: boolean
                  disabled:
                    type: boolean
                  reason:
                    type:
                      - string
                      - 'null'
                  reason_key:
                    type:
                      - string
                      - 'null'
                required:
                  - visible
                  - writable
                  - disabled
                  - reason
                description: >-
                  Whether the field is currently visible and writable. `reason`
                  explains a disabled field.
            required:
              - key
              - block
              - name
              - component
              - value_type
              - label
              - write
              - validation
              - dependencies
              - capabilities
          description: >-
            Every setting of the group with its type, constraints and current
            capabilities.
        option_sets:
          type: object
          additionalProperties:
            type: array
            items:
              type: object
              additionalProperties: true
          description: >-
            Accepted values for selection fields, keyed by the field's
            `options_ref`.
      required:
        - concern
        - schema_version
        - shape
        - revision
        - blocks
        - fields
        - option_sets
    AuthError:
      type: object
      description: >-
        Returned when the API token is missing, invalid, expired or lacks the
        required scope.
      properties:
        error:
          type: string
          description: Short error category.
          examples:
            - Authentication failed
            - Forbidden
        message:
          type: string
          description: Human-readable explanation. Absent on some 403 responses.
          examples:
            - 'Missing required scope: voice_agents:write'
      required:
        - error
    FieldErrors:
      type: object
      description: Field-keyed error envelope. `base` holds errors not tied to one field.
      properties:
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Problems per field; `base` for problems not tied to one field.
      required:
        - errors
      additionalProperties: false
    ApiError:
      type: object
      description: >-
        Error format with a stable machine-readable `error` code, a
        human-readable `message` and request-specific `details`.
      properties:
        error:
          type: string
          description: >-
            Stable machine-readable error code, for example
            `mf-core:rate-limit-exceeded`.
        message:
          type: string
          description: Human-readable explanation.
        details:
          type: object
          additionalProperties: true
          description: >-
            Request-specific data, for example the offending parameter or the
            quota policy.
      required:
        - error
        - message
        - details
  responses:
    Unauthorized:
      description: Missing, expired or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          example:
            error: Authentication failed
            message: Missing bearer token
    Forbidden:
      description: >-
        The token does not carry the scope this operation requires (see
        `x-required-scopes`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          example:
            error: Forbidden
            message: 'Missing required scope: voice_agents:write'
    ConcernNotFound:
      description: Voice agent, or its prompt, not found in your account.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FieldErrors'
          example:
            errors:
              base:
                - agent or prompt not found
    RateLimited:
      description: >-
        Too many requests. Wait the number of seconds given in `Retry-After`
        before retrying.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
            minimum: 1
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            error: mf-core:rate-limit-exceeded
            message: Rate limit exceeded
            details:
              policy: api_write
              retry_after: 3
    ServiceUnavailable:
      description: >-
        The request was not completed. Either it exceeded the 30-second request
        time limit that applies to every API call (narrow the request and
        retry), or rate limiting is temporarily unavailable. Retry shortly.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            timeout:
              value:
                error: mf-core:api-request-timeout
                message: The API request exceeded the 30-second time limit
                details: {}
            limiter:
              value:
                error: mf-core:rate-limiter-unavailable
                message: API rate limiting is temporarily unavailable
                details:
                  policy: api_write
  securitySchemes:
    scopedJwt:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Scoped API token. Required scopes are listed on each operation in
        x-required-scopes.

````

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