{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "amazon-bedrock-customization",
    "name": "Amazon Bedrock model customisation",
    "vendor": "Amazon Web Services",
    "vendorUrl": "https://aws.amazon.com/bedrock/",
    "kind": "http-api",
    "category": "fine-tuning",
    "summary": "Managed supervised fine-tuning, reinforcement fine-tuning and distillation of Amazon Nova, Meta Llama and selected open-weight models on Amazon Bedrock, run as asynchronous jobs through the Bedrock control-plane API, the AWS SDKs and CLI, or OpenAI-compatible endpoints.",
    "url": "https://www.anchorterminal.com/tools/amazon-bedrock-customization",
    "markdownUrl": "https://www.anchorterminal.com/tools/amazon-bedrock-customization.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-bedrock-customization.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-bedrock-customization.json",
    "transports": [
      "http"
    ],
    "remoteUrl": "https://bedrock.{region}.amazonaws.com/model-customization-jobs",
    "packages": [
      {
        "registry": "pypi",
        "name": "boto3"
      },
      {
        "registry": "npm",
        "name": "@aws-sdk/client-bedrock"
      }
    ],
    "auth": "mixed",
    "authNotes": "AWS Signature Version 4 with IAM credentials or a role allowed to call `bedrock:CreateModelCustomizationJob`, plus `iam:PassRole` for a service role that Bedrock assumes to read training data from S3 and write output. Access is self-serve inside an AWS account. The OpenAI-compatible fine-tuning endpoints on `bedrock-mantle` also accept a Bedrock API key as a bearer token, short-term (up to 12 hours) or long-term, and reinforcement jobs need `lambda:InvokeFunction` on the reward function.",
    "pricing": "usage",
    "pricingNotes": "Supervised fine-tuning is billed per training token (dataset tokens times epochs). Nova Micro $1, Nova Lite $2, Nova 2 Lite $3.78 and Nova Pro $8 per 1M tokens, and Llama from $0.50 (3.2 1B) to $7.99 (3.1 70B). Reinforcement fine-tuning is $80 per training hour. Each custom model costs $1.95 a month to store. Inference is at base-model token prices where on-demand deployment is supported, otherwise Provisioned Throughput by the hour. No free tier for customisation appears on the pricing page. New AWS accounts get up to $200 in Free Tier credits, and there is no sandbox (https://aws.amazon.com/bedrock/pricing/).",
    "priceSummary": "Pay per use",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the user guide, the API reference or the pricing page (checked 2026-10-08).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": 2810365,
      "pypiWeekly": 573748207,
      "asOf": "2026-10-08"
    },
    "docsUrl": "https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html",
    "llmsTxt": "https://docs.aws.amazon.com/bedrock/latest/userguide/llms.txt",
    "capabilities": [
      "finetune.sft",
      "finetune.rl"
    ],
    "tags": [
      "hosted",
      "usage-priced",
      "closed-source",
      "enterprise",
      "python",
      "typescript",
      "async-jobs",
      "llms-txt",
      "status-page",
      "soc2"
    ],
    "lastRelease": "2026-05-28",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 75.8,
      "grade": "BB",
      "agentReady": true,
      "rank": 39,
      "ranked": true,
      "rankOf": 842,
      "categoryRank": 1,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 77,
        "maintenance": 45,
        "payments": 30,
        "reliability": 95,
        "schema": 87,
        "security": 87,
        "transparency": 83
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 95,
          "points": 19,
          "reason": "Graded on the hosted lines. AWS Health Dashboard with per-service, per-Region history (20). AWS's dashboard history file, read on 8 October 2026, has no Bedrock event in us-east-1 or us-west-2 inside 90 days. The only Bedrock-specific entry is a model access problem in us-east-1 on 13 June 2026. Bedrock is named in the Middle East Region disruptions open since March 2026 and in a packet-loss event in eu-south-2 on 4 October, but fine-tuning runs only in us-east-1 and us-west-2, so we read the record as clean for this product, which is our call (30). Quotas are published with numbers in the AWS General Reference, including 10 scheduled customisation jobs, 2 custom models in creating status, 100 custom models and 10 deployments per Region, and record caps per base model (15). `ThrottlingException` is a documented 429, the API error page advises retries with exponential backoff and jitter, and `clientRequestToken` makes job creation idempotent (15). The Bedrock SLA, last updated 4 October 2023, promises service credits below 99.9 per cent monthly uptime and counts 500 errors on Bedrock API requests. It doesn't mention customisation or training jobs (5 of 10, our call). Supervised fine-tuning, reinforcement fine-tuning and distillation carry no preview label in the user guide (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 87,
          "points": 14.14,
          "reason": "AWS publishes the Bedrock service model (API version 2023-04-20, 108 operations) that the SDKs are generated from, and the API reference gives each field's type, pattern and enum (25). The user guide has an llms.txt and answers every page as Markdown at `.md` (10). The overview says what each method is for, and the reinforcement page lists when to use it and when supervised tuning should come first. Guidance on choosing between distillation and fine-tuning is thinner (16 of 20). `customizationType` is an enum and names and ARNs have patterns, but `hyperParameters` is a string-to-string map whose keys differ per model and are documented only in prose (10 of 15). Code samples for Python, CLI and HTTP, eight typed errors with HTTP codes and a troubleshooting page that quotes job failure messages. One HTTP example for the OpenAI-compatible route names `gpt-4o-mini` as the model, which Bedrock doesn't list (13 of 15). A dated API version and a dated document history, though its newest customisation entry is 17 February 2026 (13 of 15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 77,
          "points": 12.51,
          "reason": "List calls return job summaries, not full job objects, and `maxResults` runs from 1 to 1,000. No field selection (15 of 25). `ListModelCustomizationJobs` filters by status, name and creation time, sorts by creation time and pages with `nextToken` (20). Typed exceptions with HTTP codes, plus a troubleshooting page for S3 permission, data format and token-limit failures. A quota breach returns 400 `ServiceQuotaExceededException` beside the 429 (16 of 20). `clientRequestToken` on job creation, and the published service model marks the operation idempotent. No equivalent was found for the OpenAI-compatible route (18 of 20). SDKs in nine languages and the CLI, but a job needs a role ARN, a base model, two names, an S3 training location and an S3 output location, hyperparameter names vary by model, and the result needs a separate deployment or Provisioned Throughput before it answers (8 of 15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 87,
          "points": 15.23,
          "reason": "IAM with Signature Version 4, roles and short-lived credentials, and policies per action and resource. The OpenAI-compatible endpoints also accept Bedrock API keys as bearer tokens, short-term for up to 12 hours or long-term with a set expiry, revocable through IAM, and none travels in a URL (30). Job creation is its own IAM action, the service role can be limited to named S3 buckets, the caller needs `iam:PassRole`, and jobs can run inside a VPC. No confirmation step before deleting a custom model was found (16 of 20). The API returns job state and the customer's own model output. Reinforcement jobs call a Lambda function the customer wrote (10). The CloudTrail page says all Bedrock control-plane operations are logged as management events by default. Whether calls to the OpenAI-compatible fine-tuning endpoints are logged was not checked (13 of 15). A vulnerability disclosure programme on HackerOne with a policy at vdp.aws.security, and Amazon Bedrock in SOC 1, 2 and 3 scope on AWS's list updated 11 August 2026 (Bedrock Marketplace excluded). The aws.amazon.com security.txt expired on 24 September 2026 and no paid bounty was found, read as the other AWS listings read the same evidence (18 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 (0). Per-token training prices, the $80 hourly rate for reinforcement fine-tuning and the $1.95 monthly storage charge are public without a login. The token figures are drawn by script from a public price file (20). No free tier for customisation on the pricing page. New AWS accounts get up to $200 in Free Tier credits over six months and the Free Tier page lists Amazon Bedrock. The page doesn't say whether a payment method is needed or whether credits cover training jobs, so half, as on the other AWS listings (10). An AWS account, an IAM role and S3 buckets are set up by a person first (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 45,
          "points": 3.94,
          "reason": "The newest customisation API change found is `ModelPackageArn` on `CreateCustomModel` in boto3 1.43.17, uploaded on 28 May 2026, 133 days before 8 October. Reinforcement fine-tuning arrived on 3 December 2025 and the OpenAI-compatible route on 17 February 2026 (10). No customisation entry in the document history since 17 February 2026, and none among the latest 100 Bedrock posts on What's New, which run back to 10 March 2026 (0). Public document history and What's New, with support through re:Post and paid AWS Support (10 of 15). Current SDKs, boto3 1.43.109 on 7 October 2026 and `@aws-sdk/client-bedrock` 3.1148.0 (15). The SDKs ship several times a week and boto3 supports Python 3.10 and later (10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 83,
          "points": 7.26,
          "note": "editorial 77, provenance 88",
          "reason": "Closed service under the AWS Customer Agreement and Service Terms. The SDKs are Apache-2.0 (15). Service Terms section 50.12.4 gives the customer exclusive use of a customised model and bars third-party providers from accessing it. The encryption page says training data is used only for the job, is not stored after it completes and is not used to train base models, and custom models are encrypted with an AWS-owned or customer-managed key. Section 50.12.2 allows up to 30 days of input and output storage for abuse detection on certain models, and the documents don't say whether that reaches inference on a tuned model (26 of 30). The model lifecycle page sets Legacy notice periods of six months or 45 days before end of life and says what happens to customised models, which lose new jobs and new Provisioned Throughput once the base is Legacy (18 of 20). AWS's sub-processor page was last updated on 28 July 2026, and each base model's Region is stated (18 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "List calls return job summaries, not full job objects, and `maxResults` runs from 1 to 1,000. No field selection (15 of 25). `ListModelCustomizationJobs` filters by status, name and creation time, sorts by creation time and pages with `nextToken` (20). Typed exceptions with HTTP codes, plus a troubleshooting page for S3 permission, data format and token-limit failures. A quota breach returns 400 `ServiceQuotaExceededException` beside the 429 (16 of 20). `clientRequestToken` on job creation, and the published service model marks the operation idempotent. No equivalent was found for the OpenAI-compatible route (18 of 20). SDKs in nine languages and the CLI, but a job needs a role ARN, a base model, two names, an S3 training location and an S3 output location, hyperparameter names vary by model, and the result needs a separate deployment or Provisioned Throughput before it answers (8 of 15).",
          "maintenance": "The newest customisation API change found is `ModelPackageArn` on `CreateCustomModel` in boto3 1.43.17, uploaded on 28 May 2026, 133 days before 8 October. Reinforcement fine-tuning arrived on 3 December 2025 and the OpenAI-compatible route on 17 February 2026 (10). No customisation entry in the document history since 17 February 2026, and none among the latest 100 Bedrock posts on What's New, which run back to 10 March 2026 (0). Public document history and What's New, with support through re:Post and paid AWS Support (10 of 15). Current SDKs, boto3 1.43.109 on 7 October 2026 and `@aws-sdk/client-bedrock` 3.1148.0 (15). The SDKs ship several times a week and boto3 supports Python 3.10 and later (10).",
          "payments": "No x402, MPP or L402 (0). Per-token training prices, the $80 hourly rate for reinforcement fine-tuning and the $1.95 monthly storage charge are public without a login. The token figures are drawn by script from a public price file (20). No free tier for customisation on the pricing page. New AWS accounts get up to $200 in Free Tier credits over six months and the Free Tier page lists Amazon Bedrock. The page doesn't say whether a payment method is needed or whether credits cover training jobs, so half, as on the other AWS listings (10). An AWS account, an IAM role and S3 buckets are set up by a person first (0).",
          "reliability": "Graded on the hosted lines. AWS Health Dashboard with per-service, per-Region history (20). AWS's dashboard history file, read on 8 October 2026, has no Bedrock event in us-east-1 or us-west-2 inside 90 days. The only Bedrock-specific entry is a model access problem in us-east-1 on 13 June 2026. Bedrock is named in the Middle East Region disruptions open since March 2026 and in a packet-loss event in eu-south-2 on 4 October, but fine-tuning runs only in us-east-1 and us-west-2, so we read the record as clean for this product, which is our call (30). Quotas are published with numbers in the AWS General Reference, including 10 scheduled customisation jobs, 2 custom models in creating status, 100 custom models and 10 deployments per Region, and record caps per base model (15). `ThrottlingException` is a documented 429, the API error page advises retries with exponential backoff and jitter, and `clientRequestToken` makes job creation idempotent (15). The Bedrock SLA, last updated 4 October 2023, promises service credits below 99.9 per cent monthly uptime and counts 500 errors on Bedrock API requests. It doesn't mention customisation or training jobs (5 of 10, our call). Supervised fine-tuning, reinforcement fine-tuning and distillation carry no preview label in the user guide (10).",
          "schema": "AWS publishes the Bedrock service model (API version 2023-04-20, 108 operations) that the SDKs are generated from, and the API reference gives each field's type, pattern and enum (25). The user guide has an llms.txt and answers every page as Markdown at `.md` (10). The overview says what each method is for, and the reinforcement page lists when to use it and when supervised tuning should come first. Guidance on choosing between distillation and fine-tuning is thinner (16 of 20). `customizationType` is an enum and names and ARNs have patterns, but `hyperParameters` is a string-to-string map whose keys differ per model and are documented only in prose (10 of 15). Code samples for Python, CLI and HTTP, eight typed errors with HTTP codes and a troubleshooting page that quotes job failure messages. One HTTP example for the OpenAI-compatible route names `gpt-4o-mini` as the model, which Bedrock doesn't list (13 of 15). A dated API version and a dated document history, though its newest customisation entry is 17 February 2026 (13 of 15).",
          "security": "IAM with Signature Version 4, roles and short-lived credentials, and policies per action and resource. The OpenAI-compatible endpoints also accept Bedrock API keys as bearer tokens, short-term for up to 12 hours or long-term with a set expiry, revocable through IAM, and none travels in a URL (30). Job creation is its own IAM action, the service role can be limited to named S3 buckets, the caller needs `iam:PassRole`, and jobs can run inside a VPC. No confirmation step before deleting a custom model was found (16 of 20). The API returns job state and the customer's own model output. Reinforcement jobs call a Lambda function the customer wrote (10). The CloudTrail page says all Bedrock control-plane operations are logged as management events by default. Whether calls to the OpenAI-compatible fine-tuning endpoints are logged was not checked (13 of 15). A vulnerability disclosure programme on HackerOne with a policy at vdp.aws.security, and Amazon Bedrock in SOC 1, 2 and 3 scope on AWS's list updated 11 August 2026 (Bedrock Marketplace excluded). The aws.amazon.com security.txt expired on 24 September 2026 and no paid bounty was found, read as the other AWS listings read the same evidence (18 of 20).",
          "transparency": "Closed service under the AWS Customer Agreement and Service Terms. The SDKs are Apache-2.0 (15). Service Terms section 50.12.4 gives the customer exclusive use of a customised model and bars third-party providers from accessing it. The encryption page says training data is used only for the job, is not stored after it completes and is not used to train base models, and custom models are encrypted with an AWS-owned or customer-managed key. Section 50.12.2 allows up to 30 days of input and output storage for abuse detection on certain models, and the documents don't say whether that reaches inference on a tuned model (26 of 30). The model lifecycle page sets Legacy notice periods of six months or 45 days before end of life and says what happens to customised models, which lose new jobs and new Provisioned Throughput once the base is Legacy (18 of 20). AWS's sub-processor page was last updated on 28 July 2026, and each base model's Region is stated (18 of 20)."
        },
        "sources": [
          {
            "what": "model customisation overview",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html",
            "seen": "2026-10-08"
          },
          {
            "what": "supervised fine-tuning, supported models and Regions",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/custom-model-fine-tuning.html",
            "seen": "2026-10-08"
          },
          {
            "what": "submit a fine-tuning job",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-submit.html",
            "seen": "2026-10-08"
          },
          {
            "what": "reinforcement fine-tuning",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/reinforcement-fine-tuning.html",
            "seen": "2026-10-08"
          },
          {
            "what": "reinforcement fine-tuning for Nova, 20,000 prompt cap",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/rft-nova-models.html",
            "seen": "2026-10-08"
          },
          {
            "what": "OpenAI-compatible fine-tuning APIs",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/fine-tuning-openai-apis.html",
            "seen": "2026-10-08"
          },
          {
            "what": "OpenAI-compatible job calls",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/fine-tuning-openai-job-create.html",
            "seen": "2026-10-08"
          },
          {
            "what": "access and security for open-weight reinforcement jobs",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/rft-open-weight-access-security.html",
            "seen": "2026-10-08"
          },
          {
            "what": "distillation prerequisites and model pairs",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/prequisites-model-distillation.html",
            "seen": "2026-10-08"
          },
          {
            "what": "on-demand deployment of custom models",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/deploy-custom-model-on-demand.html",
            "seen": "2026-10-08"
          },
          {
            "what": "encryption and use of training data",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-custom-job.html",
            "seen": "2026-10-08"
          },
          {
            "what": "troubleshooting customisation jobs",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/fine-tuning-troubleshooting.html",
            "seen": "2026-10-08"
          },
          {
            "what": "API error codes and retry guidance",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html",
            "seen": "2026-10-08"
          },
          {
            "what": "model lifecycle and customised models",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Bedrock API keys",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html",
            "seen": "2026-10-08"
          },
          {
            "what": "CloudTrail logging",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/logging-using-cloudtrail.html",
            "seen": "2026-10-08"
          },
          {
            "what": "document history",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/doc-history.html",
            "seen": "2026-10-08"
          },
          {
            "what": "user guide llms.txt",
            "url": "https://docs.aws.amazon.com/bedrock/latest/userguide/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "CreateModelCustomizationJob API reference",
            "url": "https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html",
            "seen": "2026-10-08"
          },
          {
            "what": "ListModelCustomizationJobs API reference",
            "url": "https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListModelCustomizationJobs.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Bedrock service model in botocore",
            "url": "https://raw.githubusercontent.com/boto/botocore/develop/botocore/data/bedrock/2023-04-20/service-2.json",
            "seen": "2026-10-08"
          },
          {
            "what": "endpoints and quotas",
            "url": "https://docs.aws.amazon.com/general/latest/gr/bedrock.html",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing",
            "url": "https://aws.amazon.com/bedrock/pricing/",
            "seen": "2026-10-08"
          },
          {
            "what": "price file loaded by the pricing page",
            "url": "https://b0.p.awsstatic.com/pricing/2.0/meteredUnitMaps/bedrock/USD/current/bedrock.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Bedrock SLA",
            "url": "https://aws.amazon.com/bedrock/sla/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Service Terms, sections 1.8, 50.11 and 50.12",
            "url": "https://aws.amazon.com/service-terms/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Customer Agreement",
            "url": "https://aws.amazon.com/agreement/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Privacy Notice",
            "url": "https://aws.amazon.com/privacy/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS sub-processors",
            "url": "https://aws.amazon.com/compliance/sub-processors/",
            "seen": "2026-10-08"
          },
          {
            "what": "SOC scope",
            "url": "https://aws.amazon.com/compliance/services-in-scope/SOC/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Free Tier",
            "url": "https://aws.amazon.com/free/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Health Dashboard history file",
            "url": "https://history-events-us-east-1-prod.s3.amazonaws.com/historyevents.json",
            "seen": "2026-10-08"
          },
          {
            "what": "What's New feed for Amazon Bedrock",
            "url": "https://aws.amazon.com/about-aws/whats-new/",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt",
            "url": "https://aws.amazon.com/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "boto3 changelog",
            "url": "https://raw.githubusercontent.com/boto/boto3/develop/CHANGELOG.rst",
            "seen": "2026-10-08"
          },
          {
            "what": "boto3 on PyPI",
            "url": "https://pypi.org/project/boto3/",
            "seen": "2026-10-08"
          },
          {
            "what": "@aws-sdk/client-bedrock on npm",
            "url": "https://registry.npmjs.org/@aws-sdk/client-bedrock/latest",
            "seen": "2026-10-08"
          },
          {
            "what": "RDAP for amazonaws.com",
            "url": "https://rdap.verisign.com/com/v1/domain/amazonaws.com",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "The Reliability incident score of 30 rests on reading only us-east-1 and us-west-2, where fine-tuning runs. The Bedrock Guardrails listing scored 10 on the same history file because Guardrails runs in the disrupted Middle East Regions",
          "Whether the Bedrock SLA covers customisation jobs or only inference requests. The SLA doesn't say",
          "unchecked: whether a new AWS account needs a payment method and whether Free Tier credits can pay for training jobs. The Free Tier page states neither, and the FAQ was not read",
          "unchecked: training prices for Claude 3 Haiku and Llama 3.3 70B, and all rows outside us-east-1 and us-west-2, in the script-drawn pricing tables",
          "Whether failed or stopped jobs are billed. Not found in the reviewed documentation",
          "Whether weights of a tuned open-weight model (gpt-oss-20b, Qwen3 32B) can be exported. No export operation was found, and Service Terms section 50.11 forbids extracting weights",
          "The pricing page names Preference Optimisation, which the user guide and service model don't document",
          "Whether abuse-detection retention of up to 30 days applies to inference on a customised model",
          "Service Terms section 1.8 allows benchmarks on condition that the tester discloses everything needed to replicate them, which matters before our probes run",
          "The OpenAI-compatible endpoints are on `api.aws`, a second AWS domain, which the provenance check may read as off the vendor's domain",
          "The lead was right on vendor, methods and interface. It didn't mention the OpenAI-compatible `/v1/fine_tuning/jobs` route for open-weight models"
        ]
      },
      "negative": 0,
      "verdict": "Job creation takes an idempotency token, job lists filter and paginate, and the Service Terms give the customer exclusive use of a tuned model. Jobs run in two US Regions only, weights can't be exported, and the newest customisation API change found dates from 28 May 2026.",
      "bestFor": "Teams already on AWS that want to tune Amazon Nova or Llama models, or run reinforcement fine-tuning with a Lambda reward function, and serve the result inside Bedrock.",
      "strengths": [
        "`CreateModelCustomizationJob` accepts a `clientRequestToken`, so a repeated create after a timeout doesn't start a second job",
        "`ListModelCustomizationJobs` filters by status, name and creation time, sorts, and pages with `maxResults` up to 1,000 and `nextToken`",
        "Service Terms section 50.12.4 gives the customer exclusive use of a customised model and bars third-party model providers from accessing it",
        "Training prices are public per 1M tokens, from $0.50 for Llama 3.2 1B to $8 for Nova Pro, with storage at $1.95 a model a month",
        "Supervised tunes of Nova and Llama 3.3 70B deploy for on-demand, per-token inference at base-model prices, without Provisioned Throughput"
      ],
      "weaknesses": [
        "Fine-tuning runs in us-east-1 and us-west-2 only, and each base model in one of them (two for the Titan models)",
        "No weight export was found in the reviewed documentation, and Service Terms section 50.11 forbids extracting model weights",
        "Setup needs an IAM service role, `iam:PassRole` and S3 buckets for input and output before the first job",
        "Reinforcement fine-tuning is billed at $80 a training hour and covers three models. Distillation is not available for Anthropic models",
        "The Bedrock SLA is dated 4 October 2023 and doesn't mention customisation jobs. No customisation launch appears in the latest 100 Bedrock What's New posts"
      ],
      "agentNotes": [
        "Send a `clientRequestToken` with every `CreateModelCustomizationJob` call, and poll `GetModelCustomizationJob`. Jobs are asynchronous and can take hours",
        "Create the job in the Region that hosts the base model (Nova in us-east-1, Llama and Claude 3 Haiku in us-west-2), with the S3 bucket in the same Region",
        "Pass an IAM service role that trusts `bedrock.amazonaws.com` and can read the training data and write the output location. The caller needs `iam:PassRole`",
        "After a job completes, call `CreateCustomModelDeployment` and use the deployment ARN as `modelId`. Models outside the on-demand list need Provisioned Throughput",
        "For gpt-oss-20b and Qwen3 32B, use `/v1/fine_tuning/jobs` on `bedrock-mantle.us-west-2.api.aws` with a Bedrock API key and a Lambda grader ARN"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "BB",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 75.8
        }
      ],
      "editorialScores": {
        "ergonomics": 77,
        "maintenance": 45,
        "payments": 30,
        "reliability": 95,
        "schema": 87,
        "security": 87,
        "transparency": 77
      },
      "provenanceScore": 88
    },
    "connect": {
      "install": "pip install boto3   # or: npm i @aws-sdk/client-bedrock",
      "http": "curl -X POST \"https://bedrock.us-east-1.amazonaws.com/model-customization-jobs\" \\\n  --aws-sigv4 \"aws:amz:us-east-1:bedrock\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"jobName\":\"my-tune\",\"customModelName\":\"my-nova-tune\",\"roleArn\":\"arn:aws:iam::123456789012:role/BedrockCustomisationRole\",\"baseModelIdentifier\":\"amazon.nova-2-lite-v1:0:256k\",\"clientRequestToken\":\"my-tune-001\",\"trainingDataConfig\":{\"s3Uri\":\"s3://my-bucket/train.jsonl\"},\"outputDataConfig\":{\"s3Uri\":\"s3://my-bucket/output/\"}}'"
    },
    "letme": {
      "capability": "https://letme.dev/finetune.sft",
      "tool": "https://letme.dev/amazon-bedrock-customization"
    },
    "sameCompany": [
      "agentcore-code-interpreter",
      "amazon-textract",
      "aws-end-user-messaging",
      "amazon-sns",
      "amazon-s3"
    ],
    "notable": [
      "Three methods on one job API. `customizationType` is `FINE_TUNING`, `CONTINUED_PRE_TRAINING`, `DISTILLATION` or `REINFORCEMENT_FINE_TUNING` in the published service model, and `customizationConfig` carries `distillationConfig` or `rftConfig` (https://raw.githubusercontent.com/boto/botocore/develop/botocore/data/bedrock/2023-04-20/service-2.json)",
      "Supervised fine-tuning covers Nova 2 Lite, Nova Lite, Micro, Pro and Canvas in us-east-1, Claude 3 Haiku and seven Llama 3.1, 3.2 and 3.3 models in us-west-2, and two Titan models in both (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-model-fine-tuning.html)",
      "Reinforcement fine-tuning covers Nova 2 Lite, gpt-oss-20B and Qwen3 32B, scores responses with a customer Lambda function or a model judge, trains with GRPO and takes at most 20,000 prompts (https://docs.aws.amazon.com/bedrock/latest/userguide/reinforcement-fine-tuning.html)",
      "Open-weight reinforcement jobs run through OpenAI-compatible Files and `/v1/fine_tuning/jobs` calls on `bedrock-mantle.us-west-2.api.aws`, and the tuned model is callable there without a deployment step (https://docs.aws.amazon.com/bedrock/latest/userguide/fine-tuning-openai-apis.html)",
      "Distillation pairs Nova Pro or Nova Premier teachers with Nova students and Llama 3.1 405B, 3.1 70B or 3.3 70B teachers with smaller Llama students. The page says distillation is not currently available for Anthropic models (https://docs.aws.amazon.com/bedrock/latest/userguide/prequisites-model-distillation.html)",
      "On-demand deployment of a custom model is limited to Nova Lite, Nova 2 Lite, Nova Micro, Nova Pro and Llama 3.3 70B, for models customised on or after 16 July 2025 (https://docs.aws.amazon.com/bedrock/latest/userguide/deploy-custom-model-on-demand.html)",
      "AWS says training and validation data are not stored after the job completes and are not used to train base models, and warns that a tuned model can replay training data (https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-custom-job.html)",
      "Once a base model enters the Legacy state, new fine-tuning jobs and new Provisioned Throughput on it are refused, while existing deployments keep working until end of life (https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html)",
      "The pricing page mentions Preference Optimisation among parameter-efficient methods. No preference method was found in the user guide or the service model (https://aws.amazon.com/bedrock/pricing/)"
    ],
    "area": "models",
    "details": [
      {
        "label": "Methods",
        "value": "Supervised fine-tuning, reinforcement fine-tuning with a Lambda or model-judge reward function, distillation, and continued pre-training in the API enum"
      },
      {
        "label": "Base models",
        "value": "Nova 2 Lite, Nova Lite, Micro, Pro and Canvas, Claude 3 Haiku, Llama 3.1 8B and 70B, Llama 3.2 1B, 3B, 11B and 90B, Llama 3.3 70B, Titan Image Generator G1 v2, Titan Multimodal Embeddings G1. Reinforcement only for Nova 2 Lite, gpt-oss-20B and Qwen3 32B"
      },
      {
        "label": "Regions",
        "value": "us-east-1 for Nova, us-west-2 for Llama, Claude 3 Haiku, gpt-oss-20B and Qwen3 32B, both for the Titan models"
      },
      {
        "label": "Weights",
        "value": "No export found. Custom models are stored and managed by AWS, and can be copied to another Region or shared with another AWS account"
      },
      {
        "label": "Serving",
        "value": "On-demand deployment at base-model token prices for Nova Lite, Nova 2 Lite, Micro, Pro and Llama 3.3 70B. Provisioned Throughput by the model-unit hour otherwise ($24 an hour for Llama 3.1 8B with no commitment)"
      },
      {
        "label": "Storage",
        "value": "$1.95 per custom model per month"
      },
      {
        "label": "Reinforcement fine-tuning price",
        "value": "$80 per training hour for Nova 2 Lite, gpt-oss-20b and Qwen3 32B"
      },
      {
        "label": "Data source",
        "value": "JSONL in Amazon S3 in the job's Region, or Bedrock invocation logs. The OpenAI-compatible route uploads through the Files API"
      },
      {
        "label": "Quotas",
        "value": "10 scheduled customisation jobs, 2 custom models in creating status, 100 custom models and 10 custom model deployments per Region. 20,000 records per Nova 2 Lite job and 10,000 per Llama 3.3 70B job"
      },
      {
        "label": "Free tier",
        "value": "None for customisation on the pricing page. New AWS accounts get up to $200 in Free Tier credits over six months"
      }
    ],
    "unitPrices": [
      {
        "item": "Nova 2 Lite, supervised fine-tuning",
        "unit": "1m-tokens",
        "usd": 3.78,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Nova Pro, supervised fine-tuning",
        "unit": "1m-tokens",
        "usd": 8,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Nova Lite, supervised fine-tuning",
        "unit": "1m-tokens",
        "usd": 2,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Nova Micro, supervised fine-tuning",
        "unit": "1m-tokens",
        "usd": 1,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.1 70B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 7.99,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.1 8B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 1.49,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.2 90B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 7.9,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.2 11B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 3.5,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.2 3B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 1.1,
        "note": "Training tokens, counted as dataset tokens times epochs"
      },
      {
        "item": "Llama 3.2 1B Instruct, fine-tuning",
        "unit": "1m-tokens",
        "usd": 0.5,
        "note": "Training tokens, counted as dataset tokens times epochs"
      }
    ],
    "provenance": {
      "legalEntity": "Amazon Web Services, Inc.",
      "domain": "amazonaws.com",
      "domainRegistered": "2005-08-18",
      "domainNote": "The control-plane endpoints are `bedrock.\u003cregion\u003e.amazonaws.com`. The OpenAI-compatible fine-tuning endpoints are on `bedrock-mantle.\u003cregion\u003e.api.aws`, a second AWS domain. The security.txt on aws.amazon.com passed its Expires date on 2026-09-24.",
      "endpointOnVendorDomain": true,
      "terms": "https://aws.amazon.com/service-terms/",
      "privacy": "https://aws.amazon.com/privacy/",
      "statusPage": "https://health.aws.amazon.com/health/status",
      "changelog": "https://docs.aws.amazon.com/bedrock/latest/userguide/doc-history.html",
      "securityTxt": "expired",
      "checked": "2026-10-08",
      "notes": [
        "The AWS Service Terms (last updated 1 October 2026) hold the Bedrock clauses in section 50.12, including 50.12.4 on customised models. They sit under the AWS Customer Agreement at aws.amazon.com/agreement (last updated 14 August 2026), where the contracting party depends on the account country.",
        "The AWS Privacy Notice was last updated on 18 May 2026 and names Amazon Web Services, Inc., 410 Terry Avenue North, Seattle.",
        "RDAP for amazonaws.com gives a registration date of 2005-08-18, read on 8 October 2026.",
        "aws.amazon.com/.well-known/security.txt carries Expires 2026-09-24T16:25:03Z and was still expired on 8 October 2026. It points to vdp.aws.security and a HackerOne disclosure programme.",
        "The pricing page's customisation tables are filled by script. Token prices were read from the price file the page loads from b0.p.awsstatic.com."
      ],
      "score": 88,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Amazon Web Services, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "amazonaws.com, registered 2005-08-18 (21 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "bedrock.{region}.amazonaws.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 3 clauses that cost points",
          "points": 3.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "health.aws.amazon.com/health/status",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "published but past its Expires date",
          "points": 5,
          "max": 10,
          "state": "part"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://aws.amazon.com/service-terms/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-10-01",
          "words": 47585,
          "points": 3.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: October 1, 2026",
              "says": "Last updated 2026-10-01"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": false
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "AWS’S AND ITS AFFILIATES’ AND LICENSORS’ AGGREGATE LIABILITY FOR ANY BETA SERVICES AND BETA REGIONS WILL BE LIMITED TO THE AMOUNT YOU ACTUALLY PAY US UNDER THIS AGREEMENT FOR THE BETA SERVICES OR BETA REGIONS THAT GAVE RISE TO THE CLAIM DURING THE 12 MONTHS PRECEDING THE CLAIM."
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "If you do not remove or disable access to the Prohibited Content within 2 business days of our notice, we may remove or disable access to the Prohibited Content or suspend the Services to the extent we are not able to remove or disable access to the Prohibited Content."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "If during the previous 6 months you have incurred no fees for Amazon SimpleDB and have registered no usage of Your Content stored in Amazon SimpleDB, we may delete Your Content that is stored in Simple DB upon 30 days prior notice to you.",
              "says": "Gives 30 days of notice before a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "You may not transfer outside the Services any software (including related documentation) you obtain from us or third party licensors in connection with the Services without specific authorization to do so."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": true,
              "quote": "If you have been charged for a Service for a period when that Service was unavailable (as defined in the applicable Service Level Agreement for each Service), you may request a Service credit equal to any charged amounts for such period."
            }
          ],
          "toKnow": [
            {
              "key": "training.optout",
              "label": "Says it may use customer content to train or improve models, and gives an opt-out",
              "found": true,
              "quote": "You may instruct AWS not to use and store Amazon WorkSpaces AI Content processed by Amazon WorkSpaces AI Features to develop and improve the Service or technologies of AWS or its affiliates by configuring an AI services opt-out policy using AWS Organizations."
            },
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "Reverse engineer, decompile, attempt to reconstruct, scrape, systematically collect, or duplicate Address Validation Data.",
              "costsPoints": true
            },
            {
              "key": "terms.benchmark",
              "label": "Restricts benchmarking or competitive use",
              "found": true,
              "quote": "You may not, and may not allow any third party to, use Amazon CloudWatch Network Monitoring, or any data or information made available through Amazon CloudWatch Network Monitoring, to, directly or indirectly, develop, improve, or offer a similar or competing product or service.",
              "costsPoints": true
            },
            {
              "key": "terms.nonotice",
              "label": "Says the terms or the service can change without notice",
              "found": true,
              "quote": "We may change, discontinue, or deprecate support for any third-party software development services at any time without prior notice.",
              "costsPoints": true
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://aws.amazon.com/privacy/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-05-18",
          "words": 8790,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: May 18, 2026",
              "says": "Last updated 2026-05-18"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "This Privacy Notice describes how we collect and use your personal information in relation to AWS websites, applications, products, services, events, and experiences that reference this Privacy Notice (together, “AWS Offerings”)."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We keep your personal information to enable your continued use of AWS Offerings, for as long as it is required in order to fulfill the relevant purposes described in this Privacy Notice, as may be required by law (including for tax and accounting purposes), or as otherwise communicated to you.",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "Information from Other Sources: We might collect information about you from other sources, including service providers, partners, and publicly available sources."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "Information about our customers is an important part of our business and we are not in the business of selling our customers’ personal information to others."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Additionally, you may have the right to opt out of the processing of your personal data for cross-context behavioral advertising (also referred to as targeted advertising under certain state privacy laws)."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "We provide additional information about our controllers and data protection officers (as applicable), the privacy, collection, and use of personal information of prospective and current customers of AWS Offerings located in certain jurisdictions.",
              "says": "Names a data protection officer"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "EU-US Data Privacy Framework, UK Extension, and Swiss-US Data Privacy Framework",
              "says": "Relies on the Data Privacy Framework"
            }
          ],
          "toKnow": [
            {
              "key": "privacy.sells",
              "label": "Says it sells personal data or shares it for advertising",
              "found": true,
              "quote": "To help you receive more useful and relevant ads on other sites and services and to measure their effectiveness, AWS shares limited personal information with our advertising partners."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "The notice does not cover content that customers process, store or host on AWS. It refers to the customer agreement for how that content is handled.",
              "quote": "This Privacy Notice does not apply to the “content” processed, stored, or hosted by our customers using AWS Offerings in connection with an AWS account."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-bedrock-customization.json",
    "live": {
      "slug": "amazon-bedrock-customization",
      "probe": {
        "target": "https://bedrock.{region}.amazonaws.com/model-customization-jobs",
        "method": "get",
        "lastAt": "2026-10-09T10:14:07.2746976Z",
        "lastOk": false,
        "lastStatus": 0,
        "lastMs": 0,
        "lastNote": "invalid character \"{\" in host name",
        "authRequired": false,
        "uptime24h": 0,
        "uptime30d": 0,
        "p50ms24h": 0,
        "p95ms24h": 0,
        "samples24h": 28,
        "samples30d": 28,
        "days": [
          {
            "date": "2026-10-09",
            "probes": 28,
            "ok": 0
          }
        ],
        "outages": [
          {
            "start": "2026-10-09T07:40:18.733946397Z",
            "end": "0001-01-01T00:00:00Z",
            "note": "invalid character \"{\" in host name"
          }
        ]
      },
      "updatedAt": "2026-10-09T10:14:07.2746976Z"
    }
  }
}
