Webex Journey - Trigger Actions API API

The Journey - Trigger Actions API API from Webex — 4 operation(s) for journey - trigger actions api.

OpenAPI Specification

webex-journey-trigger-actions-api-api-openapi.yml Raw ↑
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