Repository navigation
Description
Summary
The Linode type OpenAPI schema and generated API reference describe transfer as the monthly outbound allowance in MB. The public API returns transfer: 4000 for the Shared CPU type g6-standard-2 (Linode 4GB), while the official Shared CPU documentation gives an outbound allowance range of 1 TB–20 TB. Reading this type's value as 4000 MB puts it below the published range. API consumers cannot consistently normalize the included allowance from these official sources.
This report concerns the unit contract for the Linode type transfer field, covering the get-type and list-types descriptions of the same field. It does not establish the correct replacement unit or request any change to API numeric values.
Steps to reproduce
No account, API token, or provisioned resource is required. The following public GET requests were executed successfully; the schema baseline was OpenAPI version 4.229.1 at repository commit 0d4115515880ddf2836dd26ec2de267df162f4a4.
- Request
https://api.linode.com/v4/linode/types/g6-standard-2and inspectid,label,class, andtransfer. - Read the
transferresponse property in Get a type and List types, or inspect the corresponding two paths in the pinnedopenapi.jsonlinked below. - Read the
Outbound Network Transferrow of Shared CPU Linodes. - Compare the allowance implied by the API field's documented MB unit with the published Shared CPU allowance range. The returned type has
class: standard; the get-type reference'sclassdescription explicitly says that astandardclass is listed as a Shared Linode in Cloud Manager.
A read-only check for the API response is:
curl --fail --silent --show-error https://api.linode.com/v4/linode/types/g6-standard-2The reproduction is complete for the documentation contradiction. No resource was created, no traffic was generated, and no billing measurement was made; the authoritative intended unit and its decimal/binary convention remain unestablished.
Expected behavior
The published unit for the Linode type transfer field should let a consumer interpret the public API's allowance consistently with the official plan documentation for the same Shared CPU family. The get-type reference identifies standard as a Shared Linode in Cloud Manager, making the Shared CPU plan contract applicable to this returned type. The schema and generated get-type/list-types references should state the intended unit precisely enough to normalize a value such as 4000, including a decimal or binary convention where necessary.
Actual behavior
The unauthenticated get-type request returned HTTP 200 with these relevant fields:
{
"id": "g6-standard-2",
"label": "Linode 4GB",
"class": "standard",
"transfer": 4000
}Both Linode type schema descriptions and both generated reference pages say:
Filterable, Read-only The monthly outbound transfer amount in MB.
The Shared CPU documentation says:
| Resource | Available Plans |
|---|---|
| Outbound Network Transfer | 1 TB - 20 TB |
Interpreting 4000 as MB produces approximately 4 GB, below the documented 1 TB minimum for this family. The discrepancy persists regardless of whether a consumer considers decimal or binary units. The API, both generated references, the pinned source schema, and the Shared CPU page were retrieved successfully with HTTP 200 during this investigation.
Evidence
- Expected source: Shared CPU Linodes, Plans and pricing publishes
Outbound Network Transfer | 1 TB - 20 TBfor the Shared CPU family; the get-type reference, OpenAPI4.229.1,classdescription says "Astandardclass is listed as a Shared Linode in Cloud Manager. The API, the CLI, and billing still refer to these as Standard." The Shared CPU Markdown representation'supdatedAtis2026-08-31T12:35:07.000Z. - Failure source: Public get-type response returns
class: standardandtransfer: 4000; get-type schema at commit0d4115515880ddf2836dd26ec2de267df162f4a4and list-types schema at the same commit describe that field as MB, as do the generated get-type and list-types references, each reporting OpenAPI version4.229.1. - Evidence provenance: observed
- Local verification: reproduced
- Reproduction completeness: complete
All quoted API fields, schema descriptions, and documentation rows were retrieved directly from public Akamai/Linode sources through unauthenticated read-only HTTP GET requests. This verification reproduced the documented contradiction, not a billing or traffic measurement.
Restoration check
Recheck g6-standard-2 through the public API and compare its transfer value with the official plan allowance. The failing state is a published unit that makes the response fall below the documented Shared CPU allowance range. The passing state is an authoritative, explicit unit contract that makes the type allowance consistent across the source OpenAPI description, generated get-type/list-types references, and applicable plan documentation. Confirm the chosen convention against an authoritative plan-specific allowance rather than merely deleting the unit from the schema or weakening the plan documentation. No particular replacement unit or implementation is prescribed by this report.
Activity