AppDirect SegmentFolders API
The SegmentFolders API from AppDirect — 11 operation(s) for segmentfolders.
The SegmentFolders API from AppDirect — 11 operation(s) for segmentfolders.
openapi: 3.0.0
info:
description: The Companies API allows developers to manage marketplace companies and their user memberships.
title: Companies AI Embed SegmentFolders API
license:
name: Apache License, Version 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: SegmentFolders
x-displayName: Segment Folders
paths:
/channel/v1/companyGroups:
post:
tags:
- SegmentFolders
summary: Create segment folders
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: createCompanyGroup
description: Creates a segment folder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentFolderRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentFolder'
examples:
response:
value:
id: 7e3b3bb8-1b75-408b-8cbf-561ccd910479
name: Fortune 500 Companies
enable: true
partner: APPDIRECT
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The segment folder name already exists for the partner
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/channel/v1/companyGroups \\\n --data '{\"name\":\"Fortune 500 Companies\"}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/channel/v1/companyGroups',\n body: {name: 'Fortune 500 Companies'},\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"Fortune 500 Companies\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/companyGroups\")\n .post(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
get:
tags:
- SegmentFolders
summary: Read segment folders
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: getCompanyGroups
description: Returns a paginated list of segment folders for the marketplace
parameters:
- name: number
in: query
description: Page number
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of results per page
required: false
schema:
type: integer
maximum: 250
default: 50
- name: sort
in: query
description: Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.
required: false
schema:
type: string
default: +name
- name: name
in: query
description: Search text
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PagedSegmentFolderAndSegments'
examples:
response:
value:
content:
- id: 7e3b3bb8-1b75-408b-8cbf-561ccd910479
name: Fortune 500 Companies
partner: APPDIRECT
segments:
- id: 04f8d043-10f1-4b89-8c0e-0780e5a62299
name: iOS users
partner: APPDIRECT
code: IOS
type: MANUAL
- id: 7e3b3bb8-1b75-408b-8cbf-561ccd910479
name: Fortune 100 Companies
partner: APPDIRECT
segments:
- id: 04f8d043-10f1-4b89-8c0e-0780e5a62299
name: Android users
partner: APPDIRECT
code: DROID
type: MANUAL
page:
number: 1
size: 2
totalElements: 10
totalPages: 2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://marketplace.appdirect.com/api/channel/v1/companyGroups?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&name=SOME_STRING_VALUE'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/channel/v1/companyGroups',\n qs: {\n number: 'SOME_INTEGER_VALUE',\n size: 'SOME_INTEGER_VALUE',\n sort: 'SOME_STRING_VALUE',\n name: 'SOME_STRING_VALUE'\n }\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/companyGroups?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&name=SOME_STRING_VALUE\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/companyGroups/{companyGroupId}:
put:
tags:
- SegmentFolders
summary: Update segment folders
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: updateCompanyGroup
description: Updates a segment folder
parameters:
- description: Segment folder ID
name: companyGroupId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentFolderRequest'
required: true
responses:
'204':
description: The segment folder was successfully updated
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The segment folder name already exists for the partner
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request PUT \\\n --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D \\\n --data '{\"name\":\"Fortune 500 Companies\"}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'PUT',\n url: 'https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D',\n body: {name: 'Fortune 500 Companies'},\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"Fortune 500 Companies\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D\")\n .put(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
delete:
tags:
- SegmentFolders
summary: Delete segment folder
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: deleteCompanyGroup
description: Deletes a segment folder, all associated segments, and all product associations
parameters:
- description: Segment folder ID
name: companyGroupId
in: path
required: true
schema:
type: string
responses:
'204':
description: The segment folder was successfully deleted
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'DELETE',\n url: 'https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D\")\n .delete(null)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/companyGroups/{companyGroupId}/segments/{companySegmentId}:
delete:
tags:
- SegmentFolders
summary: Delete segments from segment folders
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: removeSegment
description: Deletes a segment from a segment folder
parameters:
- description: Segment folder ID
name: companyGroupId
in: path
required: true
schema:
type: string
- description: Segment ID
name: companySegmentId
in: path
required: true
schema:
type: string
responses:
'204':
description: The segment was successfully deleted.
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request DELETE \\\n --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D/segments/%7BcompanySegmentId%7D"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'DELETE',\n url: 'https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D/segments/%7BcompanySegmentId%7D'\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D/segments/%7BcompanySegmentId%7D\")\n .delete(null)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments:
get:
tags:
- SegmentFolders
summary: Read segments
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: getCompanyGroupSegments
description: Returns a paginated list of segments
parameters:
- in: query
name: companyGroupId
description: Segment folder ID
required: true
schema:
type: string
- in: query
name: number
description: Page number
required: false
schema:
type: integer
default: 0
- in: query
name: size
required: false
description: Number of results per page
schema:
type: integer
maximum: 250
default: 50
- in: query
name: sort
description: Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.
required: false
schema:
type: string
pattern: ^[+-]name$
default: +name
- in: query
name: searchText
description: Search text
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PagedSegment'
examples:
response:
value:
content:
- id: 9f4e5c52-5258-4193-a132-303f06e9eef1
name: Canada
partner: APPDIRECT
code: CAN
type: MANUAL
- id: b1f5af35-ca68-431f-83b7-ef56189924ed
name: France
partner: APPDIRECT
code: FRA
type: MANUAL
- id: 5ca15227-da6b-413e-a09c-f8d06ab3dcd7
name: United States
partner: APPDIRECT
code: USA
type: MANUAL
page:
size: 50
totalElements: 3
totalPages: 1
number: 0
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments',\n qs: {\n companyGroupId: 'SOME_STRING_VALUE',\n number: 'SOME_INTEGER_VALUE',\n size: 'SOME_INTEGER_VALUE',\n sort: 'SOME_STRING_VALUE',\n searchText: 'SOME_STRING_VALUE'\n }\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
post:
tags:
- SegmentFolders
summary: Create manual segment
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: createSegment
description: Creates a manual segment. Manual segments allow Marketplace Managers to select companies manually, as opposed to dynamic segments, which contain user selected automatically based on filter values.
parameters:
- in: query
name: companyGroupId
description: Segment folder ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
examples:
response:
value:
id: 9f4e5c52-5258-4193-a132-303f06e9eef1
name: Canada
partner: APPDIRECT
code: CAN
type: MANUAL
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The segment already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url 'https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE' \\\n --data '{\"name\":\"Canada\",\"code\":\"XXYU\"}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments',\n qs: {companyGroupId: 'SOME_STRING_VALUE'},\n body: {name: 'Canada', code: 'XXYU'},\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"Canada\\\",\\\"code\\\":\\\"XXYU\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE\")\n .post(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments/{companySegmentId}:
put:
tags:
- SegmentFolders
summary: Update manual segments
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: updateSegment
description: Updates a manual segment
parameters:
- in: path
name: companySegmentId
description: Segment ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentRequest'
required: true
responses:
'204':
description: The segment was successfully updated.
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The segment already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request PUT \\\n --url https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D \\\n --data '{\"name\":\"Canada\",\"code\":\"XXYU\"}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'PUT',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D',\n body: {name: 'Canada', code: 'XXYU'},\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"Canada\\\",\\\"code\\\":\\\"XXYU\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D\")\n .put(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments/{companySegmentId}/associationsBatchUpdate:
post:
tags:
- SegmentFolders
summary: Create or remove segment-company associations
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: deleteAndAddCompanies
description: Creates or removes associations between segments and companies
parameters:
- in: path
name: companySegmentId
description: Segment ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanySegmentAssociationsBatchUpdateRequest'
required: true
responses:
'204':
description: The segment to company associations were successfully updated.
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The association already exists between the segment and company.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request POST \\\n --url https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/associationsBatchUpdate \\\n --header 'content-type: application/json' \\\n --data '{\"deleteAll\":\"false\",\"companyIdsToAdd\":[\"7e3b3bb8-1b75-408b-8cbf-561ccd910479\"],\"companyIdsToRemove\":[\"7e3b3bb8-1b75-408b-8cbf-561ccd910478\"]}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/associationsBatchUpdate',\n headers: {'content-type': 'application/json'},\n body: {\n deleteAll: 'false',\n companyIdsToAdd: ['7e3b3bb8-1b75-408b-8cbf-561ccd910479'],\n companyIdsToRemove: ['7e3b3bb8-1b75-408b-8cbf-561ccd910478']\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"deleteAll\\\":\\\"false\\\",\\\"companyIdsToAdd\\\":[\\\"7e3b3bb8-1b75-408b-8cbf-561ccd910479\\\"],\\\"companyIdsToRemove\\\":[\\\"7e3b3bb8-1b75-408b-8cbf-561ccd910478\\\"]}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/associationsBatchUpdate\")\n .post(body)\n .addHeader(\"content-type\", \"application/json\")\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments/{companySegmentId}/availableAndAssociatedCompanies:
get:
tags:
- SegmentFolders
summary: Read segment companies
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: getAvailableAndAssociatedCompanies
description: Returns a paginated list of all marketplace companies and indicates whether they are associated with the segment
parameters:
- in: path
name: companySegmentId
description: Segment ID
required: true
schema:
type: string
- in: query
name: number
description: Page number
required: false
schema:
type: integer
default: 0
- in: query
name: size
required: false
description: Number of results per page
schema:
type: integer
maximum: 250
default: 50
- in: query
name: sort
description: Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format.
required: false
schema:
type: string
pattern: ^[+-]name$
default: +name
- in: query
name: searchText
description: Search text
required: false
schema:
type: string
- in: query
name: selected
description: If true, returns only associated companies
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PagedAvailableCompanySegmentAssociation'
examples:
response:
value:
content:
- name: Canada Company
id: 04f8d043-10f1-4b89-8c0e-0780e5a62299
selected: false
- name: US Company
id: 04f8d043-10f1-4b89-8c0e-0780e5a62298
selected: true
page:
number: 1
size: 2
totalElements: 10
totalPages: 2
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request GET \\\n --url 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/availableAndAssociatedCompanies?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&selected=SOME_BOOLEAN_VALUE'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'GET',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/availableAndAssociatedCompanies',\n qs: {\n number: 'SOME_INTEGER_VALUE',\n size: 'SOME_INTEGER_VALUE',\n sort: 'SOME_STRING_VALUE',\n searchText: 'SOME_STRING_VALUE',\n selected: 'SOME_BOOLEAN_VALUE'\n }\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/availableAndAssociatedCompanies?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&selected=SOME_BOOLEAN_VALUE\")\n .get()\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments/dynamicSegments/{dynamicSegmentId}:
put:
tags:
- SegmentFolders
summary: Update dynamic segments
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
operationId: updateDynamicSegment
description: Updates a dynamic segment
parameters:
- in: path
name: dynamicSegmentId
description: Segment ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DynamicSegmentRequest'
required: true
responses:
'204':
description: The segment was successfully updated.
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The segment already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-codeSamples:
- lang: Shell + Curl
source: "curl --request PUT \\\n --url https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments/%7BdynamicSegmentId%7D \\\n --data '{\"name\":\"Canada\",\"code\":\"XXYU\",\"filters\":[[{\"conditions\":[{\"parameter\":\"company.state\",\"operator\":\"matches\",\"values\":[\"Quebec\"]},{\"parameter\":\"company.city\",\"operator\":\"matches\",\"values\":[\"Montreal\"]}]},{\"conditions\":[{\"parameter\":\"company.state\",\"operator\":\"matches\",\"values\":[\"Quebec\"]},{\"parameter\":\"company.city\",\"operator\":\"matches\",\"values\":[\"Montreal\"]}]}]]}'"
- lang: Node + Request
source: "const request = require('request');\n\nconst options = {\n method: 'PUT',\n url: 'https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments/%7BdynamicSegmentId%7D',\n body: {\n name: 'Canada',\n code: 'XXYU',\n filters: [\n [\n {\n conditions: [\n {parameter: 'company.state', operator: 'matches', values: ['Quebec']},\n {parameter: 'company.city', operator: 'matches', values: ['Montreal']}\n ]\n },\n {\n conditions: [\n {parameter: 'company.state', operator: 'matches', values: ['Quebec']},\n {parameter: 'company.city', operator: 'matches', values: ['Montreal']}\n ]\n }\n ]\n ]\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- lang: Java + Okhttp
source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"Canada\\\",\\\"code\\\":\\\"XXYU\\\",\\\"filters\\\":[[{\\\"conditions\\\":[{\\\"parameter\\\":\\\"company.state\\\",\\\"operator\\\":\\\"matches\\\",\\\"values\\\":[\\\"Quebec\\\"]},{\\\"parameter\\\":\\\"company.city\\\",\\\"operator\\\":\\\"matches\\\",\\\"values\\\":[\\\"Montreal\\\"]}]},{\\\"conditions\\\":[{\\\"parameter\\\":\\\"company.state\\\",\\\"operator\\\":\\\"matches\\\",\\\"values\\\":[\\\"Quebec\\\"]},{\\\"parameter\\\":\\\"company.city\\\",\\\"operator\\\":\\\"matches\\\",\\\"values\\\":[\\\"Montreal\\\"]}]}]]}\");\nRequest request = new Request.Builder()\n .url(\"https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments/%7BdynamicSegmentId%7D\")\n .put(body)\n .build();\n\nResponse response = client.newCall(request).execute();"
/channel/v1/segments/dynamicSegments/filterParameters:
get:
tags:
- SegmentFolders
summary: Read filter parameters
x-appdirect-required-scopes:
ROLE_CHANNEL_ADMIN:
- Allows access as a Marketplace Manager for the marketplace.
description: Returns a list of parameters for the dynamic filter
operationId: readFilterParameter
parameters:
- name: AD-Tenant
in: header
required: true
schema:
type: string
pattern: (\s*\S+\s*)+
- name: locale
in: query
required: false
description: Locale
schema:
type: string
default: en_US
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SegmentFilterParamList'
examples:
response:
value:
-
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appdirect/refs/heads/main/openapi/appdirect-segmentfolders-api-openapi.yml