openapi: 3.0.0 info: title: Webex Admin Address Book Journey - Trigger Actions API API version: 1.0.0 description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling. tags: - name: Journey - Trigger Actions API paths: /admin/v1/api/journey-actions/workspace-id/{workspaceId}: get: tags: - Journey - Trigger Actions API summary: Get all Journey Actions description: "Get all Journey Actions in JDS. \n\nRole and Scope: Requires id full admin or any role with cjp:config_write or cjp:config_read scope." operationId: getAllJourneyActions parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: sortBy in: query description: Sort By Field required: false schema: type: string example: updatedAt - name: sort in: query description: Sort direction required: false schema: type: string example: ASC - name: page in: query description: 'Index of the page of results to be fetched. Results are returned in blocks of pageSize elements. This parameter specifies which page number to retrieve. The page numbering starts with 0.' required: false schema: type: integer example: 0 - name: pageSize in: query description: Number of items to be displayed on a page. required: false schema: type: integer example: 10 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JourneyActionGetResponse' '404': description: Not found '500': description: Internal error security: - bearerAuth: [] /admin/v1/api/journey-actions/workspace-id/{workspaceId}/template-id/{templateId}: get: tags: - Journey - Trigger Actions API summary: Get all Journey Actions for a template description: "Get all Journey Actions for a template in JDS. \n\nRole and Scope: It requires id full admin or any role with cjp:config_read or cjp:config_write scope." operationId: getAllJourneyActionsForATemplate parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JourneyActionGetResponse' '404': description: Not found '500': description: Internal error security: - bearerAuth: [] post: tags: - Journey - Trigger Actions API summary: Create a new Journey Action description: "Create a new Journey Action in JDS. \n\n **Role and Scope**: It requires id full admin or any role with cjp:config_write scope.\n\n **Sample Input for Creating new Journey action**: \n ```\n {\n \"name\": \"Closed Queue Action\",\n \"cooldownPeriodInMinutes\": 1,\n \"rules\": {\n \"logic\": \"SINGLE\",\n \"condition\": \"Closed Queue,category,string,Value GTE 2\"\n },\n \"actionTriggers\": [\n {\n \"type\": \"Webhook\",\n \"webhookURL\": \"https://hooks.us.webexconnect.io/events/6M347NJ6\",\n \"attributes\": {\n \"httpverb\": \"post\",\n \"requestbody\": \"{\\\"SMS\\\":\\\"12263762551\\\",\\\"callID\\\":\\\"\\\",\\\"MessageToSend\\\":\\\"Hello there!\\\"}\"\n }\n }\n ],\n \"isActive\": true\n }\n ```\nThe action trigger's evaluation process is predicated on the progressive profile that has been established. \nIn this specific action trigger, the rule assessment verifies whether the progressive profile value from the prior template evaluation was in excess of 2. \nIf this condition is met, the webhook is subsequently activated.\n\n\nPrior to rule evaluation for actions, several conditions must be satisfied. \nFirstly, the event associated with the template must align with the rule event, which, in this case, is 'Closed Queue'. \nSecondly, the metadata assigned to the template must correspond with the metadata set by the rules, which in this context, is 'category'. \nThirdly, the aggregation mode of the template must be equivalent to the rules' aggregation mode, which is 'value' in this instance. \nFinally, the operator of the template's aggregation mode must match those defined for 'value'. \nIn this scenario, it is 'GTE' (greater than or equal), which is an accepted value for 'value'.\n" operationId: createJourneyActionConfiguration parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 requestBody: content: application/json: schema: $ref: '#/components/schemas/JourneyActionConfigurationUpsertRequestModel' required: true responses: '201': description: Accepted content: application/json: schema: $ref: '#/components/schemas/JourneyActionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError400' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] /admin/v1/api/journey-actions/workspace-id/{workspaceId}/template-id/{templateId}/action-name/{actionName}: get: tags: - Journey - Trigger Actions API summary: Get specific Journey Action By Name description: "Get specific Journey Action By Name in JDS. \n\nRole and Scope:It requires id full admin or any role with cjp:config_read or cjp:config_write scope." operationId: getJourneyActionDetailsByName parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 - name: actionName in: path description: Action Name required: true schema: type: string example: demo action responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JourneyActionResponse' '404': description: Not found '500': description: Internal error security: - bearerAuth: [] /admin/v1/api/journey-actions/workspace-id/{workspaceId}/template-id/{templateId}/action-id/{actionId}: get: tags: - Journey - Trigger Actions API summary: Get specific Journey Action By ActionId description: "Get specific Journey Action By ActionId in JDS. \n\nRole and Scope: It requires id full admin role with cjp:config_read or cjp:config_write scope." operationId: getJourneyActionDetailsById parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 - name: actionId in: path description: Action ID required: true schema: type: string example: 73n3ugx12678998djs878 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JourneyActionResponse' '404': description: Not found '500': description: Internal error security: - bearerAuth: [] put: tags: - Journey - Trigger Actions API summary: Update existing Journey Action description: "Update existing Journey Action in JDS. \n\nRole and Scope: It requires id full admin or any role with cjp:config_write scope." operationId: updateJourneyActionConfiguration parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 - name: actionId in: path description: Action ID required: true schema: type: string example: 73n3ugx12678998djs878 requestBody: content: application/json: schema: $ref: '#/components/schemas/JourneyActionConfigurationUpsertRequestModel' required: true responses: '201': description: Accepted content: application/json: schema: $ref: '#/components/schemas/JourneyActionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError400' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] delete: tags: - Journey - Trigger Actions API summary: Delete Journey Action configuration By ActionId description: "Delete Journey Action configuration By ActionId in JDS. \n\nRole and Scope: It requires id full admin role with cjp:config_write scope." operationId: deleteJourneyActionById parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 63feryn344678998djs878 - name: templateId in: path description: Template ID required: true schema: type: string example: 56n3ugx44678998djs878 - name: actionId in: path description: Action ID required: true schema: type: string example: 73n3ugx12678998djs878 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JourneyActionConfigResponseModel' '404': description: Not found '500': description: Internal error security: - bearerAuth: [] components: schemas: JourneyActionResponse: type: object properties: meta: $ref: '#/components/schemas/BaseMetaResponseEnvelope' data: $ref: '#/components/schemas/JourneyActionConfigResponseModel' Rules: type: object description: Configuration details of the Rules properties: logic: type: string description: logic example: OR args: type: array description: Arguments example: - item buy,price,integer,Sum GT 100 - item buy,sku,integer,Count GT 5 items: type: string JourneyActionConfigurationUpsertRequestModel: required: - name - rules type: object properties: name: type: string description: Name example: sample-action cooldownPeriodInMinutes: type: integer description: Cooldown Period In Minutes format: int32 example: 10 rules: $ref: '#/components/schemas/Rules' actionTriggers: type: array example: - type: Webhook webhookURL: https://hooks.us.webexconnect.io/events/6M347NJ6 attributes: httpverb: post requestbody: '{"SMS":"12263762551","callID":"","MessageToSend":"Hello there!"}' items: $ref: '#/components/schemas/JourneyActionTriggerConfig' isActive: type: boolean description: Is Journey Action Configuration Active example: true description: Create a new, or Update and existing Journey Action ApiError400: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 400 BAD_REQUEST enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Bad Request errors: type: array description: Bad Request example: - Id cannot be null items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb JourneyActionConfigResponseModel: type: object properties: createdAt: type: string description: Created Timestamp example: '2022-10-18T04:21:34.124Z' createdBy: type: string description: Created By example: 1eb65fdf-9643-417f-9974-ad72cae0e10f updatedAt: type: string description: Updated Timestamp example: '2022-10-18T04:21:34.124Z' updatedBy: type: string description: Updated By example: 1eb65fdf-9643-417f-9974-ad72cae0e10f id: type: string description: Journey Action Id example: 638505f32332c8200dac025e name: type: string description: Journey Action Name example: sample-action organizationId: type: string description: Organization Id example: 1eb65fdf-9643-417f-9974-ad72cae0e10f workspaceId: type: string description: Workspace Id example: 6384d9021f6a5331f6cc4cf9 isActive: type: boolean description: Is Journey Action Configuration Active example: true templateId: type: string description: Profile View Template ID example: 637e72bc474c2a5b5f0eeeer cooldownPeriodInMinutes: type: integer description: Cooldown Period In Minutes format: int32 example: 10 rules: $ref: '#/components/schemas/RulesDocument' actionTriggers: type: array example: - type: Webhook webhookURL: https://hooks.us.webexconnect.io/events/6M347NJ6 attributes: httpverb: post requestbody: '{"SMS":"12263762551","callID":"","MessageToSend":"Hello there!"}' items: $ref: '#/components/schemas/JourneyActionTriggerConfig' description: Journey Action Configuration Response Model JourneyActionTriggerConfig: required: - type type: object properties: type: type: string description: Type example: Webhook ApiError500: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 500 INTERNAL_SERVER_ERROR enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Internal server error errors: type: array description: Internal server error example: - 'Internal server error ' items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb BaseMetaResponseEnvelope: type: object properties: organizationId: type: string description: Organization ID example: 1eb65fdf-9643-417f-9974-ad72cae0e10f description: Meta information of the response example: organizationId: 1eb65fdf-9643-417f-9974-ad72cae0e10f RulesDocument: type: object properties: type: type: string description: type example: nested childrenRules: type: object properties: type: type: string description: type example: nested description: childrenRules discriminator: propertyName: type description: Configuration details of the Rules based on which the Action will be triggered example: logic: OR args: - item buy,price,integer,Sum GT 100 - item buy,sku,integer,Count GT 5 discriminator: propertyName: type JourneyActionGetResponse: type: object properties: meta: $ref: '#/components/schemas/BaseMetaResponseEnvelope' data: type: array description: Data part of the response items: $ref: '#/components/schemas/JourneyActionConfigResponseModel' securitySchemes: oauth2: flows: authorizationCode: authorizationUrl: / scopes: {} tokenUrl: / type: oauth2 bearer-key: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT bearerAuth: type: oauth2 description: OAuth 2.0 Bearer token authentication flows: authorizationCode: authorizationUrl: https://webexapis.com/v1/authorize tokenUrl: https://webexapis.com/v1/access_token scopes: spark:applications_token: Create access tokens for Service Apps