openapi: 3.2.0 info: title: Nordic Financial News Exchanges API version: v1.0 contact: name: API Support email: hello@nordicfinancialnews.com description: 'Operations tagged Exchanges across 2 of this provider''s published API definitions: nordic-financial-news-openapi-original.yml, nordic-financial-news-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://nordicfinancialnews.com description: Production server tags: - name: Exchanges paths: /api/v1/exchanges: get: summary: List Exchanges tags: - Exchanges security: - bearer_auth: [] description: Returns active Nordic stock exchanges, ordered alphabetically. Supports filtering by country. parameters: - name: limit in: query required: false description: Number of exchanges to return per page (default 25, max 100). example: 25 schema: type: integer - name: cursor in: query required: false description: Opaque pagination cursor from a previous response. schema: type: string - name: country in: query required: false description: Filter by country using ISO 3166-1 alpha-2 code. Comma-separated for multiple (e.g. `SE,NO`). Case-insensitive. example: SE schema: type: string - name: fields in: query required: false description: 'Comma-separated list of fields to include in the response. Available fields: `id`, `name`, `mic_code`, `acronym`, `country`.' example: id,name,mic_code schema: type: string - name: If-None-Match in: header required: false description: ETag value from a previous response. Returns `304 Not Modified` if data has not changed. schema: type: string - name: If-Modified-Since in: header required: false description: HTTP date from a previous `Last-Modified` header. Returns `304 Not Modified` if nothing has changed since. schema: type: string responses: '200': description: Exchanges retrieved successfully content: application/json: schema: type: object properties: exchanges: type: array items: $ref: '#/components/schemas/ExchangeSummary' pagination: type: object properties: count: type: integer next_cursor: type: - string - 'null' '304': description: Not Modified '401': description: unauthorized content: application/json: examples: unauthorized: value: type: https://docs.nordicfinancialnews.com/problems/auth-invalid title: Unauthorized status: 401 detail: Missing or invalid API key instance: urn:request:abc123 schema: $ref: '#/components/schemas/problem_details' '403': description: forbidden - insufficient scope content: application/json: examples: forbidden: value: type: https://docs.nordicfinancialnews.com/problems/auth-insufficient title: Forbidden status: 403 detail: Insufficient scope for this resource instance: urn:request:abc123 schema: $ref: '#/components/schemas/problem_details' operationId: getApiV1Exchanges x-operation-id-source: derived servers: - url: https://nordicfinancialnews.com description: Production server /api/v1/exchanges/{identifier}: parameters: - name: identifier in: path required: true description: Exchange ID or MIC code (e.g. `XSTO`) schema: type: string get: summary: Get Exchange Details tags: - Exchanges security: - bearer_auth: [] description: Returns detailed information about a stock exchange, including currency, timezone, and location. Look up by exchange ID (e.g. `exch_nasdaq1`) or MIC code (e.g. `XSTO`). parameters: - name: If-None-Match in: header required: false description: ETag value from a previous response. Returns `304 Not Modified` if data has not changed. schema: type: string - name: If-Modified-Since in: header required: false description: HTTP date from a previous `Last-Modified` header. Returns `304 Not Modified` if nothing has changed since. schema: type: string responses: '200': description: Exchange retrieved successfully content: application/json: schema: type: object properties: exchange: $ref: '#/components/schemas/ExchangeDetail' required: - exchange '304': description: Not Modified '404': description: Exchange not found content: application/json: examples: not_found: value: type: https://docs.nordicfinancialnews.com/problems/not-found title: Not Found status: 404 detail: The requested resource could not be found instance: urn:request:abc123 schema: $ref: '#/components/schemas/problem_details' operationId: getApiV1ExchangesByIdentifier x-operation-id-source: derived servers: - url: https://nordicfinancialnews.com description: Production server /api/v1/exchanges/{identifier}/companies: parameters: - name: identifier in: path required: true description: Exchange ID or MIC code (e.g. `XSTO`) schema: type: string get: summary: List Exchange Companies tags: - Exchanges security: - bearer_auth: [] description: Returns companies listed on a specific exchange, ordered alphabetically. The `ticker` and `exchange` shown for each company reflect its primary listing, which may be on a different exchange if the company is listed on multiple exchanges. parameters: - name: limit in: query required: false description: Number of companies to return per page (default 25, max 100). example: 25 schema: type: integer - name: cursor in: query required: false description: Opaque pagination cursor from a previous response. schema: type: string - name: If-None-Match in: header required: false description: ETag value from a previous response. Returns `304 Not Modified` if data has not changed. schema: type: string - name: If-Modified-Since in: header required: false description: HTTP date from a previous `Last-Modified` header. Returns `304 Not Modified` if nothing has changed since. schema: type: string responses: '200': description: Exchange companies retrieved successfully content: application/json: schema: type: object properties: companies: type: array items: $ref: '#/components/schemas/CompanySummary' pagination: type: object properties: count: type: integer next_cursor: type: - string - 'null' required: - companies '304': description: Not Modified '404': description: Exchange not found content: application/json: examples: not_found: value: type: https://docs.nordicfinancialnews.com/problems/not-found title: Not Found status: 404 detail: The requested resource could not be found instance: urn:request:abc123 schema: $ref: '#/components/schemas/problem_details' operationId: getApiV1ExchangesByIdentifierCompanies x-operation-id-source: derived servers: - url: https://nordicfinancialnews.com description: Production server components: schemas: CompanySummary: type: object required: - id - name - slug - former_tickers - also_listed_on properties: id: type: string description: Unique company identifier example: w55fcw3pbg3p name: type: string description: Company name example: Volvo Car AB slug: type: string description: URL-friendly company name example: VOLCAR-B ticker: type: - string - 'null' description: Primary stock ticker (null if unlisted) example: VOLCAR-B former_tickers: type: array items: type: string description: Tickers the company was formerly listed under, from delisted or renamed listings, excluding any that are still a current ticker. Always present; empty when none. The ticker filter resolves former tickers as well as the current one, so a match on an old ticker still returns the company; this field tells you the ticker you searched by is historical. example: - VOLV is_active: type: boolean description: Whether the company is currently active/operating example: true exchange: type: - object - 'null' description: Primary exchange where the company is listed properties: id: type: string description: Exchange identifier name: type: string description: Exchange display name mic_code: type: string description: ISO 10383 Market Identifier Code also_listed_on: type: array description: 'The company''s other active listings, excluding the primary listing above: cross-listings on other exchanges and additional share classes (which may be on the same exchange). Always present; empty when the company is single-listed or unlisted. The row''s ticker/exchange fields are the primary listing only. Company detail stock_listings is the authoritative full set.' items: type: object required: - ticker - mic_code properties: ticker: type: string description: Ticker on this secondary exchange example: VOLCAR-B mic_code: type: string description: ISO 10383 Market Identifier Code of this exchange example: XSTO example: [] ExchangeDetail: allOf: - $ref: '#/components/schemas/ExchangeSummary' - type: object properties: operating_mic_code: type: - string - 'null' description: Parent operating MIC code (for segment exchanges) example: XSTO currency: type: - string - 'null' description: Primary trading currency (ISO 4217) example: SEK ticker_suffix: type: - string - 'null' description: Ticker suffix used for this exchange example: ST timezone: type: - string - 'null' description: Exchange timezone example: Europe/Stockholm city: type: - string - 'null' description: City where the exchange is located indices: type: array description: Stock indices on this exchange items: type: object properties: id: type: string name: type: string symbol: type: string problem_details: type: object required: - type - title - status - detail - instance properties: type: type: string description: URI that identifies the problem type title: type: string description: Short human-readable summary status: type: integer description: HTTP status code detail: type: string description: Human-readable explanation instance: type: string description: URI that identifies the specific occurrence ExchangeSummary: type: object required: - id - name - mic_code properties: id: type: string description: Unique exchange identifier example: exch_nasdaq1 name: type: string description: Exchange display name example: Nasdaq Stockholm mic_code: type: string description: ISO 10383 Market Identifier Code example: XSTO acronym: type: - string - 'null' description: Exchange acronym example: NASDAQ country: type: object description: Country where the exchange is located properties: id: type: string name: type: string iso2_code: type: string securitySchemes: bearer_auth: type: http scheme: bearer bearerFormat: API Key description: API Key authentication using Bearer token x-refined-from: - nordic-financial-news-openapi-original.yml - nordic-financial-news-openapi.yml