{"items":[{"type":"link","label":"EESy Channel Service","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","content":{"contentType":"overview","meta":{"name":"EESy Channel Service"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"eesy_channel_service_openapi.json","url":"/_bundle/solutions/engine-ecosystem/apis/eesy_channel_service_openapi.json?download"},{"kind":"download","label":"eesy_channel_service_openapi.yaml","url":"/_bundle/solutions/engine-ecosystem/apis/eesy_channel_service_openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"email","title":"DELFI support","email":"DELFI-DevPortal-Help@slb.com","label":"DELFI-DevPortal-Help@slb.com","withCopyButton":true,"copyContent":"DELFI-DevPortal-Help@slb.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"EESy Channel Service (1.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The EESy channel service implements the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"channels"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" resource of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EESy API.  A channel allows message exchange between a workflow"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and a running engine, or directly among engines.  It supports"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"engine steering, rich status reporting, and fast streaming"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"computations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unidirectional channels deliver messages in one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"direction."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request/response channels implement a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"message/response-style protocol: A message is sent in one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"direction and a response message is returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"warning","name":""},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Restricted Access !"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Existing customer can request access via "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://customersupport.digital.slb.com/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Customer Support for Digital"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automatic population of the API Key and S-Auth token is not supported in the \"Try It\" interface for this API."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"service-eesy.slbservice.com\n","language":"plain","title":"Client ID"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"service-eesy.slbservice.com\n"},"children":[]}]}]}],"sectionId":"/"},{"nodeType":"external-docs","url":"https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md","description":"Kubernetes API Conventions.  EESy APIs follow the same guidelines as published for Kubernetes."}],"sectionId":"/"}]}]}},{"type":"group","label":"Channels","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels","items":[{"label":"Create a new EESy channel.","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/postchannel","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/postchannel","metadata":{"seo":{"title":"Create a new EESy channel.","description":"Creates a new EESy channel for a workflow. Each channel owns a dedicated instance of the EESy message service. The channel service launches the instance as part of channel creation. Resource allocation and message service launch may not be instantaneous."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postChannel","name":"Create a new EESy channel.","isWebhook":false,"pointer":"/paths/~1sessions~1{session}~1channels/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new EESy channel.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new EESy channel for a workflow.  Each channel owns a dedicated instance of the EESy message service.  The channel service launches the instance as part of channel creation. Resource allocation and message service launch may not be instantaneous.\n\nChannel creation, therefore, is an asynchronous operation.  Workflows are expected to monitor the channel's phase to determine when the message service is ready for use.  The phase shows as \"Initializing\" while the service starts; it changes to \"Active\" when initialization is complete."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Bearer","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":"User or Service/App/Client Token from SAuth"},{"name":"appkey","scopes":[],"type":"apiKey","in":"header","paramName":"appkey","description":"AppKey/ Consumer Key from your App on Developer Portal"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"session","in":"path","schemaId":"schema_0","description":"Name of the EESy session that owns the channel service.","required":true}],"pointer":"/paths/~1sessions~1{session}~1channels/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"slb-client-id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An id that uniquely identifies the client.  A suitable id for a client might be a random GUID.  EESy attempts to make POST/PUT requests idempotent by computing a hash over the request path, request body (new object/objects), the user id, as well as the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"_"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"slb-client-id"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"_"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"slb-request-id"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" headers.  If two requests result in the same hash, the second request is considered a repeat of the first and will merely retrieve the previously created object.  This permits clients to reliably retry POSTs/PUTs after intermittent failures (502, 503, etc.) without producing unwanted, duplicated objects.  Clients are encouraged to always provide both headers to fully guarantee idempotency."},"children":[]}]}]}]},{"name":"slb-request-id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An id that uniquely identifies a request from a particular client. The id must be an integer value that is monotonously increased with each new request.  EESy attempts to make POST/PUT requests idempotent by computing a hash over the request path, request body (new object/objects), the user id, as well as the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"_"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"slb-client-id"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"_"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"slb-request-id"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" headers.  If two requests result in the same hash, the second request is considered a repeat of the first and will merely retrieve the previously created object.  This permits clients to reliably retry POSTs/PUTs after intermittent failures (502, 503, etc.) without producing unwanted, duplicated objects.  Clients are encouraged to always provide both headers to fully guarantee idempotency."},"children":[]}]}]}]}],"pointer":"/paths/~1sessions~1{session}~1channels/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Channel"}},"schemaId":"components/schemas/Channel","pointer":"/paths/~1sessions~1{session}~1channels/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EESy channel object to create.  The object must include a specification in the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"spec"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field.  The specification determines the type of channel and its parameters.  The metadata must either provide a unique name or a name prefix; the latter is preferred.  The "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field should be omitted as it will be filled by the service."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/sessions/{session}/channels","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"session","in":"path","required":true,"schemaId":"schema_0"}],"query":[],"querystring":[],"header":[{"name":"slb-client-id","in":"header","required":false,"schemaId":"schema_0"},{"name":"slb-request-id","in":"header","required":false,"schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"Bearer","type":"apiKey","name":"Authorization","in":"header"},{"id":"appkey","type":"apiKey","name":"appkey","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/Channel"}},"responseCodes":["201","401","403","409","422","500","502","default"],"pointer":"/sessions/{session}/channels","href":"channels/postchannel","openApiOperationId":"postChannel","summary":"Create a new EESy channel."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/Channel","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Channel"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"The object was successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Channel"}},"schemaId":"components/schemas/Channel"},{"code":"401","description":"Access to the resource was forbidden due to missing/invalid credentials.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"403","description":"Access to the resource was denied.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"409","description":"An object with the same name already exists.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"422","description":"The object in the request body is incorrect and does not pass validation.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"500","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"502","description":"An error occurred in a downstream service.  Downstream services include MRB and the Kubernetes API server.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"default","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"}],"pointer":"/paths/~1sessions~1{session}~1channels/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/Channel","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Channel"}}},{"code":"401","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"403","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"409","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"422","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"500","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"502","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"default","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/channels/postchannel"}],"panels":[]}]},"httpPath":"/sessions/{session}/channels"},{"label":"Get channels.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/listchannels","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/listchannels","metadata":{"seo":{"title":"Get channels.","description":"Obtains a list of channels.  The list may be limited to specific objects by means of a label selector.  A label selector is a comma-separated list of label name/value pairs. For instance, the selector \"workflow=Testing\" selects channels belonging to the Testing workflow.  Label values are optional.  If omitted, all channels with that label match."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listChannels","name":"Get channels.","isWebhook":false,"pointer":"/paths/~1sessions~1{session}~1channels/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get channels.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtains a list of channels.  The list may be limited to specific objects by means of a label selector.  A label selector is a comma-separated list of label name/value pairs. For instance, the selector \"workflow=Testing\" selects channels belonging to the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Testing"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" workflow.  Label values are optional.  If omitted, all channels with that label match."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"Bearer","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":"User or Service/App/Client Token from SAuth"},{"name":"appkey","scopes":[],"type":"apiKey","in":"header","paramName":"appkey","description":"AppKey/ Consumer Key from your App on Developer Portal"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"session","in":"path","schemaId":"schema_0","description":"Name of the EESy session that owns the channel service.","required":true}],"pointer":"/paths/~1sessions~1{session}~1channels/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"labelSelector","in":"query","schemaId":"schema_0","description":"Optional selector to limit the output to objects that match label values."}],"pointer":"/paths/~1sessions~1{session}~1channels/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sessions/{session}/channels","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"session","in":"path","required":true,"schemaId":"schema_0"}],"query":[{"name":"labelSelector","in":"query","required":false,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Bearer","type":"apiKey","name":"Authorization","in":"header"},{"id":"appkey","type":"apiKey","name":"appkey","in":"header"}],"scopes":[]}],"responseCodes":["200","401","403","500","502","default"],"pointer":"/sessions/{session}/channels","href":"channels/listchannels","openApiOperationId":"listChannels","summary":"Get channels."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Channels list successfully returned.  Note that the list may be empty if there was no match.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ChannelList"}},"schemaId":"components/schemas/ChannelList"},{"code":"401","description":"Access to the resource was forbidden due to missing/invalid credentials.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"403","description":"Access to the resource was denied.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"500","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"502","description":"An error occurred in a downstream service.  Downstream services include MRB and the Kubernetes API server.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"default","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"}],"pointer":"/paths/~1sessions~1{session}~1channels/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ChannelList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ChannelList"}}},{"code":"401","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"403","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"500","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"502","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"default","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/channels/listchannels"}],"panels":[]}]},"httpPath":"/sessions/{session}/channels"},{"label":"Get channel.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/getchannel","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/getchannel","metadata":{"seo":{"title":"Get channel.","description":"Obtains a specific channel by name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getChannel","name":"Get channel.","isWebhook":false,"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get channel.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Obtains a specific channel by name."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Bearer","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":"User or Service/App/Client Token from SAuth"},{"name":"appkey","scopes":[],"type":"apiKey","in":"header","paramName":"appkey","description":"AppKey/ Consumer Key from your App on Developer Portal"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"name","in":"path","schemaId":"schema_0","description":"Name of the channel to return.","required":true},{"name":"session","in":"path","schemaId":"schema_0","description":"Name of the EESy session that owns the channel service.","required":true}],"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sessions/{session}/channels/{name}","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"name","in":"path","required":true,"schemaId":"schema_0"},{"name":"session","in":"path","required":true,"schemaId":"schema_0"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Bearer","type":"apiKey","name":"Authorization","in":"header"},{"id":"appkey","type":"apiKey","name":"appkey","in":"header"}],"scopes":[]}],"responseCodes":["200","401","403","404","500","502","default"],"pointer":"/sessions/{session}/channels/{name}","href":"channels/getchannel","openApiOperationId":"getChannel","summary":"Get channel."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Channel found and returned.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Channel"}},"schemaId":"components/schemas/Channel"},{"code":"401","description":"Access to the resource was forbidden due to missing/invalid credentials.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"403","description":"Access to the resource was denied.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"404","description":"EESy could not find the requested object.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"500","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"502","description":"An error occurred in a downstream service.  Downstream services include MRB and the Kubernetes API server.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"default","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"}],"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/Channel","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Channel"}}},{"code":"401","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"403","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"404","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"500","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"502","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"default","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/channels/getchannel"}],"panels":[]}]},"httpPath":"/sessions/{session}/channels/{name}"},{"label":"Initiates deletion of an EESy channel.","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/deletechannel","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/channels/deletechannel","metadata":{"seo":{"title":"Initiates deletion of an EESy channel.","description":"Initiates deletion of an EESy channel. Deletion is an asynchronous operation as it takes some time to tear down resources that are associated with the channel."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteChannel","name":"Initiates deletion of an EESy channel.","isWebhook":false,"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Initiates deletion of an EESy channel.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Initiates deletion of an EESy channel. Deletion is an asynchronous operation as it takes some time to tear down resources that are associated with the channel.\n\nThe channel will have its deletion timestamp set and its phase showing as \"Terminating\" while clean-up occurs. The object is permanently deleted when all resources have been released."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Bearer","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization","description":"User or Service/App/Client Token from SAuth"},{"name":"appkey","scopes":[],"type":"apiKey","in":"header","paramName":"appkey","description":"AppKey/ Consumer Key from your App on Developer Portal"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"name","in":"path","schemaId":"schema_0","description":"Name of the EESy channel to delete.","required":true},{"name":"session","in":"path","schemaId":"schema_0","description":"Name of the EESy session that owns the channel service.","required":true}],"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/sessions/{session}/channels/{name}","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"name","in":"path","required":true,"schemaId":"schema_0"},{"name":"session","in":"path","required":true,"schemaId":"schema_0"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Bearer","type":"apiKey","name":"Authorization","in":"header"},{"id":"appkey","type":"apiKey","name":"appkey","in":"header"}],"scopes":[]}],"responseCodes":["202","401","403","404","500","default"],"pointer":"/sessions/{session}/channels/{name}","href":"channels/deletechannel","openApiOperationId":"deleteChannel","summary":"Initiates deletion of an EESy channel."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"202","description":"Deletion has been successfully initiated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"401","description":"Access to the resource was forbidden due to missing/invalid credentials.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"403","description":"Access to the resource was denied.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"404","description":"EESy could not find the requested object.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"500","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"},{"code":"default","description":"An unexpected error occurred.","mediaType":"*/*","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}},"schemaId":"components/schemas/Status"}],"pointer":"/paths/~1sessions~1{session}~1channels~1{name}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"202","schemaId":"components/schemas/Status","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Status"}}},{"code":"401","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"403","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"404","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"500","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}},{"code":"default","schemaId":"components/schemas/Status","mediaTypes":["*/*"],"mediaTypeContent":{"*/*":{"schemaId":"components/schemas/Status"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/channels/deletechannel"}],"panels":[]}]},"httpPath":"/sessions/{session}/channels/{name}"}],"content":{"contentType":"group","meta":{"name":"Channels"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Channels","showPageActions":true},{"nodeType":"markdoc","content":"All about EESy channels."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/sessions/{session}/channels","summary":"Create a new EESy channel.","prefix":{"name":"post","color":"post"},"badges":[],"link":"/channels/postchannel","deprecated":false},{"title":"/sessions/{session}/channels","summary":"Get channels.","prefix":{"name":"get","color":"get"},"badges":[],"link":"/channels/listchannels","deprecated":false},{"title":"/sessions/{session}/channels/{name}","summary":"Get channel.","prefix":{"name":"get","color":"get"},"badges":[],"link":"/channels/getchannel","deprecated":false},{"title":"/sessions/{session}/channels/{name}","summary":"Initiates deletion of an EESy channel.","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/channels/deletechannel","deprecated":false}]}]}]}]}},{"type":"group","label":"Schema Definitions","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions","items":[{"type":"link","label":"EESy Channel","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channel","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channel","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Channel"},"seo":{"title":"EESy Channel"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EESy Channel","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Channel"},"children":[]}]}]}},{"type":"link","label":"Channel Specification","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channelspec","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channelspec","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ChannelSpec"},"seo":{"title":"Channel Specification"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Channel Specification","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ChannelSpec"},"children":[]}]}]}},{"type":"link","label":"Channel Status","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channelstatus","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channelstatus","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ChannelStatus"},"seo":{"title":"Channel Status"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Channel Status","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ChannelStatus"},"children":[]}]}]}},{"type":"link","label":"EESy Channel List","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channellist","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/channellist","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ChannelList"},"seo":{"title":"EESy Channel List"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EESy Channel List","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ChannelList"},"children":[]}]}]}},{"type":"link","label":"EESy object metadata","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/objectmetadata","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/objectmetadata","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ObjectMetadata"},"seo":{"title":"EESy object metadata"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EESy object metadata","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ObjectMetadata"},"children":[]}]}]}},{"type":"link","label":"EESy Request Status","link":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/status","routeSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi/schema-definitions/status","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Status"},"seo":{"title":"EESy Request Status"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EESy Request Status","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Status"},"children":[]}]}]}}],"content":{"contentType":"group","meta":{"name":"Schema Definitions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Schema Definitions","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Schemas","titleTranslationKey":"schemas","items":[{"title":"EESy Channel","link":"/schema-definitions/channel","deprecated":false},{"title":"Channel Specification","link":"/schema-definitions/channelspec","deprecated":false},{"title":"Channel Status","link":"/schema-definitions/channelstatus","deprecated":false},{"title":"EESy Channel List","link":"/schema-definitions/channellist","deprecated":false},{"title":"EESy object metadata","link":"/schema-definitions/objectmetadata","deprecated":false},{"title":"EESy Request Status","link":"/schema-definitions/status","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/Channel":{"id":"components/schemas/Channel","kind":"json-schema","title":"EESy Channel","data":{"title":"EESy Channel","description":"EESy channel object.  Channels come in two flavors: Unidirectional channels deliver messages in one direction.  This type of channel is particularly useful for rich status reporting by the engine.  An overflow strategy to delete all but the latest message ensures that the workflow can always retrieve the latest status information without the need to explicitly delete outdated messages.  Bidirectional channels implement engine steering with a message/response-style protocol.  Messages encode small, independent computational tasks for the engine; an engine instance processes the request and provides its result as a response message.  Since the EESy message service allows any number of processes to pull messages simultaneously, the engine can horizontally scale its instances to the number of compute requests.","type":"object","required":["metadata","spec"],"properties":{"apiVersion":{"description":"EESy API version; must be \"v1\".","type":"string","enum":["v1"]},"kind":{"description":"EESy object kind; must be \"Channel\".","type":"string","enum":["Channel"]},"metadata":{"$ref":"#/components/schemas/ObjectMetadata"},"spec":{"$ref":"#/components/schemas/ChannelSpec"},"status":{"$ref":"#/components/schemas/ChannelStatus"}},"example":{"apiVersion":"v1","kind":"Channel","metadata":{"namespace":"eesy-my-1st-session","name":"my-1st-channel","session":"my-1st-session","labels":{"version":"v1","workflow":"demo"},"creationTimestamp":"2017-08-25T16:55:04Z","selfLink":"v1/sessions/eesy-my-1st-session/channels/my-1st-channel","uid":"2463a497-89b6-11e7-98e7-42010a8000da"},"spec":{"type":"RequestResponse","capacity":10000,"maxMessageSize":1024,"maxResponseMessageSize":1024,"deleteOnOverflow":false},"status":{"phase":"Active","deliveredMessages":100,"undeliveredMessages":2}}}},"components/schemas/ChannelSpec":{"id":"components/schemas/ChannelSpec","kind":"json-schema","title":"Channel Specification","data":{"title":"Channel Specification","description":"Specification field of an EESy channel object. The field describes the channel and its parameters.","type":"object","required":["type"],"properties":{"type":{"title":"Channel Type","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of the channel, which must be either "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unidirectional"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a unidirectional channel or "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RequestResponse"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a request/response-style channel."},"children":[]}]}]}],"type":"string","enum":["Unidirectional","RequestResponse","WebSocket","Http"]},"capacity":{"title":"Channel Storage Capacity","description":"The storage capacity of the channel is the number of messages for which to allocate storage.  The channel service acquires storage -- in-memory or external -- to store these messages.  The value is an approximation that reflects the desire of the workflow; the actual capacity may be lower if sufficient storage is not available,  As a consequence, workflows need to be prepared to handle an overflow situation when posting to the message service.  An attempt to queue a message after the channel has reached capacity will be handled according to the overflow policy, which either results in a failure (507 Insufficient Storage status) or causes the oldest message to be silently discarded.","type":"integer","minimum":1,"default":10},"maxMessageSize":{"title":"Maximum message size","description":"The maximum size of a message.  The value is used to compute the amount of storage that the EESy message service needs to acquire to store the queued messages.","type":"integer","minimum":1,"default":1024},"maxResponseMessageSize":{"title":"Maximum response message size","description":"The maximum size of a response message for a request/response-style channel.  The value is used to compute the amount of storage that the EESy message service needs to acquire to store the queued messages.","type":"integer","minimum":1,"default":1024},"deleteOnOverflow":{"title":"Overflow Policy","description":"Whether old messages are silently dropped when an overflow occurs.  An overflow occurs when a message is posted to a channel that has reached capacity.  A channel with a capacity of 1 message and a policy to delete old messages is well-suited for rich status reporting, where new information supercedes previously reported data.","type":"boolean","default":false},"callbackURL":{"title":"Publisher callback URL","description":"URL to which to post messages received from the engine. The created message service will post to the callback URL with the same content as a message GET request. Once the callback URL returns status 2xx, the message will be deleted. If a non 2xx status is returned, the callback publisher will retry indefinitely.  The application using the callback URL must whitelist EESy.  To whitelist EESy, visit https://p4d.csi.cloud.slb-ds.com/auth/console/, select the corresponding service identity, and add service-eesy.slbservice.com to the list of \"Allowed Service IDs\".\n"}}}},"components/schemas/ChannelStatus":{"id":"components/schemas/ChannelStatus","kind":"json-schema","title":"Channel Status","data":{"title":"Channel Status","description":"Status field of an EESy channel object that indicates the current status of the channel.","type":"object","properties":{"phase":{"title":"Current channel phase","description":"The phase of the channel describes its current state. Channel creation and deletion are asynchronous operations. The phase shows \"Initializing\" while resources are being acquired and the message service starts. A workflow may begin using the message service after the phase changes to \"Active\". During channel deletion, the phase is reported as \"Terminating\" until all resources are released and the object is permanently erased. While Kubernetes documents phases as deprecated, it is sufficient and convenient for channel objects.","type":"string","enum":["Initializing","Active","Terminating"],"readOnly":true},"dataLink":{"title":"URL for Http or WebSocket channels","description":"URL of the connection when channel type is 'Http' or 'WebSocket'.","type":"string","readOnly":true},"deliveredMessages":{"title":"Total number of delivered messages","description":"The number of messages that has been delivered through this channel.","type":"integer","minimum":0,"readOnly":true},"undeliveredMessages":{"title":"Total number of undelivered messages","description":"The number of queued messages that are awaiting delivery. channel.","type":"integer","minimum":0,"readOnly":true}}}},"components/schemas/ChannelList":{"id":"components/schemas/ChannelList","kind":"json-schema","title":"EESy Channel List","data":{"title":"EESy Channel List","description":"A list of EESy channel objects.","type":"object","required":["items"],"properties":{"apiVersion":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EESy API version of this list and shared by all channel objects; must be \"v1\".  Note that individual channel objects in the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"items"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array do not contain this field."},"children":[]}]}]}],"type":"string","enum":["v1"]},"kind":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EESy object kind of this list; must be \"ChannelList\". Note that individual channel objects in the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"items"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array do not contain the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kind"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field as its value can be inferred from the kind of the list as \"Channel\"."},"children":[]}]}]}],"type":"string","enum":["ChannelList"]},"items":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array of channel objects. Note that the individual objects do not include their "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apiVersion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kind"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields."},"children":[]}]}]}],"type":"array","items":{"$ref":"#/components/schemas/Channel"}}}}},"components/schemas/ObjectMetadata":{"id":"components/schemas/ObjectMetadata","kind":"json-schema","title":"EESy object metadata","data":{"title":"EESy object metadata","description":"All EESy objects have a metadata field modeled after the Kubernetes API.  Metadata include identifying information like the object's name and universal id as well as custom information like labels that workflows use to organize objects.","type":"object","properties":{"name":{"title":"Object name","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique name of the object.  The name is required except when a new object is posted and the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"generateName"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is present. Names must consist of lower-case letters, digits, '.' and '-' characters, must start with a lower-case letter or digit, and may be at most 237 characters long."},"children":[]}]}]}],"type":"string","pattern":"[a-z0-9][-a-z0-9.]{0,236}"},"generateName":{"title":"Name prefix of a new object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A desired name prefix when posting a new object.  All EESy objects require a unique name within their resource that identifies them in EESy. The need for unique names introduces the risk of name clashes when workflows post new objects. The recommendation, therefore, is to provide a name prefix instead of a full name and let the EESy service append a suitable string that renders the name unique. Name prefixes must consist of lower=case letters, digits, '.' and '-' characters, must start with a lower-case letter or digit, and may be at most 205 characters long."},"children":[]}]}]}],"type":"string","pattern":"[a-z0-9][-a-z0-9.]{0,204}"},"labels":{"title":"Custom labels for object selection","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labels are custom name/value pairs that workflows use for tagging objects for later queries by means of label selectors. Names and values must follow the same syntax rules as defined for Kubernetes, that is, they must consist of letters, digits, '.', '_', or '-' characters, and start with a letter or digit.  Labels may have two fields separated by '/'. The first part serves as a namespace that may be used to differentiate among different workflows or services. All labels used by EESy use the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"eesy"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" namespace."},"children":[]}]}]}],"type":"object","additionalProperties":{"type":"string"}},"annotations":{"title":"Custom annotations","description":"Annotations are name/value pairs used by the workflow to store ancillary information with the EESy object. They are maintained with the object, but do not have any pre-defined meaning for EESy.","type":"object","additionalProperties":{"type":"string"}},"namespace":{"title":"Kubernetes namespace of the object","description":"Dedicated Kubernetes namespace for the object that EESy uses to manage objects and resources for the workflow in the Kubernetes cluster.","type":"string","readOnly":true},"creationTimestamp":{"title":"Timestamp of object creation","description":"The timestamp of when the object was created. The timestamp is in UTC timezone and ISO standard format.","type":"string","pattern":"20\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(?:\\.[0-9]+)?Z","readOnly":true},"deletionTimestamp":{"title":"Timestamp of object deletion","description":"The timestamp of when a request for deletion was received. If this field is present and non-empty, then the the object is in the process of deleting its resources.","type":"string","pattern":"20\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(?:\\.[0-9]+)?Z","readOnly":true},"selfLink":{"title":"Path to the object","description":"The URL path to the object in EESy.","type":"string","readOnly":true},"uid":{"title":"Universal object identifier","description":"Unique identifier that identifies the object across clusters and in time. Workflows should not assume a specific format of the identifier, and treat it as an opaque string instead.","type":"string","readOnly":true},"session":{"title":"Session that owns this object, if applicable","description":"The name of the session to which this object belongs.\n","type":"string","readOnly":true}}}},"components/schemas/Status":{"id":"components/schemas/Status","kind":"json-schema","title":"EESy Request Status","data":{"title":"EESy Request Status","description":"Status object used to return error information or success status for requests that do not have anything else to return.","type":"object","required":["code","message","reason"],"properties":{"apiVersion":{"description":"EESy API version; must be \"v1\".","type":"string","enum":["v1"]},"kind":{"description":"EESy object kind; must be \"Status\".","type":"string","enum":["Status"]},"code":{"description":"HTTP response code.","type":"integer","minimum":200,"maximum":599},"message":{"description":"Human-readable response message.","type":"string"},"reason":{"description":"Machine-readable, single-word, camel-case response code.","type":"string"}},"example":{"apiVersion":"v1","kind":"Status","code":200,"message":"Success","reason":"Ok"}}},"schema_0":{"kind":"json-schema","data":{"type":"string"},"id":"schema_0"}},"exampleStore":{},"securitySchemeStore":{"Bearer":{"id":"Bearer","type":"apiKey","description":"User or Service/App/Client Token from SAuth","in":"header","paramName":"Authorization"},"appkey":{"id":"appkey","type":"apiKey","description":"AppKey/ Consumer Key from your App on Developer Portal","in":"header","paramName":"appkey"}},"specVersion":"3.2.0","servers":[{"url":"https://api.delfi.slb.com/engines/v1"},{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","isMockServer":true,"description":"Mock server"}],"specType":"openapi"},"options":{"schemaDefinitionsTagName":"Schema Definitions","mockServer":{"url":"/_mock/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","position":"last","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/solutions/engine-ecosystem/apis/eesy_channel_service_openapi.json?download"},{"url":"/_bundle/solutions/engine-ecosystem/apis/eesy_channel_service_openapi.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"EESy Channel Service","description":"The EESy channel service implements the *channels* resource of the\nEESy API.  A channel allows message exchange between a workflow\nand a running engine, or directly among engines.  It supports\nengine steering, rich status reporting, and fast streaming\ncomputations.\n\n\nUnidirectional channels deliver messages in one\ndirection.\n\n\nRequest/response channels implement a\nmessage/response-style protocol: A message is sent in one\ndirection and a response message is returned.\n\n{% admonition type=\"warning\" name=\"\" %}\nRestricted Access !\nExisting customer can request access via [Customer Support for Digital](https://customersupport.digital.slb.com/).\nAutomatic population of the API Key and S-Auth token is not supported in the \"Try It\" interface for this API.\n{% /admonition %}\n\n```plain {% title=\"Client ID\" %}\nservice-eesy.slbservice.com\n```\n"}},"baseSlug":"/solutions/engine-ecosystem/apis/eesy_channel_service_openapi","routesMapping":{}}