openapi: 3.2.0 info: title: Pipeline Management API v2 Pipeline Templates API description: 'The Pipelines API enables programmatic access and control over data processing pipelines.' version: 2.17.10 servers: - url: Use API Lookup for a base URL security: - Bearer: [] tags: - name: Pipeline Templates paths: /v2/templates: parameters: - $ref: '#/components/parameters/RequestIdHeaderParam' - $ref: '#/components/parameters/CorrelationIdHeaderParam' get: parameters: - name: linkable in: query description: If true, get all linkable templates available to the caller to attach as a link to a project. schema: type: boolean tags: - Pipeline Templates summary: Get the list of PipelineTemplates description: This endpoint returns a list of all PipelineTemplates defined. operationId: listPipelineTemplates responses: '200': description: List retrieved successfully. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/PipelineTemplate' '500': description: Internal error while retrieving the list of PipelineTemplates. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ErrorMessage' post: tags: - Pipeline Templates summary: Create a new PipelineTemplate description: A PipelineTemplate is the top-level entity which holds the information to fully define and independently reuse a data processing Pipeline, including its implementation. This endpoint creates a PipelineTemplate and returns its metadata, that includes the id assigned to it. operationId: createPipelineTemplate requestBody: description: PipelineTemplate to be created. content: application/json: schema: $ref: '#/components/schemas/PipelineTemplate' required: true responses: '201': description: PipelineTemplate successfully defined and returned with its id. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/PipelineTemplate' '400': description: Required parameters are missing or invalid values were provided. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal error while defining the PipelineTemplate. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' x-codegen-request-body-name: body /v2/templates/{templateId}: parameters: - $ref: '#/components/parameters/TemplateIdPathParam' - $ref: '#/components/parameters/RequestIdHeaderParam' - $ref: '#/components/parameters/CorrelationIdHeaderParam' get: tags: - Pipeline Templates summary: Get a PipelineTemplate description: This endpoint returns the details about the PipelineTemplate identified by the templateId path parameter. operationId: getPipelineTemplate responses: '200': description: PipelineTemplate retrieved successfully. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/PipelineTemplate' '404': description: PipelineTemplate with provided id not found. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal error while retrieving the PipelineTemplate. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: tags: - Pipeline Templates summary: Delete a PipelineTemplate description: This endpoint delete the PipelineTemplate identified by the templateId path parameter. The PipelineTemplate cannot be in use, meaning that there are PipelineVersions defined with the PipelineTemplate. operationId: deletePipelineTemplate responses: '204': description: PipelineTemplate deleted successfully. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: {} '404': description: PipelineTemplate with provided id not found. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '412': description: The specified Pipeline Template can not be deleted because it has one or more dependent Pipeline Versions. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal error while deleting the PipelineTemplate. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v2/templates/{templateId}/hrn: parameters: - $ref: '#/components/parameters/TemplateIdPathParam' - $ref: '#/components/parameters/RequestIdHeaderParam' - $ref: '#/components/parameters/CorrelationIdHeaderParam' get: tags: - Pipeline Templates summary: Get a PipelineTemplate HRN description: This endpoint returns the HRN of the PipelineTemplate identified by the templateId path parameter. operationId: getPipelineTemplateHrn responses: '200': description: PipelineTemplate HRN retrieved successfully. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/HrnResponse' '404': description: PipelineTemplate with provided id not found. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal error while retrieving the PipelineTemplate HRN. headers: X-Request-ID: description: value of the request header or generated value. schema: type: string X-Correlation-ID: description: value of the request header or generated value. schema: type: string content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' components: schemas: ClusterConfiguration: required: - supervisorUnits - workerUnits - workers type: object properties: workers: minimum: 1 type: integer description: Number of workers. format: int32 example: 4 workerUnits: maximum: 15 minimum: 1 type: integer description: Number of resource units per worker. format: int32 example: 2 workerResourceProfileId: type: string description: Identifier of the resource profile requested for workers. example: HS1 workerAdditionalOverheadMemory: multipleOf: 0.01 minimum: 0 type: number description: The factor of proportionality of additional overhead memory per worker unit in fraction, can be greater than or equal to zero. The default maximum value is 0.05 (but that could be raised on a realm basis). format: float example: 0.02 supervisorUnits: maximum: 15 minimum: 1 type: integer description: Number of resource units per supervisor. format: int32 example: 3 supervisorResourceProfileId: type: string description: Identifier of the resource profile requested for the supervisor. example: HS1 supervisorAdditionalOverheadMemory: multipleOf: 0.01 minimum: 0 type: number description: The factor of proportionality of additional overhead memory per supervisor unit in fraction, can be greater than or equal to zero. The default maximum value is 0.05 (but that could be raised on a realm basis). format: float example: 0.02 gcProfile: type: string description: GC selected for this PipelineVersion. Refer to the GcProfileDefinition component for details. example: g1gc description: Configuration for the cluster when submitting a pipeline version. ErrorMessage: type: object properties: status: type: integer description: Duplicate of the HTTP status that is returned. format: int32 readOnly: true example: 400 code: type: string description: Error code that pertains to a specific error. readOnly: true example: E1000 message: type: string description: This is the message for the error. readOnly: true example: Validation Failed messageTemplate: type: string description: Message template key that is used to look up a template for localization support. The curly brackets are utilized for looking up the property to get the message. If there are no curly brackets, then the message does not have a template key. readOnly: true example: '{validation.error}' templateOptions: type: object additionalProperties: type: object properties: {} description: Key -> value map of options to be used in a template. This can be passed in for localization to insert in values. A localized template that uses these may look like "The value must be larger than {exampleKey}" where {exampleKey} is replaced with a value for "exampleKey" from the returned map. readOnly: true errors: uniqueItems: true type: array description: Set of validation error messages. readOnly: true items: $ref: '#/components/schemas/ValidationErrorMessage' description: HTTP Error message thrown by the service HrnResponse: type: object properties: hrn: type: string description: Unique HERE Resource Name of an entity. readOnly: true example: hrn:here:pipeline:::6d9c8dd6-56dc-49af-83f2-d97896aa8bf0 description: HRN of an entity. PipelineTemplate: required: - defaultClusterConfiguration - entryPointClassName - inputCatalogIds - name - packageId type: object properties: id: type: string description: System generated identifier (UUID) of the Pipeline Template. format: uuid readOnly: true example: 00112233-4455-6677-8899-aabbccddeeff name: maxLength: 64 minLength: 3 type: string description: User provided name for the Pipeline Template. example: Road Sign Processing Template state: type: string description: Current state of the Pipeline Template. readOnly: true example: created enum: - creating - created - creation_failed runtimeEnvironment: type: string description: The runtime environment to run. For the list of supported runtime environments, see developer documentation at https://developer.here.com/documentation/pipeline/dev_guide/topics/creating-pipelines.html and the list of available runtimes for the customer returned by the GET ./runtimeEnvironments endpoint. example: stream-x.y.z packageId: type: string description: System generated identifier (UUID) for the Package containing the implementation of this PipelineTemplate. format: uuid example: 00112233-4455-6677-8899-aabbccddeeff entryPointClassName: pattern: ([\p{L}_$][\p{L}\p{N}_$]*\.)*[\p{L}_$][\p{L}\p{N}_$]* type: string description: The fully qualified class name of the entry point of this PipelineTemplate. example: com.some.package.MyPipeline groupId: pattern: GROUP-\p{XDigit}{8}-(\p{XDigit}{4}-){3}\p{XDigit}{12} type: string description: Sharing group identifier in which this pipeline template will be created. Required unless this pipeline template is created in project scope (with a project-scoped token) in which case this field must be null. example: GROUP-00000000-0000-0000-0000-000000000000 hrn: type: string description: Unique HERE Resource Name of this pipeline template. readOnly: true example: hrn:here:pipeline-template:::00112233-4455-6677-8899-aabbccddeeff defaultClusterConfiguration: $ref: '#/components/schemas/ClusterConfiguration' inputCatalogIds: type: array description: List of input catalog identifiers for PipelineTemplate. This list of identifiers can be used by a client to describe a list of HRNs needed for a valid Pipeline Version. Each identifier is an alpha-numeric string (_- are also allowed) providing a label for a catalog HRN. example: '"weather", "traffic"' items: type: string description: maxLength: 512 minLength: 0 type: string description: Additional text describing the Pipeline Template. example: Road sign processing template to be applied to all RSP Pipelines defaultRuntimeConfiguration: type: string description: 'Default runtime config in Java Properties format (as a String). Any runtime configuration values supplied in this PipelineTemplate will provide default values for PipelineVersions using this Template. If a PipelineVersion has its own runtime configuration values, they will be added to any defaults available from the parent PipelineTemplate. PipelineVersion runtime configuration values with the same key will over-ride any default configuration values from the PipelineTemplate. The application of these default values occurs dynamically whenever the PipelineVersion is run. The combined configuration values are made available in a resource file named `application.properties` on the runtime classpath. For more information, see the "Configuration File Reference" section of the developer documentation. The maximum property ''name'' size is 2048 characters, the maximum property ''value'' size is 8192 characters, and the maximum total size of this defaultRuntimeConfiguration string is 10243 characters.' example: processing.type=defaultoverwrite=disabledskipDuplicates=enabled created: type: string description: Time when this PipelineTemplate was created. This is in ISO-8601 calendar system. format: date-time readOnly: true example: '2007-12-03T10:15:30+01:00' updated: type: string description: Time when this PipelineTemplate was last updated. This is in ISO-8601 calendar system. format: date-time readOnly: true example: '2007-12-03T10:15:30+01:00' realm: type: string description: The realm for this PipelineTemplate readOnly: true example: olp-here description: A PipelineTemplate is the top-level entity which holds the information to fully define and independently reuse a data processing Pipeline, including its implementation, the schema for its required input and output catalogs, and its default configuration. ValidationErrorMessage: description: Extends ErrorMessage to add a JSON pointer field and invalid value to the message properties: code: description: Error code that pertains to a specific error.This field will only be populated in the event of known errors. Some errors like field validation may not be able to be done in a reproducible way so it may be omitted in these cases example: E1000 readOnly: true type: string errors: description: Set of validation error messages. items: $ref: '#/components/schemas/ValidationErrorMessage' readOnly: true type: array uniqueItems: true field: description: Field of the object that is invalid. The field follows RFC 6901 JSON pointer. example: /parent/list/1/value externalDocs: url: https://tools.ietf.org/html/rfc6901 readOnly: true type: string invalidValue: description: The invalid value that was sent example: sample string readOnly: true type: object message: description: This is the message for the error. example: Validation Failed readOnly: true type: string messageTemplate: description: Message template key that is used to look up a template for localization support. The curly brackets are utilized for looking up the property to get the message. If there are no curly brackets, then the message does not have a template key. example: '{validation.error}' readOnly: true type: string status: description: Duplicate of the HTTP status that is returned. Where possible utilize the HTTP status. This one is here for convenience. example: 400 format: int32 readOnly: true type: integer templateOptions: additionalProperties: description: Key -> value map of options to be used in a template. This can be passed in for localization to insert in values. A localized template that uses these may look like "The value must be larger than {exampleKey}" where {exampleKey} is replaced with a value for "exampleKey" from the returned map. readOnly: true type: object description: Key -> value map of options to be used in a template. This can be passed in for localization to insert in values. A localized template that uses these may look like "The value must be larger than {exampleKey}" where {exampleKey} is replaced with a value for "exampleKey" from the returned map. readOnly: true type: object readOnly: true type: object parameters: TemplateIdPathParam: name: templateId in: path description: System generated identifier for the PipelineTemplate. required: true schema: type: string RequestIdHeaderParam: name: X-Request-ID in: header description: Identifier for a specific http request. If not present, one will be generated. schema: type: string CorrelationIdHeaderParam: name: X-Correlation-ID in: header description: Common identifier for multiple http requests to indicate they are associated in some way. If not present, one will be generated. schema: type: string securitySchemes: Bearer: type: http scheme: bearer bearerFormat: JWT description: A token obtained from a separate endpoint using client credentials and an OAuth 1.0a HMAC-SHA256 signed request. For more information on how to get a bearer token, see https://developer.here.com/documentation/identity-access-management/dev_guide/index.html. externalDocs: description: The developer guide and changelogs are available here. url: https://www.here.com/docs/category/pipelines-api