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

# POST /v1/{+parent}/curations

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

Create a curation resource in the API hub. Once a curation resource is created, plugin instances can start using it.

## Path parameters

- `parent` string, required

## Query parameters

- `curationId` string

## Request body

- GoogleCloudApihubV1Curation — A curation resource in the API Hub.
  - `pluginInstanceActions` GoogleCloudApihubV1PluginInstanceActionID[] — Output only. The plugin instances and associated actions that are using the curation. Note: A particular curation could be used by multiple plugin instances or multiple actions in a plugin instance.
    - `actionId` string — Output only. The action ID that is using the curation. This should map to one of the action IDs specified in action configs in the plugin.
    - `pluginInstance` string — Output only. Plugin instance that is using the curation. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
  - `createTime` string, google-datetime — Output only. The time at which the curation was created.
  - `updateTime` string, google-datetime — Output only. The time at which the curation was last updated.
  - `name` string — Identifier. The name of the curation. Format: `projects/{project}/locations/{location}/curations/{curation}`
  - `lastExecutionErrorCode` 'ERROR_CODE_UNSPECIFIED' | 'INTERNAL_ERROR' | 'UNAUTHORIZED' — Output only. The error code of the last execution of the curation. The error code is populated only when the last execution state is failed.
  - `description` string — Optional. The description of the curation.
  - `endpoint` GoogleCloudApihubV1Endpoint — The endpoint to be triggered for curation. The endpoint will be invoked with a request payload containing ApiMetadata. Response should contain curated data in the form of ApiMetadata.
    - `applicationIntegrationEndpointDetails` GoogleCloudApihubV1ApplicationIntegrationEndpointDetails — The details of the Application Integration endpoint to be triggered for curation.
      - `uri` string — Required. The endpoint URI should be a valid REST URI for triggering an Application Integration. Format: `https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute` or `https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
      - `triggerId` string — Required. The API trigger ID of the Application Integration workflow.
  - `lastExecutionState` 'LAST_EXECUTION_STATE_UNSPECIFIED' | 'SUCCEEDED' | 'FAILED' — Output only. The last execution state of the curation.
  - `displayName` string — Required. The display name of the curation.
  - `lastExecutionErrorMessage` string — Output only. Error message describing the failure, if any, during the last execution of the curation.

## Response `200`

Successful response

---

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