---
title: "Update AWS Bedrock custom model"
method: PATCH
path: "/v2/models/aws-bedrock/{id}"
tags: ["Models"]
---

# Update AWS Bedrock custom model

`PATCH /v2/models/aws-bedrock/{id}`

Updates an AWS Bedrock custom model. ARN changes are format-validated (live AWS validation lives in the dedicated validate endpoint). Configuration and metadata are spread-merged. Parameters are replaced only when the request produces a non-empty list.

## Path parameters

- `id` string, required — The ID of the model

## Request body

- object
  - `assume_role_arn` string
  - `assume_role_external_id` string
  - `autorouter_id` string
  - `autorouter_version` string
  - `description` string
  - `display_name` string
  - `has_reasoning` boolean
  - `input_cost` number, double
  - `max_tokens` integer
  - `model_developer` string
  - `model_family` string
  - `model_id` string
  - `output_cost` number, double
  - `region` string
  - `supports_adaptive_reasoning` boolean
  - `supports_extended_thinking` boolean
  - `supports_json_mode` boolean
  - `supports_json_schema` boolean
  - `supports_strict_tool` boolean
  - `supports_tool_calling` boolean
  - `supports_vision` boolean
  - `temperature` number, double

## Response `200`

AWS Bedrock model updated successfully

- object
  - `configuration` ModelConfigurationResponse, required
    - `api_key_env` string
    - `api_version` string
    - `auth_mode` string
    - `auth_type` string
    - `base_url` string
    - `deployment_name` string
    - `endpoint` string
    - `inference_profile_arn` string
    - `integration_id` string
    - `is_openai_compatible` boolean
    - `is_tuned_model` boolean
    - `location` string
    - `project_id` string
    - `provider` string, required
    - `region` string
    - `should_use_beta_features` boolean
    - `subtype` string
    - `workspace_id` string
  - `created` string, required
  - `description` string, nullable, required
  - `display_name` string, required
  - `docs_url` string, nullable, required
  - `enabled` boolean, required
  - `enabled_for_endpoints` boolean, required
  - `enabled_for_playground` boolean, required
  - `has_cpu_pricing` boolean, required
  - `has_functions` boolean, required
  - `id` string, required
  - `input_cost` number, double, nullable, required
  - `input_currency` string, required
  - `is_active` boolean, required
  - `legacy_uuid` string
  - `metadata` ModelMetadata, required
    - `allowed_passthrough_parameters` string[], nullable
    - `autorouter` AutoRouterConfig
      - `economical_model` string
      - `id` string
      - `models` string[], nullable
      - `profile` string
      - `strong_model` string
      - `v2` AutoRouterV2Config
        - `aa_creator` AutoRouterV2CreatorConfig
          - `id` string, required
          - `name` string, required
          - `slug` string, required
        - `aa_evaluations` object
        - `aa_median_output_tokens_per_second` number, double
        - `aa_median_time_to_first_answer_token` number, double
        - `aa_median_time_to_first_token_seconds` number, double
        - `aa_model_id` string
        - `aa_name` string
        - `aa_pricing` object
        - `aa_release_date` string
        - `aa_slug` string
        - `default_effort` string
        - `intelligence_index` number, double, required
        - `price` number, double, required
        - `reasoning_efforts` object
      - `version` string
    - `cached_image_input_cost` number, double
    - `cached_input_cost` number, double
    - `chain_of_thought` boolean
    - `context_length` integer
    - `context_window` integer
    - `cost_efficiency_rating` integer
    - `cost_per_image` number, double
    - `deprecation_date` string
    - `embedding_dimensions` integer
    - `extended_context_pricing_mode` string
    - `extended_context_threshold` integer
    - `generate_audio` boolean
    - `image_input_cost` number, double
    - `image_output_cost` number, double
    - `image_token_cost` number, double
    - `intelligence_rating` integer
    - `is_private` boolean, required
    - `is_realtime` boolean
    - `knowledge_cutoff` string
    - `max_images_per_request` integer
    - `max_input_tokens` integer
    - `max_output_tokens` integer
    - `max_temperature` number, double
    - `million_searches_cost` number, double
    - `million_tokens_above_128k_cache_read_cost` number, double
    - `million_tokens_above_128k_cache_write_cost` number, double
    - `million_tokens_above_128k_input_cost` number, double
    - `million_tokens_above_128k_output_cost` number, double
    - `million_tokens_above_200k_cache_read_cost` number, double
    - `million_tokens_above_200k_cache_write_cost` number, double
    - `million_tokens_above_200k_input_cost` number, double
    - `million_tokens_above_200k_output_cost` number, double
    - `million_tokens_audio_input_cost` number, double
    - `million_tokens_audio_output_cost` number, double
    - `million_tokens_batches_input_cost` number, double
    - `million_tokens_batches_output_cost` number, double
    - `million_tokens_cache_read_cost` number, double
    - `million_tokens_cache_write_1h_cost` number, double
    - `million_tokens_cache_write_5m_cost` number, double
    - `million_tokens_cache_write_cost` number, double
    - `million_tokens_input_cost` number, double
    - `million_tokens_output_cost` number, double
    - `million_tokens_reasoning_cost` number, double
    - `multilingual` boolean
    - `offline` boolean
    - `per_video_second_cost` number, double
    - `per_video_second_cost_1080p` number, double
    - `pricing` Pricing
      - `cache_read` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `cache_write_1h` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `cache_write_5m` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `input` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `output` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `reasoning` Price
        - `cost` number, double, required
        - `currency` string, required
        - `per` integer, required
        - `unit` string, required
      - `variants` PricingVariant[], nullable
        - `cache_read` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `cache_write_1h` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `cache_write_5m` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `input` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `output` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `reasoning` Price
          - `cost` number, double, required
          - `currency` string, required
          - `per` integer, required
          - `unit` string, required
        - `when` string, required
    - `reasoning_cost` number, double
    - `reasoning_tokens` integer
    - `region` string
    - `speed_rating` integer
    - `supported_video_aspect_ratios` string[], nullable
    - `supported_video_durations` integer[], nullable
    - `supported_video_frame_images` string[], nullable
    - `supported_video_resolutions` string[], nullable
    - `supported_video_sizes` string[], nullable
    - `supports_adaptive_reasoning` boolean
    - `supports_audio_input` boolean
    - `supports_audio_output` boolean
    - `supports_b64_json_response_format` boolean
    - `supports_batch_api` boolean
    - `supports_cache_control` boolean
    - `supports_citations` boolean
    - `supports_code_execution` boolean
    - `supports_commercial_use` boolean
    - `supports_computer_use` boolean
    - `supports_developer_message` boolean
    - `supports_direct_cost` boolean
    - `supports_distillation` boolean
    - `supports_extended_thinking` boolean
    - `supports_fine_tuning` boolean
    - `supports_image_edit` boolean
    - `supports_image_input` boolean
    - `supports_image_output` boolean
    - `supports_images` boolean
    - `supports_json_mode_response_format` boolean
    - `supports_json_schema_response_format` boolean
    - `supports_max_completion_tokens` boolean
    - `supports_openai_sdk` boolean
    - `supports_parallel_tool_calls` boolean
    - `supports_pdf_input` boolean
    - `supports_prompt_caching` boolean
    - `supports_reasoning` boolean
    - `supports_reasoning_effort_default` boolean
    - `supports_reasoning_effort_high` boolean
    - `supports_reasoning_effort_low` boolean
    - `supports_reasoning_effort_max` boolean
    - `supports_reasoning_effort_medium` boolean
    - `supports_reasoning_effort_minimal` boolean
    - `supports_reasoning_effort_none` boolean
    - `supports_reasoning_effort_xhigh` boolean
    - `supports_responses_api` boolean
    - `supports_sampling_params` boolean
    - `supports_service_tier` boolean
    - `supports_streaming` boolean
    - `supports_strict_tool` boolean
    - `supports_structured_outputs` boolean
    - `supports_system_message` boolean
    - `supports_text` boolean
    - `supports_text_input` boolean
    - `supports_text_output` boolean
    - `supports_tool_calling` boolean
    - `supports_tool_choice` boolean
    - `supports_url_context` boolean
    - `supports_url_response_format` boolean
    - `supports_video_input` boolean
    - `supports_video_output` boolean
    - `supports_video_seed` boolean
    - `supports_vision` boolean
    - `supports_web_search` boolean
    - `supports_zdr` boolean
    - `thinking_enforced` boolean
  - `model_developer` string
  - `model_family` string
  - `model_id` string, required
  - `model_type` string, required
  - `output_cost` number, double, nullable, required
  - `output_currency` string, required
  - `owner` string, required
  - `parameters` ModelParameterDocument[], nullable, required
    - `config` object, required
    - `description` string, nullable, required
    - `hints` string
    - `id` string, required
    - `is_active` boolean, required
    - `name` string, required
    - `parameter` string, required
    - `parameter_type` string, required
    - `position` integer
  - `pricing_url` string, nullable, required
  - `provider` string, required
  - `refId` string, required
  - `sharing` ModelSharingConfig
    - `allow_fork` boolean, required
    - `allow_version_pin` boolean, required
    - `auto_grant_new_projects` boolean, required
    - `mode` string, required
    - `project_ids` string[], nullable
  - `updated` string, required

## Other responses

- `400` — Invalid ARN format or request
- `404` — Model not found or not accessible in this workspace

---

[API](https://skmtc.net/orq-ai/apis/orq-ai-api.md) · [All operations](https://skmtc.net/orq-ai/apis/orq-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orq-ai/orq-ai-api/versions/41c02aedc7c0/schema)
