---
title: "Gets a specific source"
method: GET
path: "/sources/{id}"
tags: ["Source"]
---

# Gets a specific source

`GET /sources/{id}`

## Request

- Base URL: `http://localhost:3001/api`
- URL: `http://localhost:3001/api/sources/{id}`
- Auth: none declared

## Response `200`

OK

- Source: A source of line list case data.
  - `name` string: Human readable name of a source
  - `origin` object
    - `url` string: Source location, can be http, https, or s3 schemes. This must be the link to the source data download.
    - `license` string: The license under which we have the right to ingest the data. Ideally a SPDX identifier (https://spdx.org/licenses/).
    - `providerName` string: The organisation or individual who collects the data in this source.
    - `providerWebsiteUrl` string: The provider's website, or where possible their specific site for information about this outbreak (including the source data used here).
  - `format` string: Format of the source to be ingested, useful when automated ingestion
  - `dateFilter` object
    - `numDaysBeforeToday` number
    - `op` 'EQ' | 'GT' | 'LT'
  - `notificationRecipients` string[]: List of addresses to be notified of important changes to the source.
  - `excludeFromLineList` boolean: Whether cases from this source should be left out of the line list feed.
  - `hasStableIdentifiers` boolean: Whether the source includes identifiers for individual cases that remain the same over time.
  - `automation` object
    - `parser` object
      - `awsLambdaArn` string
    - `regexParsing` object
      - `fields` object[]
        - `name` string
        - `regex` string
    - `schedule` object
      - `awsRuleArn` string
      - `awsScheduleExpression` string, required
  - `uploads` Upload[]
    - `status` 'IN_PROGRESS' | 'SUCCESS' | 'ERROR'
    - `summary` object
      - `numCreated` integer
      - `numUpdated` integer
      - `error` 'INTERNAL_ERROR' | 'SOURCE_CONFIGURATION_ERROR' | 'SOURCE_CONFIGURATION_NOT_FOUND' | 'SOURCE_CONTENT_NOT_FOUND' | 'SOURCE_CONTENT_DOWNLOAD_ERROR' | 'PARSING_ERROR' | 'VALIDATION_ERROR' | 'DATA_UPLOAD_ERROR' | 'TIMEOUT'
    - `created` union
      - string
      - object
      - number

## Other responses

- `400`: Malformed request
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable entity
- `500`: Internal server error

## Changes

- **2022-04-19** `7b73390be316`: 2 info
  - added the media type `application/json` for the response with the status `403`
  - added the media type `application/json` for the response with the status `404`
- **2022-02-24** `b0740a7c62bb`: 2 info
  - added the optional property `origin/providerName` to the response with the `200` status
  - added the optional property `origin/providerWebsiteUrl` to the response with the `200` status
- **2021-06-16** `7684749a2389`: 1 info
  - added the optional property `hasStableIdentifiers` to the response with the `200` status
- **2021-03-05** `3c824ebb2004`: 2 warning, 1 info
  - added the new `TIMEOUT` enum value to the `uploads/items/summary/error` response property for the response status `200`
  - added the new `XLSX` enum value to the `format` response property for the response status `200`
  - added the optional property `excludeFromLineList` to the response with the `200` status
- **2020-09-29** `37ece0973876`: 1 warning
  - added the new `GT` enum value to the `dateFilter/op` response property for the response status `200`

[Operation history](https://skmtc.dev/globaldothealth/apis/global-health-curator-service-api/changes/sources/:id/get.md)

---

[API](https://skmtc.dev/globaldothealth/apis/global-health-curator-service-api.md) - [All operations](https://skmtc.dev/globaldothealth/apis/global-health-curator-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/globaldothealth/apis/global-health-curator-service-api/revisions/5b1151265235?raw)
