{
"success": false,
"statusCode": 403,
"error": {
"code": "FEATURE_NOT_IN_PLAN",
"message": "Your plan does not include this feature"
},
"meta": {
"timestamp": "2026-06-19T08:34:08.100Z"
}
}
Every period of type in one call, oldest first — for charts, instead of one call
per period. Each point carries the period fields of the
periods endpoint and the four
values of the requested sectors; row names are listed once in data.sectors.
Every point equals the single-period
response for that period, including the derived Q1 2026.
priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain
constantPrice levels across the change; yoyGrowth stays comparable.
Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB,
three rows about 14 KB.
Source: National Statistics Office of Viet Nam (www.nso.gov.vn).
GET
/
openapi
/
v1
/
macro
/
vietnam
/
gdp-by-sector
/
series
Vietnam GDP by sector — time series
curl --request GET \ --url https://api-v2.hayinsights.com/openapi/v1/macro/vietnam/gdp-by-sector/series \ --header 'X-API-Key: <api-key>'
{
"success": false,
"statusCode": 403,
"error": {
"code": "FEATURE_NOT_IN_PLAN",
"message": "Your plan does not include this feature"
},
"meta": {
"timestamp": "2026-06-19T08:34:08.100Z"
}
}
Your HayInsights API key (prefixed apk_). Create and manage keys in the
HayInsights dashboard (Account → API keys).
Send it in the X-API-Key header on every request to /openapi/v1/*.
Which data domains you may access and your request quota are both governed by
the subscription plan attached to the key — see the Plans & features and
Rate limits guides.
Quarterly and year-to-date data start in 2021, the first year NSO reported on its
revised GDP scale; earlier quarterly reports used the old scale (about 27% lower)
and are not comparable. annual covers 2010 onward on the revised scale.
Response metadata for Vietnam GDP by sector: where the numbers come from, their units,
which fields HayInsights computes, and how fresh the response is.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"HayInsights Open API","description":"The official API for the HayInsights financial-data hub — commodities, crypto, ETF, FX, macro, real-estate, news, calendar and market-index datasets.","colors":{"primary":"#2563EB","light":"#3B82F6","dark":"#1D4ED8"},"logo":{"light":"https://mintcdn.com/hayinsights/w7ouUmWFSMYI1Ars/logo.svg?fit=max\u0026auto=format\u0026n=w7ouUmWFSMYI1Ars\u0026q=85\u0026s=c48347f2c9a762ef8ee28dfce9259983","dark":"https://mintcdn.com/hayinsights/w7ouUmWFSMYI1Ars/logo-dark.svg?fit=max\u0026auto=format\u0026n=w7ouUmWFSMYI1Ars\u0026q=85\u0026s=323c27a9805bae61409dfcefcb47f5ff"},"favicon":"https://mintcdn.com/hayinsights/w7ouUmWFSMYI1Ars/favicon.svg?fit=max\u0026auto=format\u0026n=w7ouUmWFSMYI1Ars\u0026q=85\u0026s=d307dee7c605bf90e7b21fdd1a05c839","navbar":{"links":[{"href":"https://app.hayinsights.com","label":"Dashboard"}],"primary":{"type":"button","label":"Get API key","href":"https://app.hayinsights.com/en/api-keys"}},"footer":{"socials":{"website":"https://hayinsights.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hayinsights","hasAudioNarration":false,"actualSubdomain":"hayinsights","customDomains":["developer.hayinsights.com"],"gitSource":{"type":"github","owner":"quantran55","repo":"open-api-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"43f58f2e-8af8-4ae7-b06c-ae96bfb1a715","liveDeploymentHistoryId":"6ae94d39d35f8c891866eabf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae94d39d35f8c891866eabf"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae94d39d35f8c891866eabf","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":87},{"language":"default","tag":"Macro","count":40},{"language":"default","tag":"ETF","count":14},{"language":"default","tag":"Equities","count":8},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Real Estate","count":6},{"language":"default","tag":"Commodities","count":5},{"language":"default","tag":"Crypto","count":5},{"language":"default","tag":"FX","count":4},{"language":"default","tag":"Getting started","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/macro/vietnam-gdp-by-sector-series","slug":"/api-reference/macro/vietnam-gdp-by-sector-series","pageMetadata":{"title":"Vietnam GDP by sector — time series","description":"Every period of `type` in one call, oldest first — for charts, instead of one call\nper period. Each point carries the period fields of the\n[periods](/api-reference/macro/vietnam-gdp-by-sector-periods) endpoint and the four\nvalues of the requested `sectors`; row names are listed once in `data.sectors`.\nEvery point equals the [single-period](/api-reference/macro/vietnam-gdp-by-sector)\nresponse for that period, including the derived Q1 2026.\n\n`priceBasis` changes from `constant_2010` to `constant_2020` at Q1 2026: do not chain\n`constantPrice` levels across the change; `yoyGrowth` stays comparable.\n\nAsk only for the rows you plot: all 28 rows of the quarterly series is about 100 KB,\nthree rows about 14 KB.\n\nSource: National Statistics Office of Viet Nam (www.nso.gov.vn).\n","deprecated":null,"version":null,"sidebarTitle":"Vietnam gdp by sector series","openapi":"/openapi.yaml get /openapi/v1/macro/vietnam/gdp-by-sector/series","href":"/api-reference/macro/vietnam-gdp-by-sector-series","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Every period of \", _jsx(_components.code, {\n children: \"type\"\n }), \" in one call, oldest first — for charts, instead of one call\\nper period. Each point carries the period fields of the\\n\", _jsx(_components.a, {\n href: \"/api-reference/macro/vietnam-gdp-by-sector-periods\",\n children: \"periods\"\n }), \" endpoint and the four\\nvalues of the requested \", _jsx(_components.code, {\n children: \"sectors\"\n }), \"; row names are listed once in \", _jsx(_components.code, {\n children: \"data.sectors\"\n }), \".\\nEvery point equals the \", _jsx(_components.a, {\n href: \"/api-reference/macro/vietnam-gdp-by-sector\",\n children: \"single-period\"\n }), \"\\nresponse for that period, including the derived Q1 2026.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"priceBasis\"\n }), \" changes from \", _jsx(_components.code, {\n children: \"constant_2010\"\n }), \" to \", _jsx(_components.code, {\n children: \"constant_2020\"\n }), \" at Q1 2026: do not chain\\n\", _jsx(_components.code, {\n children: \"constantPrice\"\n }), \" levels across the change; \", _jsx(_components.code, {\n children: \"yoyGrowth\"\n }), \" stays comparable.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB,\\nthree rows about 14 KB.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Source: National Statistics Office of Viet Nam (\", _jsx(_components.a, {\n href: \"http://www.nso.gov.vn\",\n children: \"www.nso.gov.vn\"\n }), \").\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Vietnam GDP by sector — time series","description":"Every period of `type` in one call, oldest first — for charts, instead of one call\nper period. Each point carries the period fields of the\n[periods](/api-reference/macro/vietnam-gdp-by-sector-periods) endpoint and the four\nvalues of the requested `sectors`; row names are listed once in `data.sectors`.\nEvery point equals the [single-period](/api-reference/macro/vietnam-gdp-by-sector)\nresponse for that period, including the derived Q1 2026.\n\n`priceBasis` changes from `constant_2010` to `constant_2020` at Q1 2026: do not chain\n`constantPrice` levels across the change; `yoyGrowth` stays comparable.\n\nAsk only for the rows you plot: all 28 rows of the quarterly series is about 100 KB,\nthree rows about 14 KB.\n\nSource: National Statistics Office of Viet Nam (www.nso.gov.vn).\n","deprecated":null,"version":null,"sidebarTitle":"Vietnam gdp by sector series","openapi":"/openapi.yaml get /openapi/v1/macro/vietnam/gdp-by-sector/series","href":"/api-reference/macro/vietnam-gdp-by-sector-series","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"macroVietnamGdpBySectorSeries","tags":["Macro"],"summary":"Vietnam GDP by sector — time series","description":"Every period of `type` in one call, oldest first — for charts, instead of one call\nper period. Each point carries the period fields of the\n[periods](/api-reference/macro/vietnam-gdp-by-sector-periods) endpoint and the four\nvalues of the requested `sectors`; row names are listed once in `data.sectors`.\nEvery point equals the [single-period](/api-reference/macro/vietnam-gdp-by-sector)\nresponse for that period, including the derived Q1 2026.\n\n`priceBasis` changes from `constant_2010` to `constant_2020` at Q1 2026: do not chain\n`constantPrice` levels across the change; `yoyGrowth` stays comparable.\n\nAsk only for the rows you plot: all 28 rows of the quarterly series is about 100 KB,\nthree rows about 14 KB.\n\nSource: National Statistics Office of Viet Nam (www.nso.gov.vn).\n","x-feature-code":"macro_data","x-mint":{"href":"/api-reference/macro/vietnam-gdp-by-sector-series"},"x-api-weight":2,"parameters":["d2160e51-579a-4d71-89c8-bbe7f2237429","19ccb8d4-4a8a-444a-8331-1394a035cef2","17fe039b-b3b8-4755-a5c2-05244e52ffdc","5c622ec9-1157-48cf-8489-4be41d0d142f"],"responses":{"200":"ab974ca7-0701-4623-a599-32713451fd5a","400":"f3bf01b2-afe5-4ef2-b47f-8febd7e82e29","401":"d79ba08c-8cf2-4d99-b876-d1858795bf52","403":"c3a4ef37-a394-43b1-a7e6-aedd8daaf230","429":"b7d1f0ec-664a-4eae-b5f8-82ef7ebedcc1","500":"bc6fe4ef-b099-4d71-8671-9ecf5eaa96ee"},"method":"get","type":"path","servers":["c0b940ae-1940-4085-8100-f995a88559a0"],"security":["aecb18a7-bfa7-4d84-ac57-2a56fd7ad94e"],"path":"/openapi/v1/macro/vietnam/gdp-by-sector/series","baseUrlOptions":["https://api-v2.hayinsights.com"],"title":"Vietnam GDP by sector — time series","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d2160e51-579a-4d71-89c8-bbe7f2237429":{"name":"type","in":"query","required":false,"description":"Period type. Case-insensitive.\n\n| Value | Periods | Source |\n| --- | --- | --- |\n| `quarter` | single quarters, Q1 2021 onward | NSO quarterly socio-economic report |\n| `ytd` | year-to-date: 6, 9 and 12 months, 2021 onward | NSO quarterly socio-economic report |\n| `annual` | full years, 2010 onward | NSO statistical database (national accounts) |\n\nQuarterly and year-to-date data start in 2021, the first year NSO reported on its\nrevised GDP scale; earlier quarterly reports used the old scale (about 27% lower)\nand are not comparable. `annual` covers 2010 onward on the revised scale.\n","schema":{"type":"string","enum":["quarter","ytd","annual"],"default":"quarter","example":"quarter","isRequired":false,"description":"Period type. Case-insensitive.\n\n| Value | Periods | Source |\n| --- | --- | --- |\n| `quarter` | single quarters, Q1 2021 onward | NSO quarterly socio-economic report |\n| `ytd` | year-to-date: 6, 9 and 12 months, 2021 onward | NSO quarterly socio-economic report |\n| `annual` | full years, 2010 onward | NSO statistical database (national accounts) |\n\nQuarterly and year-to-date data start in 2021, the first year NSO reported on its\nrevised GDP scale; earlier quarterly reports used the old scale (about 27% lower)\nand are not comparable. `annual` covers 2010 onward on the revised scale.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"19ccb8d4-4a8a-444a-8331-1394a035cef2":{"name":"from","in":"query","required":false,"description":"First period (inclusive), in the `period` format of `type` (`2021-Q1`, `2021-06`, `2016`). Omit to start from the oldest.","schema":{"type":"string","example":"2021-Q1","isRequired":false,"description":"First period (inclusive), in the `period` format of `type` (`2021-Q1`, `2021-06`, `2016`). Omit to start from the oldest.","uniqueKey":"","typeLabel":"string"}},"17fe039b-b3b8-4755-a5c2-05244e52ffdc":{"name":"to","in":"query","required":false,"description":"Last period (inclusive). Omit to end at the latest.","schema":{"type":"string","example":"2026-Q3","isRequired":false,"description":"Last period (inclusive). Omit to end at the latest.","uniqueKey":"","typeLabel":"string"}},"5c622ec9-1157-48cf-8489-4be41d0d142f":{"name":"sectors","in":"query","required":false,"description":"Comma-separated `sectorCode`s, e.g. `total,manufacturing,services`. Omit for all 28 rows. An unknown code returns 400.","schema":{"type":"string","example":"total,manufacturing","isRequired":false,"description":"Comma-separated `sectorCode`s, e.g. `total,manufacturing,services`. Omit for all 28 rows. An unknown code returns 400.","uniqueKey":"","typeLabel":"string"}}},"responses":{"ab974ca7-0701-4623-a599-32713451fd5a":{"description":"The series, oldest first.","content":{"application/json":{"schema":{"type":"object","description":"Standard success envelope shared by every endpoint. Each operation's response\nwrapper extends this (via `allOf`) and adds a typed `data` property.\n","required":["data","success","statusCode"],"properties":{"success":{"type":"boolean","const":true,"description":"Always `true` for a successful response.","example":true,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":200,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"data":{"type":"object","description":"Every period of `type` in one response, oldest first, for charts.","required":["country","type","latestPeriod","sectors","points"],"properties":{"country":{"type":"string","enum":["vn"],"example":"vn","isRequired":true,"uniqueKey":"data.country","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["quarter","ytd","annual"],"example":"quarter","isRequired":true,"uniqueKey":"data.type","typeLabel":"enum\u003cstring>"},"latestPeriod":{"oneOf":[{"type":"string","example":"2026-Q3","isRequired":true,"uniqueKey":"data.latestPeriod.oneOf.0","typeLabel":"string"},{"type":"null","example":"2026-Q3","isRequired":true,"uniqueKey":"data.latestPeriod.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.latestPeriod","typeLabel":"string | null"},"sectors":{"type":"array","description":"The requested rows, in NSO's order. Names are listed here once, not in every point.","items":{"type":"object","description":"Name and position of one of the 28 rows, in the order NSO prints them (VSIC 2018).","required":["sectorCode","sectorName","sectorShortName","sectorNameVi","level","parentCode"],"properties":{"sectorCode":{"type":"string","description":"Stable row code: `total`, the three economic sectors `agriculture_forestry_fishing`,\n`industry_construction`, `services`, `product_taxes_less_subsidies`, and the industries\nunder them (e.g. `manufacturing`, `construction`, `real_estate`).\n","example":"manufacturing","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].sectorCode","typeLabel":"string"},"sectorName":{"type":"string","description":"Full English name (ISIC wording).","example":"Manufacturing","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].sectorName","typeLabel":"string"},"sectorShortName":{"type":"string","description":"Short English name for table cells and chart legends.","example":"Manufacturing","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].sectorShortName","typeLabel":"string"},"sectorNameVi":{"type":"string","description":"Vietnamese name as NSO prints it.","example":"Công nghiệp chế biến, chế tạo","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].sectorNameVi","typeLabel":"string"},"level":{"type":"integer","minimum":0,"maximum":3,"description":"0 = GDP, 1 = economic sectors and product taxes, 2 = industries, 3 = sub-industries of industry. Children add up to their parent (source rounding under 1 billion VND).","example":3,"isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].level","typeLabel":"integer"},"parentCode":{"oneOf":[{"type":"string","description":"Code of the direct parent row; `null` for `total`.","example":"industry","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].parentCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Code of the direct parent row; `null` for `total`.","example":"industry","isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].parentCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sectors.items.[INDEX].parentCode","typeLabel":"string | null"}},"uniqueKey":"data.sectors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.sectors","typeLabel":"object[]"},"points":{"type":"array","description":"One entry per period, oldest first. Each point equals the single-period response for that period.","items":{"type":"object","description":"One period of a GDP-by-sector series and the release its numbers come from.","required":["sectors","period","label","estimateStatus","priceBasis","knowledgeAt","wasRestated","derived"],"properties":{"period":{"type":"string","description":"Period code, as accepted by `period`: `2026-Q3` (quarter), `2026-09` (year-to-date), `2025` (annual).","example":"2026-Q3","isRequired":true,"uniqueKey":"data.points.items.[INDEX].period","typeLabel":"string"},"label":{"type":"string","description":"Display label: `Q3 2026`, `9M 2026`, `FY 2025` (year-to-date, 12 months), `2025` (annual).","example":"Q3 2026","isRequired":true,"uniqueKey":"data.points.items.[INDEX].label","typeLabel":"string"},"estimateStatus":{"type":"string","enum":["estimate","preliminary","official"],"description":"How final the numbers are, as NSO labels them: `estimate` (first release),\n`preliminary` (revised in the next report, or a year marked preliminary),\n`official` (annual years published without a label). If cells differ, the least final\nlabel wins.\n","example":"estimate","isRequired":true,"uniqueKey":"data.points.items.[INDEX].estimateStatus","typeLabel":"enum\u003cstring>"},"priceBasis":{"oneOf":[{"type":"string","enum":["constant_2010","constant_2020",null],"description":"Base year of `constantPrice` and `yoyGrowth`. 2010 up to Q4 2025, 2020 from Q1 2026; annual data uses 2010.","example":"constant_2020","isRequired":true,"uniqueKey":"data.points.items.[INDEX].priceBasis.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["constant_2010","constant_2020",null],"description":"Base year of `constantPrice` and `yoyGrowth`. 2010 up to Q4 2025, 2020 from Q1 2026; annual data uses 2010.","example":"constant_2020","isRequired":true,"uniqueKey":"data.points.items.[INDEX].priceBasis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.points.items.[INDEX].priceBasis","typeLabel":"enum\u003cstring> | null"},"knowledgeAt":{"type":"string","format":"date-time","description":"When NSO published the release returned (UTC).","example":"2026-10-03T01:00:06.000Z","isRequired":true,"uniqueKey":"data.points.items.[INDEX].knowledgeAt","typeLabel":"string\u003cdate-time>"},"wasRestated":{"type":"boolean","description":"NSO has revised this period's numbers since the first release (or the period is derived).","example":false,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].wasRestated","typeLabel":"boolean"},"derived":{"type":"boolean","description":"`true` when the numbers are computed by HayInsights rather than printed by NSO.\nToday only Q1 2026: its latest revision is published only as the preliminary 6-month\nfigure minus the preliminary Q2 figure (Q3 2026 report).\n","example":false,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].derived","typeLabel":"boolean"},"sectors":{"type":"array","description":"Values of the rows in `data.sectors`, same order.","items":{"type":"object","description":"The four values of one row for one period. A cell NSO does not publish is `null` —\nnever 0. Values keep the 6 decimals of the source; round for display.\n","required":["sectorCode","currentPrice","constantPrice","shareOfGdp","yoyGrowth"],"properties":{"sectorCode":{"type":"string","description":"Stable row code (see `GdpSectorRow`).","example":"total","isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].sectorCode","typeLabel":"string"},"currentPrice":{"oneOf":[{"type":"number","description":"Value at current prices, in billion VND. GDP for `total`, value added for the other rows.","example":3698333.989507,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].currentPrice.oneOf.0","typeLabel":"number"},{"type":"null","description":"Value at current prices, in billion VND. GDP for `total`, value added for the other rows.","example":3698333.989507,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].currentPrice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].currentPrice","typeLabel":"number | null"},"constantPrice":{"oneOf":[{"type":"number","description":"Value at constant prices of the base year in `priceBasis`, in billion VND. Levels at\n2010 and 2020 prices cannot be chained.\n","example":3004778.442597,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].constantPrice.oneOf.0","typeLabel":"number"},{"type":"null","description":"Value at constant prices of the base year in `priceBasis`, in billion VND. Levels at\n2010 and 2020 prices cannot be chained.\n","example":3004778.442597,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].constantPrice.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].constantPrice","typeLabel":"number | null"},"shareOfGdp":{"oneOf":[{"type":"number","description":"Share of GDP at current prices, in percent (`total` = 100).","example":100,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].shareOfGdp.oneOf.0","typeLabel":"number"},{"type":"null","description":"Share of GDP at current prices, in percent (`total` = 100).","example":100,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].shareOfGdp.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].shareOfGdp","typeLabel":"number | null"},"yoyGrowth":{"oneOf":[{"type":"number","description":"Growth at constant prices against the same period of the previous year, in percent.\nCan be negative. Quarter vs same quarter, year-to-date vs same year-to-date period,\nyear vs previous year.\n","example":9.947988,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].yoyGrowth.oneOf.0","typeLabel":"number"},{"type":"null","description":"Growth at constant prices against the same period of the previous year, in percent.\nCan be negative. Quarter vs same quarter, year-to-date vs same year-to-date period,\nyear vs previous year.\n","example":9.947988,"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].yoyGrowth.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX].yoyGrowth","typeLabel":"number | null"}},"uniqueKey":"data.points.items.[INDEX].sectors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.points.items.[INDEX].sectors","typeLabel":"object[]"}},"uniqueKey":"data.points.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.points","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata for Vietnam GDP by sector: where the numbers come from, their units,\nwhich fields HayInsights computes, and how fresh the response is.\n","required":["timestamp"],"properties":{"timestamp":{"type":"string","description":"Server time when the response was generated (ISO 8601).","format":"date-time","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"},"source":{"type":"string","description":"Data provider. NSO's terms require citing www.nso.gov.vn when reusing the data.","example":"National Statistics Office of Viet Nam (www.nso.gov.vn)","uniqueKey":"meta.source","typeLabel":"string"},"source_url":{"type":"string","format":"uri","description":"The NSO report for the period, or NSO's national-accounts page for annual data.","example":"https://www.nso.gov.vn/tin-tuc-thong-ke/2026/10/bao-cao-tinh-hinh-kinh-te-xa-hoi-quy-iii-va-9-thang-nam-2026/","uniqueKey":"meta.source_url","typeLabel":"string\u003curi>"},"as_of":{"oneOf":[{"type":"string","description":"Latest period with data for `type`.","example":"2026-Q3","uniqueKey":"meta.as_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Latest period with data for `type`.","example":"2026-Q3","uniqueKey":"meta.as_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.as_of","typeLabel":"string | null"},"knowledge_at":{"oneOf":[{"type":"string","format":"date-time","description":"Same as `data.knowledgeAt` (single-period endpoint only).","example":"2026-10-03T01:00:06.000Z","uniqueKey":"meta.knowledge_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Same as `data.knowledgeAt` (single-period endpoint only).","example":"2026-10-03T01:00:06.000Z","uniqueKey":"meta.knowledge_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.knowledge_at","typeLabel":"string\u003cdate-time> | null"},"unit":{"type":"object","description":"Unit of each value field — `VND` with scale 1e9 (billion VND) or `PERCENT`.","additionalProperties":{"type":"object","properties":{"unit":{"type":"string","example":"VND","uniqueKey":"meta.unit.additionalProperties.unit","typeLabel":"string"},"scale":{"type":"number","example":1000000000,"uniqueKey":"meta.unit.additionalProperties.scale","typeLabel":"number"},"display":{"type":"string","example":"Billion VND","uniqueKey":"meta.unit.additionalProperties.display","typeLabel":"string"}},"uniqueKey":"meta.unit.additionalProperties","typeLabel":"object"},"uniqueKey":"meta.unit","typeLabel":"object"},"display_unit":{"type":"string","description":"Unit label for the two value columns.","example":"Billion VND","uniqueKey":"meta.display_unit","typeLabel":"string"},"classification":{"type":"object","description":"How each field was produced: values and shares as NSO published them (RAW);\ngrowth converted to percent when NSO prints an index (DERIVED); every field of a\nderived period is COMPUTED.\n","additionalProperties":{"type":"string","enum":["RAW","DERIVED","COMPUTED"],"uniqueKey":"meta.classification.additionalProperties","typeLabel":"enum\u003cstring>"},"example":{"currentPrice":"RAW","constantPrice":"RAW","shareOfGdp":"RAW","yoyGrowth":"DERIVED"},"uniqueKey":"meta.classification","typeLabel":"object"},"classification_derived_points":{"type":"object","description":"Series endpoint only — classification that applies to points with `derived: true`.","additionalProperties":{"type":"string","uniqueKey":"meta.classification_derived_points.additionalProperties","typeLabel":"string"},"example":{"currentPrice":"COMPUTED","constantPrice":"COMPUTED","shareOfGdp":"COMPUTED","yoyGrowth":"COMPUTED"},"uniqueKey":"meta.classification_derived_points","typeLabel":"object"},"formula_version":{"type":"string","description":"Version tag of the HayInsights transformations.","example":"gdp-vn-sector-v1","uniqueKey":"meta.formula_version","typeLabel":"string"},"was_restated":{"type":"boolean","description":"Same as `data.wasRestated` (single-period endpoint only).","example":false,"uniqueKey":"meta.was_restated","typeLabel":"boolean"},"served_from_cache":{"type":"boolean","example":false,"uniqueKey":"meta.served_from_cache","typeLabel":"boolean"},"cache_expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the cached copy expires (24 h; dropped as soon as new data is collected).","example":"2026-11-03T07:10:49.165Z","uniqueKey":"meta.cache_expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the cached copy expires (24 h; dropped as soon as new data is collected).","example":"2026-11-03T07:10:49.165Z","uniqueKey":"meta.cache_expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.cache_expires_at","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"statusCode":200,"data":{"country":"vn","type":"quarter","latestPeriod":"2026-Q3","sectors":[{"sectorCode":"total","sectorName":"Gross domestic product","sectorShortName":"Gross domestic product","sectorNameVi":"Tổng số","level":0,"parentCode":null}],"points":[{"period":"2021-Q1","label":"Q1 2021","estimateStatus":"preliminary","priceBasis":"constant_2010","knowledgeAt":"2021-06-29T01:41:48.000Z","wasRestated":true,"derived":false,"sectors":[{"sectorCode":"total","currentPrice":1953117,"constantPrice":1194374,"shareOfGdp":100,"yoyGrowth":4.650437}]},{"period":"2026-Q3","label":"Q3 2026","estimateStatus":"estimate","priceBasis":"constant_2020","knowledgeAt":"2026-10-03T01:00:06.000Z","wasRestated":false,"derived":false,"sectors":[{"sectorCode":"total","currentPrice":3698333.989507,"constantPrice":3004778.442597,"shareOfGdp":100,"yoyGrowth":9.947988}]}]},"meta":{"source":"National Statistics Office of Viet Nam (www.nso.gov.vn)","source_url":"https://www.nso.gov.vn","as_of":"2026-Q3","display_unit":"Billion VND","classification":{"currentPrice":"RAW","constantPrice":"RAW","shareOfGdp":"RAW","yoyGrowth":"DERIVED"},"classification_derived_points":{"currentPrice":"COMPUTED","constantPrice":"COMPUTED","shareOfGdp":"COMPUTED","yoyGrowth":"COMPUTED"},"formula_version":"gdp-vn-sector-v1","served_from_cache":false,"cache_expires_at":"2026-11-03T07:10:49.165Z","timestamp":"2026-11-02T07:10:49.165Z"}},"examples":{"Example":{"title":"Example","value":{"success":true,"statusCode":200,"data":{"country":"vn","type":"quarter","latestPeriod":"2026-Q3","sectors":[{"sectorCode":"total","sectorName":"Gross domestic product","sectorShortName":"Gross domestic product","sectorNameVi":"Tổng số","level":0,"parentCode":null}],"points":[{"period":"2021-Q1","label":"Q1 2021","estimateStatus":"preliminary","priceBasis":"constant_2010","knowledgeAt":"2021-06-29T01:41:48.000Z","wasRestated":true,"derived":false,"sectors":[{"sectorCode":"total","currentPrice":1953117,"constantPrice":1194374,"shareOfGdp":100,"yoyGrowth":4.650437}]},{"period":"2026-Q3","label":"Q3 2026","estimateStatus":"estimate","priceBasis":"constant_2020","knowledgeAt":"2026-10-03T01:00:06.000Z","wasRestated":false,"derived":false,"sectors":[{"sectorCode":"total","currentPrice":3698333.989507,"constantPrice":3004778.442597,"shareOfGdp":100,"yoyGrowth":9.947988}]}]},"meta":{"source":"National Statistics Office of Viet Nam (www.nso.gov.vn)","source_url":"https://www.nso.gov.vn","as_of":"2026-Q3","display_unit":"Billion VND","classification":{"currentPrice":"RAW","constantPrice":"RAW","shareOfGdp":"RAW","yoyGrowth":"DERIVED"},"classification_derived_points":{"currentPrice":"COMPUTED","constantPrice":"COMPUTED","shareOfGdp":"COMPUTED","yoyGrowth":"COMPUTED"},"formula_version":"gdp-vn-sector-v1","served_from_cache":false,"cache_expires_at":"2026-11-03T07:10:49.165Z","timestamp":"2026-11-02T07:10:49.165Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"f3bf01b2-afe5-4ef2-b47f-8febd7e82e29":{"description":"Invalid or missing parameter — bad enum, range, format, or a missing required query parameter.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned for every 4xx / 5xx response.","required":["success","statusCode","error"],"properties":{"success":{"type":"boolean","const":false,"description":"Always `false` for an error response.","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":401,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"object","description":"Error detail object carried under `error` in the error envelope.","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Specific for authentication / quota errors\n(e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,\n`RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the code\nis currently `INTERNAL_ERROR` and the HTTP status carries the semantics.\n","example":"API_KEY_INVALID","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"error.message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"error.message","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Always present; `timestamp` is the server time the response was generated.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Server time when the response was generated (ISO 8601).","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"statusCode":400,"error":{"code":"INTERNAL_ERROR","message":["Invalid type parameter. Must be \"gdp\", \"cpi\", \"pce\", or \"import-export\"","Type parameter is required"]},"meta":{"error":"Bad Request","statusCode":400,"timestamp":"2026-06-19T08:34:08.081Z"}},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":400,"error":{"code":"INTERNAL_ERROR","message":["Invalid type parameter. Must be \"gdp\", \"cpi\", \"pce\", or \"import-export\"","Type parameter is required"]},"meta":{"error":"Bad Request","statusCode":400,"timestamp":"2026-06-19T08:34:08.081Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"d79ba08c-8cf2-4d99-b876-d1858795bf52":{"description":"Missing, invalid, disabled or expired API key. Send a valid key in the `X-API-Key` header.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned for every 4xx / 5xx response.","required":["success","statusCode","error"],"properties":{"success":{"type":"boolean","const":false,"description":"Always `false` for an error response.","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":401,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"object","description":"Error detail object carried under `error` in the error envelope.","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Specific for authentication / quota errors\n(e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,\n`RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the code\nis currently `INTERNAL_ERROR` and the HTTP status carries the semantics.\n","example":"API_KEY_INVALID","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"error.message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"error.message","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Always present; `timestamp` is the server time the response was generated.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Server time when the response was generated (ISO 8601).","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"statusCode":401,"error":{"code":"API_KEY_INVALID","message":"Invalid API key"},"meta":{"timestamp":"2026-06-19T08:34:08.023Z"}},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":401,"error":{"code":"API_KEY_INVALID","message":"Invalid API key"},"meta":{"timestamp":"2026-06-19T08:34:08.023Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c3a4ef37-a394-43b1-a7e6-aedd8daaf230":{"description":"Your subscription plan does not include this data feature, or your key's scope denies it.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned for every 4xx / 5xx response.","required":["success","statusCode","error"],"properties":{"success":{"type":"boolean","const":false,"description":"Always `false` for an error response.","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":401,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"object","description":"Error detail object carried under `error` in the error envelope.","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Specific for authentication / quota errors\n(e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,\n`RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the code\nis currently `INTERNAL_ERROR` and the HTTP status carries the semantics.\n","example":"API_KEY_INVALID","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"error.message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"error.message","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Always present; `timestamp` is the server time the response was generated.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Server time when the response was generated (ISO 8601).","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"statusCode":403,"error":{"code":"FEATURE_NOT_IN_PLAN","message":"Your plan does not include this feature"},"meta":{"timestamp":"2026-06-19T08:34:08.100Z"}},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":403,"error":{"code":"FEATURE_NOT_IN_PLAN","message":"Your plan does not include this feature"},"meta":{"timestamp":"2026-06-19T08:34:08.100Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"b7d1f0ec-664a-4eae-b5f8-82ef7ebedcc1":{"description":"Rate limit exceeded — you have consumed your plan's per-minute weight budget.\nWait until `X-RateLimit-Reset` (or `Retry-After` seconds) then retry.\n","headers":{"X-RateLimit-Limit":{"description":"Your plan's request-weight budget per 1-minute window.","schema":{"type":"integer","example":1000}},"X-RateLimit-Remaining":{"description":"Remaining request weight in the current 1-minute window.","schema":{"type":"integer","example":997}},"X-RateLimit-Reset":{"description":"Unix timestamp (seconds) when the current rate-limit window resets.","schema":{"type":"integer","format":"int64","example":1781857979}},"X-RateLimit-Weight-Used":{"description":"Request weight consumed by this call (see each endpoint's weight).","schema":{"type":"integer","example":3}},"Retry-After":{"description":"Seconds to wait before retrying. Present on 429 responses.","schema":{"type":"integer","example":30}}},"content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned for every 4xx / 5xx response.","required":["success","statusCode","error"],"properties":{"success":{"type":"boolean","const":false,"description":"Always `false` for an error response.","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":401,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"object","description":"Error detail object carried under `error` in the error envelope.","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Specific for authentication / quota errors\n(e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,\n`RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the code\nis currently `INTERNAL_ERROR` and the HTTP status carries the semantics.\n","example":"API_KEY_INVALID","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"error.message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"error.message","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Always present; `timestamp` is the server time the response was generated.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Server time when the response was generated (ISO 8601).","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"statusCode":429,"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Rate limit exceeded"},"meta":{"timestamp":"2026-06-19T08:34:09.000Z"}},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":429,"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Rate limit exceeded"},"meta":{"timestamp":"2026-06-19T08:34:09.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"bc6fe4ef-b099-4d71-8671-9ecf5eaa96ee":{"description":"Unexpected server error. Retry after a short exponential backoff.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope returned for every 4xx / 5xx response.","required":["success","statusCode","error"],"properties":{"success":{"type":"boolean","const":false,"description":"Always `false` for an error response.","example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","description":"Mirrors the HTTP status code.","example":401,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"object","description":"Error detail object carried under `error` in the error envelope.","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Specific for authentication / quota errors\n(e.g. `API_KEY_REQUIRED`, `API_KEY_INVALID`, `FEATURE_NOT_IN_PLAN`,\n`RATE_LIMIT_EXCEEDED`). For validation (400) and not-found (404) the code\nis currently `INTERNAL_ERROR` and the HTTP status carries the semantics.\n","example":"API_KEY_INVALID","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"error.message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Human-readable message, or a list of validation messages (400).","example":"Invalid API key","isRequired":true,"uniqueKey":"error.message.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"error.message","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Always present; `timestamp` is the server time the response was generated.","required":["timestamp"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"Server time when the response was generated (ISO 8601).","example":"2026-06-19T08:31:59.478Z","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string\u003cdate-time>"}},"additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"statusCode":500,"error":{"code":"INTERNAL_ERROR","message":"Internal server error"},"meta":{"timestamp":"2026-06-19T08:34:10.000Z"}},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":500,"error":{"code":"INTERNAL_ERROR","message":"Internal server error"},"meta":{"timestamp":"2026-06-19T08:34:10.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"aecb18a7-bfa7-4d84-ac57-2a56fd7ad94e":{"HayInsightsApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your HayInsights API key (prefixed `apk_`). Create and manage keys in the\nHayInsights dashboard (Account → API keys).\n\nSend it in the `X-API-Key` header on **every** request to `/openapi/v1/*`.\nWhich data domains you may access and your request quota are both governed by\nthe subscription plan attached to the key — see the **Plans \u0026 features** and\n**Rate limits** guides.\n","scopes":[],"schemeName":"HayInsightsApiKey"}}},"servers":{"c0b940ae-1940-4085-8100-f995a88559a0":{"url":"https://api-v2.hayinsights.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your HayInsights API key (prefixed `apk_`). Create and manage keys in the\nHayInsights dashboard (Account → API keys).\n\nSend it in the `X-API-Key` header on **every** request to `/openapi/v1/*`.\nWhich data domains you may access and your request quota are both governed by\nthe subscription plan attached to the key — see the **Plans \u0026 features** and\n**Rate limits** guides.\n","scopes":[],"schemeName":"HayInsightsApiKey"},"schema":{"title":"X-API-Key","type":"string","description":"Your HayInsights API key (prefixed `apk_`). Create and manage keys in the\nHayInsights dashboard (Account → API keys).\n\nSend it in the `X-API-Key` header on **every** request to `/openapi/v1/*`.\nWhich data domains you may access and your request quota are both governed by\nthe subscription plan attached to the key — see the **Plans \u0026 features** and\n**Rate limits** guides.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"HayInsightsApiKey","name":"X-API-Key"}],"title":"HayInsightsApiKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"hayinsights","siteName":"HayInsights Open API","title":"Vietnam GDP by sector — time series - HayInsights Open API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T02:55:59.689Z","originalFileLocation":"api-reference/macro/vietnam-gdp-by-sector-series.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every period of type in one call, oldest first — for charts, instead of one call per period. Each point carries the period fields of the periods endpoint and the four values of the requested sectors; row names are listed once in data.sectors. Every point equals the single-period response for that period, including the derived Q1 2026. priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain constantPrice levels across the change; yoyGrowth stays comparable. Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB, three rows about 14 KB. Source: National Statistics Office of Viet Nam (www.nso.gov.vn).\">\u003cmeta data-mint-head name=\"application-name\" content=\"HayInsights Open API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Vietnam GDP by sector — time series - HayInsights Open API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every period of type in one call, oldest first — for charts, instead of one call per period. Each point carries the period fields of the periods endpoint and the four values of the requested sectors; row names are listed once in data.sectors. Every point equals the single-period response for that period, including the derived Q1 2026. priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain constantPrice levels across the change; yoyGrowth stays comparable. Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB, three rows about 14 KB. Source: National Statistics Office of Viet Nam (www.nso.gov.vn).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HayInsights Open API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hayinsights.mintlify.app/_mintlify/api/og/v2?division=Macro\u0026amp;title=Vietnam+GDP+by+sector+%E2%80%94+time+series\u0026amp;description=Every+period+of+%60type%60+in+one+call%2C+oldest+first+%E2%80%94+for+charts%2C+instead+of+one+call%0Aper+period.+Each+point+carries+the+period+fields+of+the%0A%5Bperiods%5D%28%2Fapi-refere\u0026amp;theme=68eb97002a7de70f38610424\u0026amp;signature=0ad9545b6f59b78a01fd919a2700ad5f02080fb2a8be8db3c9af8bb12f6974b7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Vietnam GDP by sector — time series - HayInsights Open API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every period of type in one call, oldest first — for charts, instead of one call per period. Each point carries the period fields of the periods endpoint and the four values of the requested sectors; row names are listed once in data.sectors. Every point equals the single-period response for that period, including the derived Q1 2026. priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain constantPrice levels across the change; yoyGrowth stays comparable. Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB, three rows about 14 KB. Source: National Statistics Office of Viet Nam (www.nso.gov.vn).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hayinsights.mintlify.app/_mintlify/api/og/v2?division=Macro\u0026amp;title=Vietnam+GDP+by+sector+%E2%80%94+time+series\u0026amp;description=Every+period+of+%60type%60+in+one+call%2C+oldest+first+%E2%80%94+for+charts%2C+instead+of+one+call%0Aper+period.+Each+point+carries+the+period+fields+of+the%0A%5Bperiods%5D%28%2Fapi-refere\u0026amp;theme=68eb97002a7de70f38610424\u0026amp;signature=0ad9545b6f59b78a01fd919a2700ad5f02080fb2a8be8db3c9af8bb12f6974b7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hayinsights/IGPjHz76REOz-qRi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HayInsights Open API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/macro/vietnam-gdp-by-sector-series.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.hayinsights.com/#organization\",\"name\":\"HayInsights Open API\",\"url\":\"https://developer.hayinsights.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hayinsights/w7ouUmWFSMYI1Ars/logo.svg?fit=max\u0026auto=format\u0026n=w7ouUmWFSMYI1Ars\u0026q=85\u0026s=c48347f2c9a762ef8ee28dfce9259983\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.hayinsights.com#website\",\"name\":\"HayInsights Open API\",\"url\":\"https://developer.hayinsights.com\",\"publisher\":{\"@id\":\"https://developer.hayinsights.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series#webpage\",\"url\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series\",\"name\":\"Vietnam GDP by sector — time series\",\"description\":\"Every period of type in one call, oldest first — for charts, instead of one call per period. Each point carries the period fields of the periods endpoint and the four values of the requested sectors; row names are listed once in data.sectors. Every point equals the single-period response for that period, including the derived Q1 2026. priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain constantPrice levels across the change; yoyGrowth stays comparable. Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB, three rows about 14 KB. Source: National Statistics Office of Viet Nam (www.nso.gov.vn).\",\"dateModified\":\"2026-11-03T02:55:59.689Z\",\"isPartOf\":{\"@id\":\"https://developer.hayinsights.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Macro\",\"item\":\"https://developer.hayinsights.com/api-reference/macro/gdp-growth-rate\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vietnam GDP by sector — time series\",\"item\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series#apireference\",\"headline\":\"Vietnam GDP by sector — time series\",\"name\":\"Vietnam GDP by sector — time series\",\"description\":\"Every period of type in one call, oldest first — for charts, instead of one call per period. Each point carries the period fields of the periods endpoint and the four values of the requested sectors; row names are listed once in data.sectors. Every point equals the single-period response for that period, including the derived Q1 2026. priceBasis changes from constant_2010 to constant_2020 at Q1 2026: do not chain constantPrice levels across the change; yoyGrowth stays comparable. Ask only for the rows you plot: all 28 rows of the quarterly series is about 100 KB, three rows about 14 KB. Source: National Statistics Office of Viet Nam (www.nso.gov.vn).\",\"url\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series\",\"mainEntityOfPage\":{\"@id\":\"https://developer.hayinsights.com/api-reference/macro/vietnam-gdp-by-sector-series#webpage\"},\"dateModified\":\"2026-11-03T02:55:59.689Z\",\"publisher\":{\"@id\":\"https://developer.hayinsights.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.hayinsights.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HayInsights Open API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"HayInsights Open API","nav":{"global":null,"tabs":[{"tab":"API Reference","groups":[{"group":"Commodities","pages":[{"title":"List commodity prices","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/commodities","href":"/api-reference/commodities/list-commodity-prices"},{"title":"Featured commodities","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/commodities/featured","href":"/api-reference/commodities/featured-commodities"},{"title":"Top movers","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/commodities/movers","href":"/api-reference/commodities/top-movers"},{"title":"Gold vs DXY correlation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/commodities/gold-dxy","href":"/api-reference/commodities/gold-vs-dxy-correlation"},{"title":"Commodity price history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/commodities/{id}/history","href":"/api-reference/commodities/commodity-price-history"}]},{"group":"Crypto","pages":[{"title":"Crypto market overview","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/crypto","href":"/api-reference/crypto/crypto-market-overview"},{"title":"Crypto bubble map","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/crypto/bubble-map","href":"/api-reference/crypto/crypto-bubble-map"},{"title":"Crypto on-chain metrics","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/crypto/onchain","href":"/api-reference/crypto/crypto-on-chain-metrics"},{"title":"Crypto derivatives metrics","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/crypto/derivatives","href":"/api-reference/crypto/crypto-derivatives-metrics"},{"title":"Crypto market dominance","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/crypto/dominance","href":"/api-reference/crypto/crypto-market-dominance"}]},{"group":"ETF","pages":[{"title":"List ETFs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf","href":"/api-reference/etf/list-etfs"},{"title":"Top-performing ETFs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/top-performance","href":"/api-reference/etf/top-performing-etfs"},{"title":"Top ETFs by net flow","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/top-netflow","href":"/api-reference/etf/top-etfs-by-net-flow"},{"title":"ETF market heatmap","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/heatmap","href":"/api-reference/etf/etf-market-heatmap"},{"title":"BOJ ETF holdings history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/boj-holdings","href":"/api-reference/etf/boj-etf-holdings-history"},{"title":"BOJ ETF holdings latest","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/boj-holdings/latest","href":"/api-reference/etf/boj-etf-holdings-latest"},{"title":"Compare fund composition","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/compare/fund-composition","href":"/api-reference/etf/compare-fund-composition"},{"title":"Compare NAV growth","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/compare/nav-growth","href":"/api-reference/etf/compare-nav-growth"},{"title":"ETF NAV growth","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/nav-growth/{code}","href":"/api-reference/etf/etf-nav-growth"},{"title":"ETF info","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/{code}/info","href":"/api-reference/etf/etf-info"},{"title":"ETF holdings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/{code}/holdings","href":"/api-reference/etf/etf-holdings"},{"title":"ETF price history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/{code}/prices-history","href":"/api-reference/etf/etf-price-history"},{"title":"ETF detail","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/{code}/detail","href":"/api-reference/etf/etf-detail"},{"title":"ETF / fund composition","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/etf/{code}/composition","href":"/api-reference/etf/etf-fund-composition"}]},{"group":"FX","pages":[{"title":"FX summary","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/fx/summary","href":"/api-reference/fx/fx-summary"},{"title":"FX table","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/fx/table","href":"/api-reference/fx/fx-table"},{"title":"FX correlation matrix","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/fx/correlation","href":"/api-reference/fx/fx-correlation-matrix"},{"title":"Emerging-market FX stress","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/fx/em-stress","href":"/api-reference/fx/emerging-market-fx-stress"}]},{"group":"Macro","pages":[{"title":"GDP growth rate","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/gdp-growth-rate","href":"/api-reference/macro/gdp-growth-rate"},{"title":"Latest macroeconomic market recap","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/market-recap","href":"/api-reference/macro/latest-macroeconomic-market-recap"},{"title":"Economic data series","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/economic-data","href":"/api-reference/macro/economic-data-series"},{"title":"Exchange rate series","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/exchange-rate","href":"/api-reference/macro/exchange-rate-series"},{"title":"Population \u0026 unemployment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/population","href":"/api-reference/macro/population-\u0026-unemployment"},{"title":"Central government debt (% of GDP)","deprecated":null,"version":null,"sidebarTitle":"Central government debt","openapi":"/openapi.yaml get /openapi/v1/macro/monetary-policy/central-government-debt","href":"/api-reference/macro/central-government-debt"},{"title":"Policy rates \u0026 bond yields","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/monetary-policy/rates-yields","href":"/api-reference/macro/policy-rates-\u0026-bond-yields"},{"title":"Japan FDI flows","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/fdi/flows","href":"/api-reference/macro/japan-fdi-flows"},{"title":"Japan FDI by region","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/fdi/by-region","href":"/api-reference/macro/japan-fdi-by-region"},{"title":"Japan FDI by industry","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/fdi/by-industry","href":"/api-reference/macro/japan-fdi-by-industry"},{"title":"Vietnam FDI flows","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/fdi/vn/flows","href":"/api-reference/macro/vietnam-fdi-flows"},{"title":"Vietnam FDI breakdown","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/fdi/vn/breakdown","href":"/api-reference/macro/vietnam-fdi-breakdown"},{"title":"Interbank rate history (US/JP)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/interbank-rates","href":"/api-reference/macro/interbank-rate-history-usjp"},{"title":"Japan TIBOR rates","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/interbank-rates/jp/tibor","href":"/api-reference/macro/japan-tibor-rates"},{"title":"Japan overnight call rate","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/interbank-rates/jp/overnight","href":"/api-reference/macro/japan-overnight-call-rate"},{"title":"Vietnam interbank rates","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/interbank-rates/vn","href":"/api-reference/macro/vietnam-interbank-rates"},{"title":"Export/import turnover","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/trade/turnover","href":"/api-reference/macro/exportimport-turnover"},{"title":"Export/import by region","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/trade/by-region","href":"/api-reference/macro/exportimport-by-region"},{"title":"Japan GDP expenditure breakdown","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/japan/gdp-breakdown","href":"/api-reference/macro/japan-gdp-expenditure-breakdown"},{"title":"Japan central government debt breakdown","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/japan/central-gov-debt","href":"/api-reference/macro/japan-central-government-debt-breakdown"},{"title":"Manufacturing PMI by country (S\u0026P Global)","deprecated":null,"version":null,"sidebarTitle":"Pmi vn manufacturing","openapi":"/openapi.yaml get /openapi/v1/macro/pmi/{country}/manufacturing","href":"/api-reference/macro/pmi-vn-manufacturing"},{"title":"Vietnam GDP by sector (NSO)","deprecated":null,"version":null,"sidebarTitle":"Vietnam gdp by sector","openapi":"/openapi.yaml get /openapi/v1/macro/vietnam/gdp-by-sector","href":"/api-reference/macro/vietnam-gdp-by-sector"},{"title":"Vietnam GDP by sector — available periods","description":"Periods that have data for `type`, newest first — for a period picker. Each period\ncarries its `estimateStatus`, the constant-price base (`priceBasis`), when NSO\npublished the release returned (`knowledgeAt`), and whether it is derived.\n\nSource: National Statistics Office of Viet Nam (www.nso.gov.vn).\n","deprecated":null,"version":null,"sidebarTitle":"Vietnam gdp by sector periods","openapi":"/openapi.yaml get /openapi/v1/macro/vietnam/gdp-by-sector/periods","href":"/api-reference/macro/vietnam-gdp-by-sector-periods"},{"title":"Vietnam GDP by sector — time series","deprecated":null,"version":null,"sidebarTitle":"Vietnam gdp by sector series","openapi":"/openapi.yaml get /openapi/v1/macro/vietnam/gdp-by-sector/series","href":"/api-reference/macro/vietnam-gdp-by-sector-series"},{"title":"Indicator — GDP growth rate table (US/JP/VN)","description":"Table of quarterly GDP growth rate (%) for all three economies. `columns` holds the N\nmost recent quarters (default 4, oldest to newest); `rows[i].values[j]` is the cell at\nrow i, column j. US uses YoY on real GDP (chained 2017 USD), matching the dedicated US\nchart; JP uses QoQ, VN comes straight from the source.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/gdp-growth-rate","href":"/api-reference/macro/indicator-—-gdp-growth-rate-table-usjpvn"},{"title":"Indicator — GDP per capita table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/gdp-per-capita","href":"/api-reference/macro/indicator-—-gdp-per-capita-table-usjpvn"},{"title":"Indicator — Central government debt table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/central-government-debt","href":"/api-reference/macro/indicator-—-central-government-debt-table-usjpvn"},{"title":"Indicator — Core CPI inflation table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/core-cpi","href":"/api-reference/macro/indicator-—-core-cpi-inflation-table-usjpvn"},{"title":"Indicator — Producer Price Index table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/ppi","href":"/api-reference/macro/indicator-—-producer-price-index-table-usjpvn"},{"title":"Indicator — PCE table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/core-pce","href":"/api-reference/macro/indicator-—-pce-table-usjpvn"},{"title":"Indicator — Export/Import price index table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/epi-ipi","href":"/api-reference/macro/indicator-—-exportimport-price-index-table-usjpvn"},{"title":"Indicator — Export/Import value \u0026 balance table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/export-import","href":"/api-reference/macro/indicator-—-exportimport-value-\u0026-balance-table-usjpvn"},{"title":"Indicator — Population table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/population","href":"/api-reference/macro/indicator-—-population-table-usjpvn"},{"title":"Indicator — Unemployment rate table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/unemployment-rate","href":"/api-reference/macro/indicator-—-unemployment-rate-table-usjpvn"},{"title":"Indicator — Exchange rates table","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/exchange-rates","href":"/api-reference/macro/indicator-—-exchange-rates-table"},{"title":"Indicator — Deposit rates table (US/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/deposit-rates","href":"/api-reference/macro/indicator-—-deposit-rates-table-usvn"},{"title":"Indicator — Government bond rates table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/government-bond-rates","href":"/api-reference/macro/indicator-—-government-bond-rates-table-usjpvn"},{"title":"Indicator — Interbank rates table (US/JP/VN)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/macro/indicators/interbank-rates","href":"/api-reference/macro/indicator-—-interbank-rates-table-usjpvn"},{"title":"Indicator — FDI table (US/JP/VN)","deprecated":null,"version":null,"sidebarTitle":"Indicator — FDI table (US/JP/VN)","openapi":"/openapi.yaml get /openapi/v1/macro/indicators/fdi","href":"/api-reference/macro/indicators-fdi"},{"title":"Indicator — Manufacturing PMI table (US/JP/VN)","deprecated":null,"version":null,"sidebarTitle":"Indicators pmi","openapi":"/openapi.yaml get /openapi/v1/macro/indicators/pmi","href":"/api-reference/macro/indicators-pmi"}]},{"group":"Real Estate","pages":[{"title":"List provinces","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/provinces","href":"/api-reference/real-estate/list-provinces"},{"title":"Representative land price per province","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/provinces/prices","href":"/api-reference/real-estate/representative-land-price-per-province"},{"title":"Wards of one province","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/provinces/{provinceId}/wards","href":"/api-reference/real-estate/wards-of-one-province"},{"title":"Ward choropleth GeoJSON for one province","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/provinces/{provinceId}/geojson","href":"/api-reference/real-estate/ward-choropleth-geojson-for-one-province"},{"title":"Transaction-level records for one ward (Japan only)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/wards/{wardId}/transactions","href":"/api-reference/real-estate/transaction-level-records-for-one-ward-japan-only"},{"title":"List priced road segments","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/real-estate/{country}/land-prices","href":"/api-reference/real-estate/list-priced-road-segments"}]},{"group":"News","pages":[{"title":"Latest market news","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/news/feed","href":"/api-reference/news/latest-market-news"},{"title":"Aggregate news sentiment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/news/sentiment","href":"/api-reference/news/aggregate-news-sentiment"}]},{"group":"Calendar","pages":[{"title":"Economic calendar events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/calendar/events","href":"/api-reference/calendar/economic-calendar-events"}]},{"group":"Market","pages":[{"title":"Index snapshots","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/indices/snapshot","href":"/api-reference/market/index-snapshots"},{"title":"Global indices","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/global-indices","href":"/api-reference/market/global-indices"}]},{"group":"Equities","pages":[{"title":"Japan equity snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/{market}/equities/{code}","href":"/api-reference/equities/japan-equity-snapshot"},{"title":"Japan equity events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/{market}/equities/{code}/events","href":"/api-reference/equities/japan-equity-events"},{"title":"Japan equity daily prices","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/{market}/equities/{code}/prices","href":"/api-reference/equities/japan-equity-daily-prices"},{"title":"Japan equity financial statements","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/{market}/equities/{code}/financial-statements","href":"/api-reference/equities/japan-equity-financial-statements"},{"title":"Japan related equities","deprecated":null,"version":null,"openapi":"/openapi.yaml get /openapi/v1/market/{market}/equities/{code}/related-stocks","href":"/api-reference/equities/japan-related-equities"},{"title":"Vietnam equity daily prices","deprecated":null,"version":null,"sidebarTitle":"Vietnam equity daily prices","openapi":"/openapi.yaml get /openapi/v1/market/vn/equities/{code}/prices","href":"/api-reference/equities/vietnam-equity-daily-prices"},{"title":"Vietnam equity financial statements","deprecated":null,"version":null,"sidebarTitle":"Vietnam equity financial statements","openapi":"/openapi.yaml get /openapi/v1/market/vn/equities/{code}/financial-statements","href":"/api-reference/equities/vietnam-equity-financial-statements"},{"title":"Vietnam equity investor net flows","deprecated":null,"version":null,"sidebarTitle":"Vietnam equity investor net flows","openapi":"/openapi.yaml get /openapi/v1/market/vn/equities/{code}/netflows","href":"/api-reference/equities/vietnam-equity-investor-net-flows"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]}]},"basePath":"","title":"Vietnam GDP by sector — time series - HayInsights Open API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}