Skip to content

integrations/ticketing/pega-customer-service/dist

Classes

PegaCustomerServiceProviderApiError

Extends

  • Error

Constructors

Constructor
new PegaCustomerServiceProviderApiError(input): PegaCustomerServiceProviderApiError;
Parameters
Parameter Type
input PegaCustomerServiceProviderApiErrorInput
Returns

PegaCustomerServiceProviderApiError

Overrides
Error.constructor

Properties

body
readonly body: unknown;
provider
readonly provider: "pega-customer-service" = "pega-customer-service";
response
readonly response: PegaCustomerServiceProviderApiErrorResponseMetadata;
status
readonly status: number;

Interfaces

PegaAssignmentActionInput

Properties

actionId
actionId: string;
assignmentId
assignmentId: string;
content?
optional content?: PegaCustomerServiceJsonObject;
eTag?
optional eTag?: string;
fields?
optional fields?: PegaCustomerServiceJsonObject;
pageInstructions?
optional pageInstructions?: PegaCustomerServiceJsonValue[];

PegaCasesResult

Type Parameters

Type Parameter Default type
T PegaCaseResource

Properties

cases
cases: T[];
count?
optional count?: number;

PegaCreateCaseInput

Properties

caseTypeId
caseTypeId: string;
content?
optional content?: PegaCustomerServiceJsonObject;
fields?
optional fields?: PegaCustomerServiceJsonObject;
pageInstructions?
optional pageInstructions?: PegaCustomerServiceJsonValue[];
parentCaseId?
optional parentCaseId?: string;
processId?
optional processId?: string;

PegaCustomerServiceCredentialStatusInput

Properties

accessToken?
optional accessToken?: string;
apiAccessConfigured?
optional apiAccessConfigured?: boolean;
authConfigured?
optional authConfigured?: boolean;
baseUrl?
optional baseUrl?: string;
client?
optional client?: unknown;
hostProviderClientConfigured?
optional hostProviderClientConfigured?: boolean;
providerClient?
optional providerClient?: unknown;
scopes?
optional scopes?: string[];

PegaCustomerServiceJsonObject

Extended by

Indexable

[key: string]: PegaCustomerServiceProviderExtensionValue

PegaCustomerServiceLiveCheckOptions

Properties

accessToken?
optional accessToken?: string;
apiBasePath?
optional apiBasePath?: string;
auth?
optional auth?: PegaCustomerServiceAuthOptions;
baseUrl?
optional baseUrl?: string;
client?
optional client?: Pick<PegaCustomerServiceProviderClient, "readiness">;
fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

headers?
optional headers?: Record<string, string>;
providerClient?
optional providerClient?: Pick<PegaCustomerServiceProviderClient, "readiness">;
retry?
optional retry?:
  | number
  | ProviderJsonRetryOptions;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;

PegaCustomerServiceProviderApiErrorInput

Properties

body
body: unknown;
message
message: string;
response
response: PegaCustomerServiceProviderApiErrorResponseMetadata;
status
status: number;

PegaCustomerServiceProviderApiErrorResponseMetadata

Properties

headers
headers: Record<string, string>;
requestId?
optional requestId?: string;
statusText
statusText: string;
url
url: string;

PegaCustomerServiceProviderClient

Extended by

Methods

createCase()
createCase(input): Promise<PegaCaseResource>;
Parameters
Parameter Type
input PegaCreateCaseInput
Returns

Promise\<PegaCaseResource>

getCase()
getCase(caseId): Promise<PegaCaseResource>;
Parameters
Parameter Type
caseId string
Returns

Promise\<PegaCaseResource>

listCaseTypes()
listCaseTypes(): Promise<PegaCaseTypeResource[]>;
Returns

Promise\<PegaCaseTypeResource[]>

performAssignmentAction()
performAssignmentAction(input): Promise<PegaCustomerServiceProviderResponse>;
Parameters
Parameter Type
input PegaAssignmentActionInput
Returns

Promise\<PegaCustomerServiceProviderResponse>

readiness()
readiness(): Promise<PegaCaseTypeResource[]>;
Returns

Promise\<PegaCaseTypeResource[]>

searchCases()
searchCases(input?): Promise<PegaCasesResult<PegaCaseResource>>;
Parameters
Parameter Type
input? PegaSearchCasesInput
Returns

Promise\<PegaCasesResult\<PegaCaseResource>>

updateCase()
updateCase(caseId, input): Promise<PegaCaseResource>;
Parameters
Parameter Type
caseId string
input PegaUpdateCaseInput
Returns

Promise\<PegaCaseResource>


PegaCustomerServiceProviderExtensionFields

Extends

Indexable

[key: string]: PegaCustomerServiceProviderExtensionValue

PegaCustomerServiceProviderResponse

Extends

Indexable

[key: string]: PegaCustomerServiceProviderExtensionValue

PegaCustomerServiceTicketingClient

Extends

Methods

createCase()
createCase(input): Promise<PegaCaseResource>;
Parameters
Parameter Type
input PegaCreateCaseInput
Returns

Promise\<PegaCaseResource>

Inherited from

PegaCustomerServiceProviderClient.createCase

getCase()
getCase(caseId): Promise<PegaCaseResource>;
Parameters
Parameter Type
caseId string
Returns

Promise\<PegaCaseResource>

Inherited from

PegaCustomerServiceProviderClient.getCase

listCaseTypes()
listCaseTypes(): Promise<PegaCaseTypeResource[]>;
Returns

Promise\<PegaCaseTypeResource[]>

Inherited from

PegaCustomerServiceProviderClient.listCaseTypes

performAssignmentAction()
performAssignmentAction(input): Promise<PegaCustomerServiceProviderResponse>;
Parameters
Parameter Type
input PegaAssignmentActionInput
Returns

Promise\<PegaCustomerServiceProviderResponse>

Inherited from

PegaCustomerServiceProviderClient.performAssignmentAction

readiness()
readiness(): Promise<PegaCaseTypeResource[]>;
Returns

Promise\<PegaCaseTypeResource[]>

Inherited from

PegaCustomerServiceProviderClient.readiness

searchCases()
searchCases(input?): Promise<PegaCasesResult<PegaCaseResource>>;
Parameters
Parameter Type
input? PegaSearchCasesInput
Returns

Promise\<PegaCasesResult\<PegaCaseResource>>

Inherited from

PegaCustomerServiceProviderClient.searchCases

updateCase()
updateCase(caseId, input): Promise<PegaCaseResource>;
Parameters
Parameter Type
caseId string
input PegaUpdateCaseInput
Returns

Promise\<PegaCaseResource>

Inherited from

PegaCustomerServiceProviderClient.updateCase


PegaCustomerServiceTicketingClientOptions

Extended by

Properties

accessToken?
optional accessToken?: string;
apiBasePath?
optional apiBasePath?: string;
auth?
optional auth?: PegaCustomerServiceAuthOptions;
baseUrl?
optional baseUrl?: string;
client?
optional client?: PegaCustomerServiceProviderClient;
fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

headers?
optional headers?: Record<string, string>;
providerClient?
optional providerClient?: PegaCustomerServiceProviderClient;
retry?
optional retry?:
  | number
  | ProviderJsonRetryOptions;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;

PegaCustomerServiceTicketingIntegrationOptions

Extends

Properties

accessToken?
optional accessToken?: string;
Inherited from

PegaCustomerServiceTicketingClientOptions.accessToken

apiBasePath?
optional apiBasePath?: string;
Inherited from

PegaCustomerServiceTicketingClientOptions.apiBasePath

auth?
optional auth?: PegaCustomerServiceAuthOptions;
Inherited from

PegaCustomerServiceTicketingClientOptions.auth

baseUrl?
optional baseUrl?: string;
Inherited from

PegaCustomerServiceTicketingClientOptions.baseUrl

client?
optional client?: PegaCustomerServiceProviderClient;
Inherited from

PegaCustomerServiceTicketingClientOptions.client

fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

Inherited from

PegaCustomerServiceTicketingClientOptions.fetch

headers?
optional headers?: Record<string, string>;
Inherited from

PegaCustomerServiceTicketingClientOptions.headers

providerClient?
optional providerClient?: PegaCustomerServiceProviderClient;
Inherited from

PegaCustomerServiceTicketingClientOptions.providerClient

retry?
optional retry?:
  | number
  | ProviderJsonRetryOptions;
Inherited from

PegaCustomerServiceTicketingClientOptions.retry

signal?
optional signal?: AbortSignal;
Inherited from

PegaCustomerServiceTicketingClientOptions.signal

timeoutMs?
optional timeoutMs?: number;
Inherited from

PegaCustomerServiceTicketingClientOptions.timeoutMs


PegaReadCaseOperationInput

Properties

caseId
caseId: string;

PegaSearchCasesInput

Properties

assignmentId?
optional assignmentId?: string;
caseTypeId?
optional caseTypeId?: string;
fields?
optional fields?: Record<string, string | number | boolean>;
page?
optional page?: number;
pageSize?
optional pageSize?: number;
status?
optional status?: string;

PegaUpdateCaseInput

Extended by

Properties

content?
optional content?: PegaCustomerServiceJsonObject;
fields?
optional fields?: PegaCustomerServiceJsonObject;
pageInstructions?
optional pageInstructions?: PegaCustomerServiceJsonValue[];

PegaUpdateCaseOperationInput

Extends

Properties

caseId
caseId: string;
content?
optional content?: PegaCustomerServiceJsonObject;
Inherited from

PegaUpdateCaseInput.content

fields?
optional fields?: PegaCustomerServiceJsonObject;
Inherited from

PegaUpdateCaseInput.fields

pageInstructions?
optional pageInstructions?: PegaCustomerServiceJsonValue[];
Inherited from

PegaUpdateCaseInput.pageInstructions

Type Aliases

PegaCaseResource

type PegaCaseResource = PegaCustomerServiceProviderPayload & {
  caseID?: string;
  caseTypeID?: string;
  ID?: string;
  name?: string;
  stage?: string;
  status?: string;
};

Type Declaration

Name Type
caseID? string
caseTypeID? string
ID? string
name? string
stage? string
status? string

PegaCaseTypeResource

type PegaCaseTypeResource = PegaCustomerServiceProviderPayload & {
  ID?: string;
  name?: string;
  startingProcesses?: PegaCustomerServiceJsonObject[];
};

Type Declaration

Name Type
ID? string
name? string
startingProcesses? PegaCustomerServiceJsonObject[]

PegaCustomerServiceAuthOptions

type PegaCustomerServiceAuthOptions =
  | {
  accessToken: string;
  type: "bearer";
}
  | {
  headers: Record<string, string>;
  type: "headers";
};

PegaCustomerServiceJsonPrimitive

type PegaCustomerServiceJsonPrimitive = string | number | boolean | null;

PegaCustomerServiceJsonValue

type PegaCustomerServiceJsonValue =
  | PegaCustomerServiceJsonPrimitive
  | PegaCustomerServiceJsonObject
  | readonly PegaCustomerServiceJsonValue[];

PegaCustomerServiceProviderExtensionValue

type PegaCustomerServiceProviderExtensionValue =
  | PegaCustomerServiceJsonValue
  | object
  | undefined;

PegaCustomerServiceProviderPayload

type PegaCustomerServiceProviderPayload =
  | PegaCustomerServiceJsonObject
  | object;

PegaCustomerServiceProviderQuery

type PegaCustomerServiceProviderQuery = Record<string, PegaCustomerServiceProviderExtensionValue>;

Functions

createPegaCustomerServiceRestProviderClient()

function createPegaCustomerServiceRestProviderClient(options): PegaCustomerServiceTicketingClient;

Parameters

Parameter Type
options PegaCustomerServiceTicketingClientOptions

Returns

PegaCustomerServiceTicketingClient


createPegaCustomerServiceTicketingClient()

function createPegaCustomerServiceTicketingClient(options?): PegaCustomerServiceTicketingClient;

Parameters

Parameter Type
options? PegaCustomerServiceTicketingClientOptions

Returns

PegaCustomerServiceTicketingClient


createPegaCustomerServiceTicketingIntegration()

function createPegaCustomerServiceTicketingIntegration(options?): DefinedIntegration<{
  capabilities: [{
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "create-provider-object";
     changesWorkflow: true;
     description: "Creates Pega Customer Service cases through the built-in DX REST adapter or provider client override from SDK-user-selected workflows.";
     exposesSensitiveData: true;
     label: "Create Pega cases";
     providerObjects: [{
        kind: "pegaCase";
        label: "Pega Case";
        schemaName: "Pega-API-CaseManagement-Case";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "read-provider-object";
     description: "Reads Pega cases and case type metadata through the built-in DX REST adapter or provider client override.";
     exposesSensitiveData: true;
     label: "Read Pega cases";
     providerObjects: [{
        kind: "pegaCase";
        label: "Pega Case";
        schemaName: "Pega-API-CaseManagement-Case";
      }, {
        kind: "pegaCaseType";
        label: "Pega Case Type";
        schemaName: "Pega-API-CaseManagement-CaseType";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "update-provider-object";
     changesWorkflow: true;
     description: "Updates Pega cases with SDK-user-supplied case data through the built-in DX REST adapter or provider client override.";
     exposesSensitiveData: true;
     label: "Update Pega cases";
     providerObjects: [{
        kind: "pegaCase";
        label: "Pega Case";
        schemaName: "Pega-API-CaseManagement-Case";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "search-provider-object";
     description: "Queries Pega cases with SDK-user-supplied case type, status, assignment, and pagination controls.";
     exposesSensitiveData: true;
     label: "Search Pega cases";
     providerObjects: [{
        kind: "pegaCase";
        label: "Pega Case";
        schemaName: "Pega-API-CaseManagement-Case";
     }];
     requiresCredential: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "handoff";
     changesWorkflow: true;
     description: "Submits SDK-user-configured Pega DX assignment actions or case operations for human handoff workflows.";
     exposesSensitiveData: true;
     label: "Run Pega case handoff action";
     providerObjects: [{
        kind: "pegaCase";
        label: "Pega Case";
        schemaName: "Pega-API-CaseManagement-Case";
      }, {
        kind: "pegaAssignmentAction";
        label: "Pega Assignment Action";
        schemaName: "Pega-API-CaseManagement-AssignmentAction";
     }];
     requiresCredential: true;
     sideEffect: true;
  }];
  category: "ticketing";
  channelAudiences: ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: [{
        label: "Pega DX API overview";
        url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/dx-api-overview.html";
      }, {
        label: "Pega DX API cases endpoints";
        url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/managing-cases-dx-api.html";
      }, {
        label: "Pega DX API POST /cases";
        url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/endpoint-post-cases.html";
      }, {
        label: "Pega DX API GET /cases";
        url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/endpoint-get-cases.html";
     }];
     notes: ["Runtime coverage uses the built-in Pega DX REST adapter when baseUrl plus access credentials are provided; a host-injected PegaCustomerServiceProviderClient remains available as an override.", "Coverage is typed for Pega Customer Service case creation, case read/update, case search/listing, case-type listing, assignment action submission, and readiness checks used by Cognidesk support workflows.", "This is not full Pega Customer Service or Pega Platform API coverage; broader assignments/actions lifecycle, stages/process navigation, attachments, data views/pages, bulk actions, views, refresh/validation flows, security rules, and broader application administration remain outside this adapter."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: [{
     description: "Optional host runtime override implementing PegaCustomerServiceProviderClient. When omitted, the package uses its built-in Pega DX REST adapter.";
     id: "pega-customer-service-provider-client";
     label: "Optional Pega Customer Service provider client override";
     metadata: {
        credentialOwnership: "host-managed-override";
        defaultClientPolicy: "built-in-dx-rest-adapter";
        defaultFetchClient: "built-in-provider-rest-adapter";
        defaultHttpClient: "built-in-fetch";
        injectionInterface: "PegaCustomerServiceProviderClient";
     };
     required: false;
   }, {
     description: "Pega application base URL used by the built-in DX REST adapter, or supplied by a host provider client override.";
     id: "pega-customer-service-instance";
     label: "Pega Customer Service base URL";
     metadata: {
        requiredWhen: "built-in-dx-rest-adapter";
     };
     required: false;
   }, {
     description: "Server-side Pega DX API access supplied as accessToken, auth headers, or encapsulated in a host provider client override.";
     id: "pega-customer-service-api-access";
     label: "Pega Customer Service DX API access";
     metadata: {
        privilegeGuidance: "These strings are Cognidesk capability labels, not official Pega OAuth scope names. Pega access depends on application OAuth/client configuration, roles, privileges, and case security.";
        requiredWhen: "built-in-dx-rest-adapter";
        scopeKind: "internal-capability-labels";
     };
     required: false;
     scopes: ["cases:read", "cases:write", "assignments:write"];
  }];
  directions: ["bidirectional"];
  id: "ticketing.pega-customer-service";
  limitations: ["The built-in adapter covers selected Pega DX case and assignment-action operations only; hosts can still inject a PegaCustomerServiceProviderClient for custom authentication, retries, or endpoint policy.", "Case types, starting processes, field requirements, assignment routing, security rules, data pages, and stage transitions are owned by the SDK user's Pega application and injected provider client.", "SDK users own case-type selection, field mapping, handoff timing, customer identity matching, notification policy, and retention before invoking Pega provider operations."];
  maintainers: [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     channelCoverage: {
        assignmentActions: "typed-rest-adapter-submit";
        attachmentsDataPages: "provider-supported-not-typed";
        broaderCaseManagementAdmin: "not-covered";
        cases: "typed-rest-adapter-create-read-update-search";
        caseTypes: "typed-rest-adapter-list";
        readiness: "typed-rest-adapter-list";
        stageLifecycleActions: "provider-supported-not-typed";
     };
     checkedProviderApiCoverage: {
        checkedFamilyCount: 4;
        coverageArtifact: "docs/provider-coverage/pega-customer-service-checked-dx-api-2026-06-18.inventory.json";
        gapFamilyCount: 1;
        implementationOwnership: "built-in-provider-rest-adapter";
        implementedFamilyCount: 3;
        implementedOperationCount: 6;
        sourceKind: "checked-endpoint-family-inventory";
        verifiedAt: "2026-06-18";
     };
     implementation: {
        adapterKind: "no-official-sdk-rest-adapter";
        defaultFetchClient: "built-in-provider-rest-adapter";
        defaultHttpClient: "built-in-fetch";
        manifestImport: "no-client-initialization";
        providerClientInterface: "PegaCustomerServiceProviderClient";
        providerClientOverride: true;
        strategy: "provider-rest-adapter";
     };
     implementationStrategy: {
        checkedAt: "2026-06-25";
        reason: "No suitable official server-side JavaScript SDK was found for Pega Customer Service case operations; current Pega JavaScript SDK surfaces are Constellation UI/client orchestration assets, while DX API remains documented as REST endpoints.";
        rejectedLibraries: readonly [{
           packageName: "@pega/constellationjs";
           reason: "Pega-maintained package, but it delivers ConstellationJS engine files rather than a server-side Customer Service case client.";
           result: "not-used-as-package-default";
         }, {
           packageName: "@pega/auth";
           reason: "Pega-maintained OAuth client infrastructure for Infinity and Launchpad, but not a typed Customer Service or DX case operations client.";
           result: "not-used-as-package-default";
         }, {
           packageName: "pegasystems/react-sdk";
           reason: "Pega-maintained React SDK for Constellation DX components and alternative UI integration, not a backend ticketing provider client for Cognidesk operations.";
           result: "not-used-as-package-default";
        }];
        strategy: "no-official-sdk-rest-adapter";
     };
     providerClient: {
        defaultClient: "built-in-dx-rest-adapter";
        importPolicy: "optional-host-override";
        injectionPolicy: "optional-runtime-override";
        interface: "PegaCustomerServiceProviderClient";
     };
     providerRestAdapterSupportSurface: {
        adapterKind: "no-official-sdk-rest-adapter";
        checkedAt: "2026-06-25";
        operations: readonly [{
           alias: "ticket.create";
           providerClientMethod: "createCase";
         }, {
           alias: "ticket.read";
           providerClientMethod: "getCase";
         }, {
           alias: "ticket.update";
           providerClientMethod: "updateCase";
         }, {
           alias: "ticket.search";
           providerClientMethod: "searchCases";
         }, {
           alias: "pega-customer-service.caseTypes.list";
           providerClientMethod: "listCaseTypes";
         }, {
           alias: "pega-customer-service.assignmentAction.submit";
           providerClientMethod: "performAssignmentAction";
        }];
        source: "Built-in Pega DX REST adapter";
     };
  };
  name: "Pega Customer Service";
  operations: [{
     alias: "ticket.create";
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "create-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     providerObject: "pegaCase";
     requiresCredential: true;
     sideEffect: true;
   }, {
     alias: "ticket.read";
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObject: "pegaCase";
     requiresCredential: true;
   }, {
     alias: "ticket.update";
     audiences: ["internal-support", "mixed"];
     capability: "update-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     providerObject: "pegaCase";
     requiresCredential: true;
     sideEffect: true;
  }];
  packageName: "@cognidesk/integration-ticketing-pega-customer-service";
  privacyNotes: ["Pega cases can contain customer identity, interaction details, assignments, statuses, case data, attachments metadata, and internal workflow context.", "Pega API credentials stay server-side and Studio receives only readiness and scope status."];
  provider: "pega-customer-service";
  trustLevel: "official";
}, PegaCustomerServiceJsonObject, {
  pega-customer-service.assignmentAction.submit: (input) => Promise<PegaCustomerServiceProviderResponse>;
  pega-customer-service.caseTypes.list: () => Promise<PegaCaseTypeResource[]>;
  ticket.create: (input) => Promise<PegaCaseResource>;
  ticket.read: (input) => Promise<PegaCaseResource>;
  ticket.search: (input?) => Promise<PegaCasesResult<PegaCaseResource>>;
  ticket.update: (input) => Promise<PegaCaseResource>;
}>;

Parameters

Parameter Type
options? PegaCustomerServiceTicketingIntegrationOptions

Returns

DefinedIntegration\<{ capabilities: [{ audiences: ["customer-facing", "internal-support", "mixed"]; capability: "create-provider-object"; changesWorkflow: true; description: "Creates Pega Customer Service cases through the built-in DX REST adapter or provider client override from SDK-user-selected workflows."; exposesSensitiveData: true; label: "Create Pega cases"; providerObjects: [{ kind: "pegaCase"; label: "Pega Case"; schemaName: "Pega-API-CaseManagement-Case"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["customer-facing", "internal-support", "mixed"]; capability: "read-provider-object"; description: "Reads Pega cases and case type metadata through the built-in DX REST adapter or provider client override."; exposesSensitiveData: true; label: "Read Pega cases"; providerObjects: [{ kind: "pegaCase"; label: "Pega Case"; schemaName: "Pega-API-CaseManagement-Case"; }, { kind: "pegaCaseType"; label: "Pega Case Type"; schemaName: "Pega-API-CaseManagement-CaseType"; }]; requiresCredential: true; }, { audiences: ["internal-support", "mixed"]; capability: "update-provider-object"; changesWorkflow: true; description: "Updates Pega cases with SDK-user-supplied case data through the built-in DX REST adapter or provider client override."; exposesSensitiveData: true; label: "Update Pega cases"; providerObjects: [{ kind: "pegaCase"; label: "Pega Case"; schemaName: "Pega-API-CaseManagement-Case"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["customer-facing", "internal-support", "mixed"]; capability: "search-provider-object"; description: "Queries Pega cases with SDK-user-supplied case type, status, assignment, and pagination controls."; exposesSensitiveData: true; label: "Search Pega cases"; providerObjects: [{ kind: "pegaCase"; label: "Pega Case"; schemaName: "Pega-API-CaseManagement-Case"; }]; requiresCredential: true; }, { audiences: ["customer-facing", "internal-support", "mixed"]; capability: "handoff"; changesWorkflow: true; description: "Submits SDK-user-configured Pega DX assignment actions or case operations for human handoff workflows."; exposesSensitiveData: true; label: "Run Pega case handoff action"; providerObjects: [{ kind: "pegaCase"; label: "Pega Case"; schemaName: "Pega-API-CaseManagement-Case"; }, { kind: "pegaAssignmentAction"; label: "Pega Assignment Action"; schemaName: "Pega-API-CaseManagement-AssignmentAction"; }]; requiresCredential: true; sideEffect: true; }]; category: "ticketing"; channelAudiences: ["customer-facing", "internal-support", "mixed"]; coverage: { evidence: [{ label: "Pega DX API overview"; url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/dx-api-overview.html"; }, { label: "Pega DX API cases endpoints"; url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/managing-cases-dx-api.html"; }, { label: "Pega DX API POST /cases"; url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/endpoint-post-cases.html"; }, { label: "Pega DX API GET /cases"; url: "https://docs.pega.com/bundle/dx-api/page/platform/dx-api/endpoint-get-cases.html"; }]; notes: ["Runtime coverage uses the built-in Pega DX REST adapter when baseUrl plus access credentials are provided; a host-injected PegaCustomerServiceProviderClient remains available as an override.", "Coverage is typed for Pega Customer Service case creation, case read/update, case search/listing, case-type listing, assignment action submission, and readiness checks used by Cognidesk support workflows.", "This is not full Pega Customer Service or Pega Platform API coverage; broader assignments/actions lifecycle, stages/process navigation, attachments, data views/pages, bulk actions, views, refresh/validation flows, security rules, and broader application administration remain outside this adapter."]; scope: "support-workflow-subset"; }; credentialRequirements: [{ description: "Optional host runtime override implementing PegaCustomerServiceProviderClient. When omitted, the package uses its built-in Pega DX REST adapter."; id: "pega-customer-service-provider-client"; label: "Optional Pega Customer Service provider client override"; metadata: { credentialOwnership: "host-managed-override"; defaultClientPolicy: "built-in-dx-rest-adapter"; defaultFetchClient: "built-in-provider-rest-adapter"; defaultHttpClient: "built-in-fetch"; injectionInterface: "PegaCustomerServiceProviderClient"; }; required: false; }, { description: "Pega application base URL used by the built-in DX REST adapter, or supplied by a host provider client override."; id: "pega-customer-service-instance"; label: "Pega Customer Service base URL"; metadata: { requiredWhen: "built-in-dx-rest-adapter"; }; required: false; }, { description: "Server-side Pega DX API access supplied as accessToken, auth headers, or encapsulated in a host provider client override."; id: "pega-customer-service-api-access"; label: "Pega Customer Service DX API access"; metadata: { privilegeGuidance: "These strings are Cognidesk capability labels, not official Pega OAuth scope names. Pega access depends on application OAuth/client configuration, roles, privileges, and case security."; requiredWhen: "built-in-dx-rest-adapter"; scopeKind: "internal-capability-labels"; }; required: false; scopes: ["cases:read", "cases:write", "assignments:write"]; }]; directions: ["bidirectional"]; id: "ticketing.pega-customer-service"; limitations: ["The built-in adapter covers selected Pega DX case and assignment-action operations only; hosts can still inject a PegaCustomerServiceProviderClient for custom authentication, retries, or endpoint policy.", "Case types, starting processes, field requirements, assignment routing, security rules, data pages, and stage transitions are owned by the SDK user's Pega application and injected provider client.", "SDK users own case-type selection, field mapping, handoff timing, customer identity matching, notification policy, and retention before invoking Pega provider operations."]; maintainers: [{ name: "Cognidesk"; type: "official"; }]; metadata: { channelCoverage: { assignmentActions: "typed-rest-adapter-submit"; attachmentsDataPages: "provider-supported-not-typed"; broaderCaseManagementAdmin: "not-covered"; cases: "typed-rest-adapter-create-read-update-search"; caseTypes: "typed-rest-adapter-list"; readiness: "typed-rest-adapter-list"; stageLifecycleActions: "provider-supported-not-typed"; }; checkedProviderApiCoverage: { checkedFamilyCount: 4; coverageArtifact: "docs/provider-coverage/pega-customer-service-checked-dx-api-2026-06-18.inventory.json"; gapFamilyCount: 1; implementationOwnership: "built-in-provider-rest-adapter"; implementedFamilyCount: 3; implementedOperationCount: 6; sourceKind: "checked-endpoint-family-inventory"; verifiedAt: "2026-06-18"; }; implementation: { adapterKind: "no-official-sdk-rest-adapter"; defaultFetchClient: "built-in-provider-rest-adapter"; defaultHttpClient: "built-in-fetch"; manifestImport: "no-client-initialization"; providerClientInterface: "PegaCustomerServiceProviderClient"; providerClientOverride: true; strategy: "provider-rest-adapter"; }; implementationStrategy: { checkedAt: "2026-06-25"; reason: "No suitable official server-side JavaScript SDK was found for Pega Customer Service case operations; current Pega JavaScript SDK surfaces are Constellation UI/client orchestration assets, while DX API remains documented as REST endpoints."; rejectedLibraries: readonly [{ packageName: "@pega/constellationjs"; reason: "Pega-maintained package, but it delivers ConstellationJS engine files rather than a server-side Customer Service case client."; result: "not-used-as-package-default"; }, { packageName: "@pega/auth"; reason: "Pega-maintained OAuth client infrastructure for Infinity and Launchpad, but not a typed Customer Service or DX case operations client."; result: "not-used-as-package-default"; }, { packageName: "pegasystems/react-sdk"; reason: "Pega-maintained React SDK for Constellation DX components and alternative UI integration, not a backend ticketing provider client for Cognidesk operations."; result: "not-used-as-package-default"; }]; strategy: "no-official-sdk-rest-adapter"; }; providerClient: { defaultClient: "built-in-dx-rest-adapter"; importPolicy: "optional-host-override"; injectionPolicy: "optional-runtime-override"; interface: "PegaCustomerServiceProviderClient"; }; providerRestAdapterSupportSurface: { adapterKind: "no-official-sdk-rest-adapter"; checkedAt: "2026-06-25"; operations: readonly [{ alias: "ticket.create"; providerClientMethod: "createCase"; }, { alias: "ticket.read"; providerClientMethod: "getCase"; }, { alias: "ticket.update"; providerClientMethod: "updateCase"; }, { alias: "ticket.search"; providerClientMethod: "searchCases"; }, { alias: "pega-customer-service.caseTypes.list"; providerClientMethod: "listCaseTypes"; }, { alias: "pega-customer-service.assignmentAction.submit"; providerClientMethod: "performAssignmentAction"; }]; source: "Built-in Pega DX REST adapter"; }; }; name: "Pega Customer Service"; operations: [{ alias: "ticket.create"; audiences: ["customer-facing", "internal-support", "mixed"]; capability: "create-provider-object"; changesWorkflow: true; exposesSensitiveData: true; providerObject: "pegaCase"; requiresCredential: true; sideEffect: true; }, { alias: "ticket.read"; audiences: ["customer-facing", "internal-support", "mixed"]; capability: "read-provider-object"; exposesSensitiveData: true; providerObject: "pegaCase"; requiresCredential: true; }, { alias: "ticket.update"; audiences: ["internal-support", "mixed"]; capability: "update-provider-object"; changesWorkflow: true; exposesSensitiveData: true; providerObject: "pegaCase"; requiresCredential: true; sideEffect: true; }]; packageName: "@cognidesk/integration-ticketing-pega-customer-service"; privacyNotes: ["Pega cases can contain customer identity, interaction details, assignments, statuses, case data, attachments metadata, and internal workflow context.", "Pega API credentials stay server-side and Studio receives only readiness and scope status."]; provider: "pega-customer-service"; trustLevel: "official"; }, PegaCustomerServiceJsonObject, { pega-customer-service.assignmentAction.submit: (input) => Promise\<PegaCustomerServiceProviderResponse>; pega-customer-service.caseTypes.list: () => Promise\<PegaCaseTypeResource[]>; ticket.create: (input) => Promise\<PegaCaseResource>; ticket.read: (input) => Promise\<PegaCaseResource>; ticket.search: (input?) => Promise\<PegaCasesResult\<PegaCaseResource>>; ticket.update: (input) => Promise\<PegaCaseResource>; }>


createPegaCustomerServiceTicketingLiveChecks()

function createPegaCustomerServiceTicketingLiveChecks(options?): {
  description: string;
  id: string;
  requiredCredentialIds: string[];
  run: Promise<{
     details: {
        caseTypeCount: number;
     };
  }>;
}[];

Parameters

Parameter Type
options? PegaCustomerServiceLiveCheckOptions

Returns

{ description: string; id: string; requiredCredentialIds: string[]; run: Promise\<{ details: { caseTypeCount: number; }; }>; }[]


createPegaCustomerServiceTicketingOperationHandlers()

function createPegaCustomerServiceTicketingOperationHandlers(client): {
  pega-customer-service.assignmentAction.submit: (input) => Promise<PegaCustomerServiceProviderResponse>;
  pega-customer-service.caseTypes.list: () => Promise<PegaCaseTypeResource[]>;
  ticket.create: (input) => Promise<PegaCaseResource>;
  ticket.read: (input) => Promise<PegaCaseResource>;
  ticket.search: (input?) => Promise<PegaCasesResult<PegaCaseResource>>;
  ticket.update: (input) => Promise<PegaCaseResource>;
};

Parameters

Parameter Type
client PegaCustomerServiceTicketingClient

Returns

{
  pega-customer-service.assignmentAction.submit: (input) => Promise<PegaCustomerServiceProviderResponse>;
  pega-customer-service.caseTypes.list: () => Promise<PegaCaseTypeResource[]>;
  ticket.create: (input) => Promise<PegaCaseResource>;
  ticket.read: (input) => Promise<PegaCaseResource>;
  ticket.search: (input?) => Promise<PegaCasesResult<PegaCaseResource>>;
  ticket.update: (input) => Promise<PegaCaseResource>;
}
Name Type
pega-customer-service.assignmentAction.submit() (input) => Promise\<PegaCustomerServiceProviderResponse>
pega-customer-service.caseTypes.list() () => Promise\<PegaCaseTypeResource[]>
ticket.create() (input) => Promise\<PegaCaseResource>
ticket.read() (input) => Promise\<PegaCaseResource>
ticket.search() (input?) => Promise\<PegaCasesResult\<PegaCaseResource>>
ticket.update() (input) => Promise\<PegaCaseResource>

pegaCustomerServiceTicketingCredentialStatuses()

function pegaCustomerServiceTicketingCredentialStatuses(input): {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes?: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];

Parameters

Parameter Type
input PegaCustomerServiceCredentialStatusInput

Returns

{ expiresAt?: string; message?: string; providerPackageId?: string; requirementId: string; scopes?: string[]; state: | "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable"; }[]

References

pegaCustomerServiceTicketingProviderManifest

Re-exports pegaCustomerServiceTicketingProviderManifest


pegaCustomerServiceTicketingProviderManifestInput

Re-exports pegaCustomerServiceTicketingProviderManifestInput