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