---
title: "POST /v1/{+parent}/listings"
method: POST
path: "/v1/{+parent}/listings"
tags: ["projects"]
---

# POST /v1/{+parent}/listings

`POST /v1/{+parent}/listings`

Creates a new listing.

## Path parameters

- `parent` string, required

## Query parameters

- `listingId` string

## Request body

- Listing — A listing is what gets published into a data exchange that a subscriber can subscribe to. It contains a reference to the data source along with descriptive information that will help subscribers find and subscribe the data.
  - `resourceType` 'SHARED_RESOURCE_TYPE_UNSPECIFIED' | 'BIGQUERY_DATASET' | 'PUBSUB_TOPIC' — Output only. Listing shared asset type.
  - `displayName` string — Required. Human-readable display name of the listing. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and can't start or end with spaces. Default value is an empty string. Max length: 63 bytes.
  - `publisher` Publisher — Contains details of the listing publisher.
    - `name` string — Optional. Name of the listing publisher.
    - `primaryContact` string — Optional. Email or URL of the listing publisher. Max Length: 1000 bytes.
  - `pubsubTopic` PubSubTopicSource — Pub/Sub topic source.
    - `topic` string — Required. Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    - `dataAffinityRegions` string[] — Optional. Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
  - `commercialInfo` GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo — Commercial info contains the information about the commercial data products associated with the listing.
    - `cloudMarketplace` GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo — Specifies the details of the Marketplace Data Product associated with the Listing.
      - `commercialState` 'COMMERCIAL_STATE_UNSPECIFIED' | 'ONBOARDING' | 'ACTIVE' — Output only. Commercial state of the Marketplace Data Product.
      - `service` string — Output only. Resource name of the commercial service associated with the Marketplace Data Product. e.g. example.com
  - `description` string — Optional. Short description of the listing. The description must not contain Unicode non-characters and C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). Default value is an empty string. Max length: 2000 bytes.
  - `categories` string[] — Optional. Categories of the listing. Up to five categories are allowed.
  - `bigqueryDataset` BigQueryDatasetSource — A reference to a shared dataset. It is an existing BigQuery dataset with a collection of objects such as tables and views that you want to share with subscribers. When subscriber's subscribe to a listing, Analytics Hub creates a linked dataset in the subscriber's project. A Linked dataset is an opaque, read-only BigQuery dataset that serves as a _symbolic link_ to a shared dataset.
    - `restrictedExportPolicy` RestrictedExportPolicy — Restricted export policy used to configure restricted export on linked dataset.
      - `restrictDirectTableAccess` boolean — Optional. If true, restrict direct table access (read api/tabledata.list) on linked table.
      - `restrictQueryResult` boolean — Optional. If true, restrict export of query result derived from restricted linked dataset table.
      - `enabled` boolean — Optional. If true, enable restricted export.
    - `selectedResources` SelectedResource[] — Optional. Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
      - `table` string — Optional. Format: For table: `projects/{projectId}/datasets/{datasetId}/tables/{tableId}` Example:"projects/test_project/datasets/test_dataset/tables/test_table"
      - `routine` string — Optional. Format: For routine: `projects/{projectId}/datasets/{datasetId}/routines/{routineId}` Example:"projects/test_project/datasets/test_dataset/routines/test_routine"
    - `replicaLocations` string[] — Optional. A list of regions where the publisher has created shared dataset replicas.
    - `effectiveReplicas` Replica[] — Output only. Server-owned effective state of replicas. Contains both primary and secondary replicas. Each replica includes a system-computed (output-only) state and primary designation.
      - `location` string — Output only. The geographic location where the replica resides. See [BigQuery locations](https://cloud.google.com/bigquery/docs/locations) for supported locations. Eg. "us-central1".
      - `replicaState` 'REPLICA_STATE_UNSPECIFIED' | 'READY_TO_USE' | 'UNAVAILABLE' — Output only. Assigned by Analytics Hub based on real BigQuery replication state.
      - `primaryState` 'PRIMARY_STATE_UNSPECIFIED' | 'PRIMARY_REPLICA' — Output only. Indicates that this replica is the primary replica.
    - `dataset` string — Optional. Resource name of the dataset source for this listing. e.g. `projects/myproject/datasets/123`
  - `primaryContact` string — Optional. Email or URL of the primary point of contact of the listing. Max Length: 1000 bytes.
  - `icon` string, byte — Optional. Base64 encoded image representing the listing. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the contents of the field are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire.
  - `logLinkedDatasetQueryUserEmail` boolean — Optional. By default, false. If true, the Listing has an email sharing mandate enabled.
  - `documentation` string — Optional. Documentation describing the listing.
  - `requestAccess` string — Optional. Email or URL of the request access of the listing. Subscribers can use this reference to request access. Max Length: 1000 bytes.
  - `dataProvider` DataProvider — Contains details of the data provider.
    - `primaryContact` string — Optional. Email or URL of the data provider. Max Length: 1000 bytes.
    - `name` string — Optional. Name of the data provider.
  - `allowOnlyMetadataSharing` boolean — Optional. If true, the listing is only available to get the resource metadata. Listing is non subscribable.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' — Output only. Current state of the listing.
  - `discoveryType` 'DISCOVERY_TYPE_UNSPECIFIED' | 'DISCOVERY_TYPE_PRIVATE' | 'DISCOVERY_TYPE_PUBLIC' — Optional. Type of discovery of the listing on the discovery page.
  - `restrictedExportConfig` RestrictedExportConfig — Restricted export config, used to configure restricted export on linked dataset.
    - `restrictDirectTableAccess` boolean — Output only. If true, restrict direct table access(read api/tabledata.list) on linked table.
    - `restrictQueryResult` boolean — Optional. If true, restrict export of query result derived from restricted linked dataset table.
    - `enabled` boolean — Optional. If true, enable restricted export.
  - `storedProcedureConfig` StoredProcedureConfig — Stored procedure configuration, used to configure stored procedure sharing on linked dataset.
    - `enabled` boolean — Optional. If true, enable sharing of stored procedure.
    - `allowedStoredProcedureTypes` string[] — Output only. Types of stored procedure supported to share.
  - `name` string — Output only. The resource name of the listing. e.g. `projects/myproject/locations/us/dataExchanges/123/listings/456`

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/analyticshub.md) · [All operations](https://skmtc.dev/google/apis/analyticshub/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/analyticshub/revisions/64724ad4013d/schema)
