---
title: "Preview an harvesting from a source created with the given payload"
method: POST
path: "/harvest/source/preview/"
tags: ["harvest"]
---

# Preview an harvesting from a source created with the given payload

`POST /harvest/source/preview/`

## Request

- Base URL: `https://dados.gov.pt/api/1`
- URL: `https://dados.gov.pt/api/1/harvest/source/preview/`
- Auth: none declared

## Headers

- `X-Fields` string, mask

## Request body

- HarvestSource
  - `active` boolean, required: Is this source active
  - `autoarchive` boolean, required: If enabled, datasets not present on the remote source will be automatically archived
  - `backend` 'ckan' | 'ckanpt' | 'csw-dcat' | 'csw-iso-19139' | 'cswudata' | 'dcat' | 'dgt' | 'dkan' | 'ine' | 'inehvd' | 'odspt' | 'ogc', required: The source backend
  - `config` object: The configuration as key-value pairs, served only to readers who may edit the source
  - `created_at` string, date-time, required: The source creation date
  - `datasets_count` integer: Number of datasets harvested by this source
  - `deleted` string, date-time: The source deletion date
  - `description` string, markdown: The source description
  - `id` string: The source unique identifier
  - `last_job` HarvestJob
    - `created` string, date-time, required: The job creation date
    - `ended` string, date-time: The job end date
    - `errors` HarvestError[]: The job initialization errors
      - `level` string, required
      - `message` string, required
    - `id` string, required: The job execution ID
    - `items` HarvestItem[]: The job collected items
      - `args` string[]: The item positional arguments
      - `created` string, date-time, required: The item creation date
      - `dataservice` DataserviceReference
        - `class` string, required: The object class
        - `id` string, required: The object unique identifier
        - `self_api_url` string: Link to the API endpoint for this dataservice
        - `self_web_url` string: Link to the udata web page for this dataservice
        - `title` string, required
      - `dataset` DatasetReference
        - `class` string, required: The object class
        - `id` string, required: The object unique identifier
      - `ended` string, date-time: The item end date
      - `errors` HarvestError[]: The item errors
        - `level` string, required
        - `message` string, required
      - `kwargs` object: The item keyword arguments
      - `logs` HarvestError[]: The item logs
        - `level` string, required
        - `message` string, required
      - `remote_id` string, required: The item remote ID to process
      - `remote_url` string: The item remote url (if available)
      - `started` string, date-time: The item start date
      - `status` 'pending' | 'started' | 'done' | 'failed' | 'skipped' | 'archived', required: The item status
    - `source` string, required: The source owning the job
    - `started` string, date-time: The job start date
    - `status` 'pending' | 'initializing' | 'initialized' | 'processing' | 'done' | 'done-errors' | 'failed', required: The job status
  - `name` string, required: The source display name
  - `organization` OrganizationReference
    - `class` string, required: The object class
    - `id` string, required: The object unique identifier
    - `acronym` string: The organization acronym
    - `badges` BadgeRead[]: The organization badges
      - `kind` string, required
    - `logo` string: The organization logo URL
    - `logo_thumbnail` string: The organization logo thumbnail URL. This is the square (100x100) and cropped version.
    - `name` string: The organization name
    - `page` string: The organization web page URL
    - `permissions` OrganizationPermissions
      - `delete` boolean
      - `edit` boolean
      - `harvest` boolean
      - `members` boolean
      - `private` boolean
    - `slug` string: The organization string used as permalink
    - `uri` string: The API URI for this organization
  - `owner` UserReference
    - `class` string, required: The object class
    - `id` string, required: The object unique identifier
    - `avatar` string: The user avatar URL
    - `avatar_thumbnail` string: The user avatar thumbnail URL. This is the square (500x500) and cropped version.
    - `first_name` string: The user first name
    - `last_name` string: The user larst name
    - `page` string: The user web page URL
    - `slug` string: The user permalink string
    - `uri` string: The API URI for this user
  - `permissions` HarvestSourcePermissions
    - `delete` boolean
    - `edit` boolean
    - `preview` boolean
    - `run` boolean
    - `schedule` boolean
    - `validate` boolean
  - `schedule` string: The source schedule (interval or cron expression)
  - `url` string, required: The source base URL
  - `validation` HarvestSourceValidation
    - `by` UserReference
      - `class` string, required: The object class
      - `id` string, required: The object unique identifier
      - `avatar` string: The user avatar URL
      - `avatar_thumbnail` string: The user avatar thumbnail URL. This is the square (500x500) and cropped version.
      - `first_name` string: The user first name
      - `last_name` string: The user larst name
      - `page` string: The user web page URL
      - `slug` string: The user permalink string
      - `uri` string: The API URI for this user
    - `comment` string: A comment about the validation. Required on rejection
    - `on` string, date-time: Date date on which validation was performed
    - `state` 'pending' | 'accepted' | 'refused', required: Is it validated or not

## Response `200`

Success

- HarvestJobPreview
  - `created` string, date-time, required: The job creation date
  - `ended` string, date-time: The job end date
  - `errors` HarvestError[]: The job initialization errors
    - `level` string, required
    - `message` string, required
  - `id` string, required: The job execution ID
  - `items` HarvestItemPreview[]: The job collected items
    - `args` string[]: The item positional arguments
    - `created` string, date-time, required: The item creation date
    - `dataservice` DataservicePreview
      - `self_api_url` object: The dataservice API URL (fake)
      - `self_web_url` object: The dataservice webpage URL (fake)
      - `title` string, required
    - `dataset` DatasetPreview
      - `access_audiences` AccessAudienceRead[]
        - `condition` 'yes' | 'no' | 'under_condition'
        - `role` 'local_authority_and_administration' | 'company_and_association' | 'private'
      - `access_type` string
      - `access_type_reason` string
      - `access_type_reason_category` string
      - `acronym` string: An optional dataset acronym
      - `archived` string, date-time: The archival date if archived
      - `authorization_request_url` string
      - `badges` BadgeRead[]: The dataset badges
        - `kind` string, required
      - `community_resources` CommunityResource[]
        - `checksum` Checksum
          - `type` 'sha1' | 'sha2' | 'sha256' | 'md5' | 'crc': The hashing algorithm used to compute the checksum
          - `value` string, required: The resulting checksum/hash
        - `created_at` string, date-time: The resource creation date
        - `description` string, markdown: The resource markdown description
        - `extras` object: Extra attributes as key-value pairs
        - `filesize` integer: The resource file size in bytes
        - `filetype` 'file' | 'remote', required: Whether the resource is an uploaded file, a remote file or an API
        - `format` string, required: The resource format
        - `harvest` HarvestResourceMetadata
          - `issued_at` string, date-time: The resource harvested release date
          - `modified_at` string, date-time: The resource harvest last modification date
          - `uri` string: The resource harvest uri
        - `id` string: The resource unique ID
        - `internal` ResourceInternals
          - `created_at_internal` string, date-time, required: The resource's internal creation date on the site
          - `last_modified_internal` string, date-time, required: The resource's internal last modification date
        - `last_modified` string, date-time: The resource last modification date
        - `latest` string: The permanent URL redirecting to the latest version of the resource. When the resource data is updated, the URL will change, the latest URL won't.
        - `metrics` object: The resource metrics
        - `mime` string: The resource mime type
        - `preview_url` string: An optional preview URL to be loaded as a standalone page (ie. iframe or new page)
        - `schema` Schema
          - `name` string
          - `url` string
          - `version` string
        - `title` string, required: The resource title
        - `type` 'main' | 'documentation' | 'update' | 'api' | 'code' | 'other', required: Resource type (documentation, API...)
        - `url` string, required: The resource URL
        - `dataset` DatasetReference
          - `class` string, required: The object class
          - `id` string, required: The object unique identifier
        - `organization` OrganizationReference
          - `class` string, required: The object class
          - `id` string, required: The object unique identifier
          - `acronym` string: The organization acronym
          - `badges` BadgeRead[]: The organization badges
            - `kind` string, required
          - `logo` string: The organization logo URL
          - `logo_thumbnail` string: The organization logo thumbnail URL. This is the square (100x100) and cropped version.
          - `name` string: The organization name
          - `page` string: The organization web page URL
          - `permissions` OrganizationPermissions
            - `delete` boolean
            - `edit` boolean
            - `harvest` boolean
            - `members` boolean
            - `private` boolean
          - `slug` string: The organization string used as permalink
          - `uri` string: The API URI for this organization
        - `owner` UserReference
          - `class` string, required: The object class
          - `id` string, required: The object unique identifier
          - `avatar` string: The user avatar URL
          - `avatar_thumbnail` string: The user avatar thumbnail URL. This is the square (500x500) and cropped version.
          - `first_name` string: The user first name
          - `last_name` string: The user larst name
          - `page` string: The user web page URL
          - `slug` string: The user permalink string
          - `uri` string: The API URI for this user
        - `permissions` DatasetPermissions
          - `delete` boolean
          - `edit` boolean
          - `edit_resources` boolean
      - `contact_points` ContactPointRead[]
        - `contact_form` string
        - `email` string
        - `id` string, required
        - `name` string, required
        - `organization` OrganizationReference
          - `class` string, required: The object class
          - `id` string, required: The object unique identifier
          - `acronym` string: The organization acronym
          - `badges` BadgeRead[]: The organization badges
            - `kind` string, required
          - `logo` string: The organization logo URL
          - `logo_thumbnail` string: The organization logo thumbnail URL. This is the square (100x100) and cropped version.
          - `name` string: The organization name
          - `page` string: The organization web page URL
          - `permissions` OrganizationPermissions
            - `delete` boolean
            - `edit` boolean
            - `harvest` boolean
            - `members` boolean
            - `private` boolean
          - `slug` string: The organization string used as permalink
          - `uri` string: The API URI for this organization
        - `owner` UserReference
          - `class` string, required: The object class
          - `id` string, required: The object unique identifier
          - `avatar` string: The user avatar URL
          - `avatar_thumbnail` string: The user avatar thumbnail URL. This is the square (500x500) and cropped version.
          - `first_name` string: The user first name
          - `last_name` string: The user larst name
          - `page` string: The user web page URL
          - `slug` string: The user permalink string
          - `uri` string: The API URI for this user
        - `role` 'contact' | 'creator' | 'publisher' | 'rightsHolder' | 'custodian' | 'distributor' | 'originator' | 'principalInvestigator' | 'processor' | 'resourceProvider' | 'user', required
      - `created_at` string, date-time, required: This date is computed between harvested creation date if any and site's internal creation date
      - `deleted` string, date-time: The deletion date if deleted
      - `description` string, markdown, required: The dataset description in markdown
      - `description_short` string: The dataset short description
      - `extras` object: Extras attributes as key-value pairs
      - `featured` boolean: Is the dataset featured
      - `frequency` 'continuous' | 'oneMinute' | 'fiveMinutes' | 'tenMinutes' | 'fifteenMinutes' | 'thirtyMinutes' | 'hourly' | 'bihourly' | 'trihourly' | 'twelveHours' | 'severalTimesADay' | 'threeTimesADay' | 'semidaily' | 'daily' | 'fiveTimesAWeek' | 'threeTimesAWeek' | 'semiweekly' | 'weekly' | 'biweekly' | 'threeTimesAMonth' | 'semimonthly' | 'monthly' | 'bimonthly' | 'quarterly' | 'threeTimesAYear' | 'semiannual' | 'annual' | 'biennial' | 'triennial' | 'quadrennial' | 'quinquennial' | 'decennial' | 'bidecennial' | 'tridecennial' | 'punctual' | 'irregular' | 'never' | 'notPlanned' | 'other' | 'unknown', required: The update frequency
      - `frequency_date` string, date-time: Next expected update date, you will be notified once that date is reached.
      - `harvest` HarvestDatasetMetadata
        - `archived` string: The reason the dataset has been archived
        - `archived_at` string, date-time: The archive date
        - `backend` string: Harvest backend used
        - `created_at` string, date-time: The dataset harvested creation date
        - `dct_identifier` string: The dct:identifier property from the harvested dataset
        - `domain` string: The harvested domain
        - `issued_at` string, date-time: The dataset harvested release date
        - `last_update` string, date-time: The last harvest date
        - `modified_at` string, date-time: The dataset harvest last modification date
        - `remote_id` string: The dataset remote id on the source portal
        - `remote_url` string: The dataset remote url
        - `source_id` string: The harvester id
        - `uri` string: The dataset harveted uri
      - `id` string: The dataset identifier
      - `internal` DatasetInternals
        - `created_at_internal` string, date-time, required: The dataset's internal creation date on the site
        - `last_modified_internal` string, date-time, required: The dataset's internal last modification date
      - `last_modified` string, date-time, required: The dataset last modification date
      - `last_update` string, date-time, required: The resources last modification date
      - `license` string: The dataset license
      - `license_title` string: The dataset license human-readable title
      - `license_url` string: The dataset license URL
      - `metrics` object: The dataset metrics
      - `organization` OrganizationReference
        - `class` string, required: The object class
        - `id` string, required: The object unique identifier
        - `acronym` string: The organization acronym
        - `badges` BadgeRead[]: The organization badges
          - `kind` string, required
        - `logo` string: The organization logo URL
        - `logo_thumbnail` string: The organization logo thumbnail URL. This is the square (100x100) and cropped version.
        - `name` string: The organization name
        - `page` string: The organization web page URL
        - `permissions` OrganizationPermissions
          - `delete` boolean
          - `edit` boolean
          - `harvest` boolean
          - `members` boolean
          - `private` boolean
        - `slug` string: The organization string used as permalink
        - `uri` string: The API URI for this organization
      - `owner` UserReference
        - `class` string, required: The object class
        - `id` string, required: The object unique identifier
        - `avatar` string: The user avatar URL
        - `avatar_thumbnail` string: The user avatar thumbnail URL. This is the square (500x500) and cropped version.
        - `first_name` string: The user first name
        - `last_name` string: The user larst name
        - `page` string: The user web page URL
        - `slug` string: The user permalink string
        - `uri` string: The API URI for this user
      - `page` object: The dataset page URL (fake)
      - `permissions` DatasetPermissions
        - `delete` boolean
        - `edit` boolean
        - `edit_resources` boolean
      - `private` boolean: Is the dataset private to the owner or the organization
      - `quality` object: The dataset quality
      - `resources` Resource[]
        - `checksum` Checksum
          - `type` 'sha1' | 'sha2' | 'sha256' | 'md5' | 'crc': The hashing algorithm used to compute the checksum
          - `value` string, required: The resulting checksum/hash
        - `created_at` string, date-time: The resource creation date
        - `description` string, markdown: The resource markdown description
        - `extras` object: Extra attributes as key-value pairs
        - `filesize` integer: The resource file size in bytes
        - `filetype` 'file' | 'remote', required: Whether the resource is an uploaded file, a remote file or an API
        - `format` string, required: The resource format
        - `harvest` HarvestResourceMetadata
          - `issued_at` string, date-time: The resource harvested release date
          - `modified_at` string, date-time: The resource harvest last modification date
          - `uri` string: The resource harvest uri
        - `id` string: The resource unique ID
        - `internal` ResourceInternals
          - `created_at_internal` string, date-time, required: The resource's internal creation date on the site
          - `last_modified_internal` string, date-time, required: The resource's internal last modification date
        - `last_modified` string, date-time: The resource last modification date
        - `latest` string: The permanent URL redirecting to the latest version of the resource. When the resource data is updated, the URL will change, the latest URL won't.
        - `metrics` object: The resource metrics
        - `mime` string: The resource mime type
        - `preview_url` string: An optional preview URL to be loaded as a standalone page (ie. iframe or new page)
        - `schema` Schema
          - `name` string
          - `url` string
          - `version` string
        - `title` string, required: The resource title
        - `type` 'main' | 'documentation' | 'update' | 'api' | 'code' | 'other', required: Resource type (documentation, API...)
        - `url` string, required: The resource URL
      - `schema` Schema
        - `name` string
        - `url` string
        - `version` string
      - `slug` string: The dataset permalink string
      - `spatial` SpatialCoverage
        - `geom` GeoJSON
          - `coordinates` object[], required: The geometry as coordinates lists
          - `type` 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon', required: The GeoJSON Type
        - `granularity` object: The spatial/territorial granularity (full Granularity object if `X-Get-Datasets-Full-Objects` is set, ID of the granularity otherwise)
        - `zones` object: The covered zones identifiers (full GeoZone objects if `X-Get-Datasets-Full-Objects` is set, IDs of the zones otherwise)
      - `tags` string[]
      - `temporal_coverage` TemporalCoverage
        - `end` string, date-time: The temporal coverage end date
        - `start` string, date-time, required: The temporal coverage start date
      - `title` string, required: The dataset title
      - `uri` object: The dataset API URL (fake)
    - `ended` string, date-time: The item end date
    - `errors` HarvestError[]: The item errors
      - `level` string, required
      - `message` string, required
    - `kwargs` object: The item keyword arguments
    - `logs` HarvestError[]: The item logs
      - `level` string, required
      - `message` string, required
    - `remote_id` string, required: The item remote ID to process
    - `remote_url` string: The item remote url (if available)
    - `started` string, date-time: The item start date
    - `status` 'pending' | 'started' | 'done' | 'failed' | 'skipped' | 'archived', required: The item status
  - `source` string, required: The source owning the job
  - `started` string, date-time: The job start date
  - `status` 'pending' | 'initializing' | 'initialized' | 'processing' | 'done' | 'done-errors' | 'failed', required: The job status

## Changes

- **2026-09-11** `1175d034be00`: 1 breaking, 1 info
  - api path removed without deprecation
  - endpoint added

[Operation history](https://skmtc.dev/dados/apis/udata-api/changes/harvest/source/preview/post.md)

---

[API](https://skmtc.dev/dados/apis/udata-api.md) - [All operations](https://skmtc.dev/dados/apis/udata-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dados/apis/udata-api/revisions/77edaf8a00ea?raw)
