Laurel Initiatives API
The Initiatives API from Laurel — 29 operation(s) for initiatives.
The Initiatives API from Laurel — 29 operation(s) for initiatives.
openapi: 3.0.0
info:
title: Identity Service Ably Initiatives API
description: ''
version: '1'
contact: {}
servers: []
security:
- ApiBearerAuth: []
tags:
- name: Initiatives
paths:
/api/v1/customers/{customerId}/initiatives/import:
post:
operationId: InitiativesController_importInitiativeV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportCustomerInitiativeDto'
responses:
'201':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/batch:
post:
deprecated: true
operationId: InitiativesController_importInitiativesBatchV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportCustomerInitiativesBatchDto'
responses:
'201':
description: ''
summary: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/consolidated-batch:
post:
deprecated: true
operationId: InitiativesController_importInitiativesConsolidatedBatchV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: isInitial
required: false
in: query
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportCustomerInitiativesConsolidatedBatchDto'
responses:
'201':
description: ''
summary: ''
tags:
- Initiatives
/api/v2/customers/{customerId}/initiatives/consolidated-batch:
post:
operationId: InitiativesController_importInitiativesConsolidatedBatchV2_v2
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: isInitial
required: false
in: query
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportCustomerInitiativesConsolidatedBatchDto'
responses:
'201':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/batch/access:
post:
deprecated: true
operationId: InitiativesController_setInitiativeAccessBatchV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: isInitial
required: false
in: query
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerInitiativeAccessBatchDto'
responses:
'201':
description: ''
summary: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/batch/walls-access:
post:
operationId: InitiativesController_setInitiativeAccessBatchWithWallsV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: isInitial
required: false
in: query
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerInitiativeAccessWallsBatchDto'
responses:
'201':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/batch/codes:
post:
deprecated: true
operationId: InitiativesController_setInitiativeCodesBatchV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerInitiativeCodesBatchDto'
responses:
'201':
description: ''
summary: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/access:
post:
operationId: InitiativesController_setInitiativeAccessV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeExternalId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerInitiativeAccessDto'
responses:
'201':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/codes:
post:
operationId: InitiativesController_setInitiativeCodesV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeExternalId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerInitiativeCodesDto'
responses:
'201':
description: ''
tags:
- Initiatives
delete:
operationId: InitiativesController_deleteInitiativeCodesV1_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeExternalId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives:
get:
operationId: CustomerInitiativeController_search_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: page
required: false
in: query
schema:
minimum: 1
format: int64
type: number
- name: pageSize
required: false
in: query
schema:
minimum: 1
maximum: 150
format: int64
type: number
- name: search
required: false
in: query
schema:
minLength: 2
maxLength: 100
type: string
- name: sortBy
required: false
in: query
schema:
type: string
enum:
- name
- callSign
- createdAt
- updatedAt
- name: sortOrder
required: false
in: query
schema:
type: string
enum:
- asc
- desc
- name: status
required: false
in: query
schema:
type: string
enum:
- active
- inactive
- name: billingType
required: false
in: query
schema:
type: string
enum:
- billable
- non-billable
- name: initiativeIds
required: false
in: query
schema:
minItems: 1
maxItems: 50
allOf:
- $ref: '#/components/schemas/Object'
- name: clientIds
required: false
in: query
schema:
minItems: 1
maxItems: 50
allOf:
- $ref: '#/components/schemas/Object'
responses:
'200':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}:
get:
operationId: CustomerInitiativeController_findOneById_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/internal-access:
post:
operationId: CustomerInitiativeController_setInitiativeInternalAccess_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetInitiativeInternalAccessRequestDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PmsInitiativeAdminResponseDto'
tags:
- Initiatives
get:
operationId: CustomerInitiativeController_getInitiativeInternalAccess_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
tags:
- Initiatives
delete:
operationId: CustomerInitiativeController_deleteInitiativeInternalAccess_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/internal-access/users:
post:
operationId: CustomerInitiativeController_addInternalAccessUsers_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInternalAccessUsersRequestDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeInternalAccessResponseDto'
tags:
- Initiatives
delete:
operationId: CustomerInitiativeController_removeInternalAccessUsers_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInternalAccessUsersRequestDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/internal-groups:
post:
operationId: CustomerInitiativeController_setInitiativeInternalGroupRestrictions_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetInitiativeInternalGroupRestrictionsRequestDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeInternalGroupRestrictionsResponseDto'
tags:
- Initiatives
get:
operationId: CustomerInitiativeController_getInitiativeInternalGroupRestrictions_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
tags:
- Initiatives
delete:
operationId: CustomerInitiativeController_deleteInitiativeInternalGroupRestrictions_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/internal-groups/groups:
post:
operationId: CustomerInitiativeController_addInternalGroupRestrictionsGroups_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInternalGroupsRequestDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeInternalGroupRestrictionsResponseDto'
tags:
- Initiatives
delete:
operationId: CustomerInitiativeController_removeInternalGroupRestrictionsGroups_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInternalGroupsRequestDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/access-restrictions:
get:
operationId: CustomerInitiativeController_getInitiativeAccessSummary_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeAccessRestrictionsResponseDto'
summary: 'Gets a lightweight summary of the access configuration for an initiative.
Returns access types, user counts, and group info without fetching user details.'
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/access-restrictions/users:
get:
operationId: CustomerInitiativeController_getInitiativeRestrictedUsers_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
- name: page
required: false
in: query
schema:
minimum: 1
format: int64
type: number
- name: pageSize
required: false
in: query
schema:
minimum: 1
maximum: 150
format: int64
type: number
responses:
'200':
description: ''
summary: 'Gets a paginated list of users with access restrictions for an initiative.
Returns users from both the external access list and internal access restrictions.'
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/access-restrictions/users/lookup:
post:
operationId: CustomerInitiativeController_checkInitiativeUsers_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeAccessRestrictionsUsersLookupRequestDto'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InitiativeAccessRestrictionsUserResponseDto'
summary: 'Checks restriction information for specific users on an initiative.
Accepts up to 50 user IDs and returns their restriction details.'
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/access-restrictions/groups:
get:
operationId: CustomerInitiativeController_getInitiativeGroups_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InitiativeAccessRestrictionsGroupResponseDto'
summary: Gets the groups assigned to an initiative.
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeId}/access/{accessProviderName}:
get:
operationId: CustomerInitiativeController_getInitiativeAccess_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
- name: accessProviderName
required: true
in: path
schema:
enum:
- aderant
- auth0
- azure
- email
- external-billing-system
- elite
- intercom
- juris
- cisco-cdr
- mixpanel
- phone
- phone-extension
- salesforce
- segment
- vitally
- walls
- zendesk
- zoom
- exchange
- user-principal-name
- cisco-webex
- ringcentral
- google
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InitiativeAccessResponseDto'
summary: 'This endpoint is used by the implementation team to get walls ids for a given initiative.
Boomi combines and ingests the rules from different Walls systems (like IntappWalls) as "walls".
So the only possible value for accessProviderName is "walls" for now.
Note: accessProviderName is not a perfect terminology for this parameter - we have added it for the lack of a better name.'
tags:
- Initiatives
/api/v1/initiatives:
get:
deprecated: true
operationId: InitiativeController_searchMany_v1
parameters:
- name: search
required: true
in: query
description: the query to search initiatives for
schema:
minLength: 3
type: string
- name: clientId
required: false
in: query
description: the client to filter initiatives by
schema:
type: string
- name: limit
required: false
in: query
description: maximum number of initiatives to return
schema:
format: double
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- items:
$ref: '#/components/schemas/PmsInitiativeResponseDto'
type: array
- items:
$ref: '#/components/schemas/UserInitiativeResponseDto'
type: array
summary: searches all initiatives for current customer
tags:
- Initiatives
post:
deprecated: true
operationId: InitiativeController_createUserInitiative_v1
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserInitiativeDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserInitiative'
summary: ''
tags:
- Initiatives
/api/v1/initiatives/{initiativeId}:
get:
operationId: InitiativeController_findOneById_v1
parameters:
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
- name: workDate
required: false
in: query
description: When set (and restrictions are enabled), the initiative is treated as not found if restricted on this date.
schema:
format: iso-date
nullable: true
example: '2022-08-12'
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- items:
$ref: '#/components/schemas/PmsInitiativeResponseDto'
type: array
- items:
$ref: '#/components/schemas/UserInitiativeResponseDto'
type: array
summary: returns one initiative by its id
tags:
- Initiatives
/api/v1/customers/{customerId}/clients/{clientId}/initiatives/{initiativeId}:
get:
operationId: CustomerClientInitiativeController_getClientPmsInitiative_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: clientId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PmsInitiativeResponseDto'
tags:
- Initiatives
/api/v1/customers/{customerId}/users/{userId}/user-initiatives:
get:
operationId: CustomerUserInitiativeController_getUserInitiatives_v1
parameters:
- name: customerId
required: true
in: path
description: customer's id
schema:
format: objectid
type: string
- name: userId
required: true
in: path
description: user's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserInitiativeListItemResponseDto'
type: array
tags:
- Initiatives
/api/v1/customers/{customerId}/users/{userId}/user-initiatives/{initiativeId}:
patch:
operationId: CustomerUserInitiativeController_updateUserInitiative_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: userId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOneUserInitiativeDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserInitiativeResponseDto'
tags:
- Initiatives
delete:
operationId: CustomerUserInitiativeController_deleteUserInitiative_v1
parameters:
- name: customerId
required: true
in: path
schema:
format: objectid
type: string
- name: userId
required: true
in: path
schema:
format: objectid
type: string
- name: initiativeId
required: true
in: path
schema:
format: objectid
type: string
responses:
'200':
description: ''
tags:
- Initiatives
/api/v1/user-initiatives:
post:
operationId: UserInitiativeController_createUserInitiative_v1
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserInitiativeDto'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserInitiative'
tags:
- Initiatives
get:
operationId: UserInitiativeController_getUserInitiatives_v1
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserInitiativeListItemResponseDto'
type: array
tags:
- Initiatives
/api/v1/user-initiatives/{initiativeId}:
patch:
operationId: UserInitiativeController_findOneById_v1
parameters:
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOneUserInitiativeDto'
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserInitiativeResponseDto'
type: array
tags:
- Initiatives
delete:
operationId: UserInitiativeController_deleteUserInitiative_v1
parameters:
- name: initiativeId
required: true
in: path
description: Initiative's id
schema:
format: objectid
type: string
responses:
'200':
description: ''
tags:
- Initiatives
/api/v2/customers/{customerId}/initiatives/{initiativeExternalId}/codes:
post:
deprecated: true
operationId: InitiativeCodesController_addInitiativeCodesV2_v2
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeExternalId
required: true
in: path
description: initiative's external id
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddInitiativeCodesRequestDto'
responses:
'201':
description: ''
summary: ''
tags:
- Initiatives
/api/v1/customers/{customerId}/initiatives/{initiativeExternalId}/code-types/{codeTypeExternalId}/codes:
post:
operationId: InitiativeCodesController_addInitiativeCodesByCodeType_v1
parameters:
- name: customerId
required: true
in: path
description: customer id
schema:
format: objectid
type: string
- name: initiativeExternalId
required: true
in: path
schema:
type: string
- name: codeTypeExternalId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddInitiativeCodesRequestDto'
responses:
'201':
description: ''
tags:
- Initiatives
delete:
operationId: InitiativeCodesController_removeInitiativeCodesByCodeType_v1
parameters:
- name: customer
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/laurel/refs/heads/main/openapi/laurel-initiatives-api-openapi.yml