Convert Locations API
Locations let you target your experiences in the ways that are important to your business.
Locations let you target your experiences in the ways that are important to your business.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/convert-locations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Convert Accounts Locations API
description: 'Move your app forward with the Convert API. The Convert API allows
you to manage your Convert Experiences projects using code. The REST API is
an interface for managing and extending functionality of Convert. For
example, instead of creating and maintaining projects using the Convert
Experiences web dashboard you can create an experiment programmatically.
Additionally, if you prefer to run custom analysis on experiment results you
can leverage the API to pull data from Convert Experiences into your own
workflow. If you do not have a Convert account already, sign up for a free
developer account at https://www.convert.com/api/.
*[Convert API V1](/doc/v1) is still available and documentation can be found [here](/doc/v1) but using it is highly discouraged
as it will be phased out in the future*
'
version: 2.0.0
servers:
- url: https://api.convert.com/api/v2
description: Live API server
- url: https://apidev.convert.com/api/v2
description: DEV API server
- url: http://apidev.convert.com:5000/api/v2
description: DEV mocked API server
tags:
- name: Locations
description: Locations let you target your experiences in the ways that are important to your business.
paths:
/accounts/{account_id}/projects/{project_id}/locations:
post:
operationId: getLocationsList
summary: List locations within a project
description: 'Retrieves a list of all locations defined for a specific project.
Locations define *where* on a website an experience will run, based on URL patterns, page tags, or JavaScript conditions.
Supports filtering by status, name, and pagination.
The Knowledge Base article "Locations" explains: "Locations conditions include the pages on which the experiment will run."
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/GetLocationsListRequest'
responses:
'200':
$ref: '#/components/responses/LocationsListResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/{location_id}:
get:
operationId: getLocation
summary: Get details for a specific location
description: 'Retrieves detailed information about a single location, identified by its `location_id`.
This includes its name, status, triggering rules (e.g., URL matches, JS conditions), and the type of trigger (e.g., upon_run, manual, dom_element).
The `include` parameter can fetch additional data like usage statistics.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
in: path
required: true
description: ID of the project into which the Location is stored
schema:
type: integer
- name: location_id
in: path
required: true
description: ID of the Location to be retrieved
schema:
type: integer
- name: include
in: query
required: false
description: 'Specifies the list of fields to be included in the response, which otherwise would not be sent.
Read more in the section related to [Optional Fields](#tag/Optional-Fields)
'
schema:
type: array
items:
$ref: '#/components/schemas/LocationIncludeFields'
responses:
'200':
$ref: '#/components/responses/LocationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/add:
post:
operationId: createLocation
summary: Create a new location
description: 'Defines a new location within a project.
Requires a name and a set of rules (e.g., URL contains ''product/'', JS condition `window.userType === ''premium''`).
Also requires specifying the trigger type (e.g., ''upon_run'' to activate when rules match on page load, or ''manual'' to activate via JavaScript call).
The Knowledge Base article "Creating Effective Experiences: A Guide to Location Setup" describes different trigger options.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
in: path
required: true
description: ID of the project into which the location is to be stored
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/CreateLocationRequest'
responses:
'201':
$ref: '#/components/responses/LocationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/{location_id}/update:
post:
operationId: updateLocation
summary: Update an existing location
description: 'Modifies the configuration of an existing location.
This can include changing its name, status (active/archived), triggering rules, or trigger type.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
in: path
required: true
description: ID of the project into which the location is stored
schema:
type: integer
- name: location_id
in: path
required: true
description: ID of the location to be updated
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/UpdateLocationRequest'
responses:
'200':
$ref: '#/components/responses/LocationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/{location_id}/delete:
delete:
operationId: deleteLocation
summary: Delete a location
description: 'Permanently removes a location from a project. This action is irreversible.
If the location is in use by active experiences, consider archiving it instead or unlinking it from experiences first.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
- name: location_id
in: path
required: true
description: ID of the location to be deleted
schema:
type: integer
responses:
'200':
$ref: '#/components/responses/SuccessResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/bulk-update:
post:
operationId: bulkLocationsUpdate
summary: Update multiple locations at once
description: 'Allows for changing the status (e.g., active, archived) of multiple locations within a project simultaneously.
Requires a list of location IDs and the target status.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/BulkUpdateLocationsRequest'
responses:
'200':
$ref: '#/components/responses/BulkSuccessResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/bulk-delete:
post:
operationId: bulkLocationsDelete
summary: Delete multiple locations at once
description: 'Permanently removes multiple locations from a project in a single operation.
Requires a list of location IDs. This action is irreversible.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/BulkDeleteLocationsRequest'
responses:
'200':
$ref: '#/components/responses/BulkSuccessResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations-presets:
get:
operationId: getLocationsPresets
summary: List predefined location templates (presets)
description: 'Retrieves a list of predefined location templates (presets) available for use.
These presets offer common targeting configurations (e.g., "All Pages", "Homepage") to speed up location setup.
The Knowledge Base article "Creating Effective Experiences: A Guide to Location Setup" mentions "Saved Locations" which are user-created, these are system presets.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
responses:
'200':
$ref: '#/components/responses/LocationsPresetsListResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{account_id}/projects/{project_id}/locations/{location_id}/clone:
post:
operationId: cloneLocation
summary: Clone an existing location
description: 'Creates a new location as an identical copy of an existing one (specified by `location_id`).
Useful for creating a similar location with minor modifications or for templating.
'
tags:
- Locations
parameters:
- name: account_id
in: path
required: true
description: ID of the account that owns the retrieved/saved data
schema:
type: integer
- name: project_id
description: ID of the project to which save/retrieved data is connected
in: path
required: true
schema:
type: integer
- name: location_id
in: path
required: true
description: ID of the location to be deleted
schema:
type: integer
- name: include
in: query
required: false
description: 'Specifies the list of fields to be included in the response, which otherwise would not be sent.
Read more in the section related to [Optional Fields](#tag/Optional-Fields)
'
schema:
type: array
items:
$ref: '#/components/schemas/LocationIncludeFields'
responses:
'201':
$ref: '#/components/responses/LocationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
components:
schemas:
BaseRuleWithBrowserNameValue:
allOf:
- $ref: '#/components/schemas/BaseRule'
- type: object
properties:
value:
description: Browser name used for matching
type: string
enum:
- chrome
- microsoft_ie
- firefox
- microsoft_edge
- mozilla
- opera
- safari
LocationsPresetsListResponseData:
type: object
description: Response containing a list of predefined location templates (presets) available in the system.
properties:
data:
$ref: '#/components/schemas/LocationsPresetsList'
BaseRuleWithSegmentBucketedValue:
allOf:
- $ref: '#/components/schemas/BaseRule'
- type: object
properties:
value:
description: ID of the segment used for matching
type: number
Pagination:
type: object
properties:
current_page:
description: The current page number being displayed from the paginated set.
type: integer
minimum: 1
items_count:
description: The total number of items available across all pages for the current filter criteria.
type: integer
minimum: 0
items_per_page:
description: The number of items included in the current page of results (matches `results_per_page` from the request).
type: integer
minimum: 0
pages_count:
description: The total number of pages available for the current filter criteria and `results_per_page` setting.
type: integer
minimum: 0
GenericTextKeyValueMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithStringValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/GenericTextKeyValueMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/TextMatchingOptions'
- $ref: '#/components/schemas/GenericKey'
DayOfWeekMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithDayOfWeekValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/DayOfWeekMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/NumericMatchingOptions'
WeatherConditionMatchRulesTypes:
type: string
enum:
- weather_condition
GenericBoolMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithBooleanValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/BoolMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/ChoiceMatchingOptions'
TextMatchingOptions:
type: string
enum:
- matches
- regexMatches
- contains
- endsWith
- startsWith
MinuteOfHourMatchRulesTypes:
type: string
enum:
- local_time_minute_of_hour
- project_time_minute_of_hour
SortDirection:
type: object
properties:
sort_direction:
type: string
nullable: true
default: desc
description: 'The direction for sorting the list results, based on the `sort_by` field.
- `asc`: Ascending order (e.g., A-Z, 1-10, oldest to newest).
- `desc`: Descending order (e.g., Z-A, 10-1, newest to oldest).
Defaults to `desc` (newest/highest first) if not specified.
'
enum:
- asc
- desc
GenericTextKeyValueMatchRulesTypes:
type: string
enum:
- generic_text_key_value
TextMatchRulesTypes:
type: string
enum:
- url
- url_with_query
- query_string
- campaign
- keyword
- medium
- source_name
- city
- region
- browser_version
- user_agent
- page_tag_page_type
- page_tag_category_id
- page_tag_category_name
- page_tag_product_sku
- page_tag_product_name
- page_tag_customer_id
- page_tag_custom_1
- page_tag_custom_2
- page_tag_custom_3
- page_tag_custom_4
- visitor_id
BaseRuleWithMinuteOfHourValue:
allOf:
- $ref: '#/components/schemas/BaseRule'
- type: object
properties:
value:
description: Minute of hour used for matching
type: number
minimum: 1
maximum: 60
GenericBoolKeyValueMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithBooleanValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/GenericBoolKeyValueMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/ChoiceMatchingOptions'
- $ref: '#/components/schemas/GenericKey'
BaseRuleWithOsValue:
allOf:
- $ref: '#/components/schemas/BaseRule'
- type: object
properties:
value:
description: Operating System name used for matching
type: string
enum:
- android
- iphone
- ipod
- ipad
- windows
- macos
- linux
BaseRuleWithStringValue:
allOf:
- $ref: '#/components/schemas/BaseRule'
- type: object
properties:
value:
description: The value used to match against 'rule_type' using 'matching'
type: string
GenericNumericKeyValueMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithNumericValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/GenericNumericKeyValueMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/NumericMatchingOptions'
- $ref: '#/components/schemas/GenericKey'
OnlyCount:
type: object
properties:
onlyCount:
type: boolean
description: 'If set to `true` in a list request, the response will only contain the total count of matching items (`extra.pagination.items_count`)
and will not include the actual item data. Useful for quickly getting totals without fetching full datasets.
'
RuleObject:
type: object
nullable: true
description: 'Defines the logical structure for combining multiple rule conditions. It uses a nested OR -> AND -> OR_WHEN structure.
- The top-level `OR` array means if *any* of its contained AND blocks evaluate to true, the entire rule set is true.
- Each object within the `OR` array has an `AND` array. For this AND block to be true, *all* of its contained OR_WHEN blocks must evaluate to true.
- Each object within the `AND` array has an `OR_WHEN` array. For this OR_WHEN block to be true, *any* of its individual `RuleElement` conditions must evaluate to true.
This structure allows for complex logical expressions like `(CondA AND CondB) OR (CondC AND CondD)`.
'
properties:
OR:
description: An array of AND-blocks. The overall rule matches if any of these AND-blocks match.
type: array
items:
type: object
properties:
AND:
description: An array of OR_WHEN-blocks. This AND-block matches if all its OR_WHEN-blocks match.
type: array
items:
type: object
properties:
OR_WHEN:
description: An array of individual rule elements. This OR_WHEN-block matches if any of its rule elements match.
type: array
items:
$ref: '#/components/schemas/RuleElement'
LocationTriggerTypes:
type: string
default: upon_run
description: 'Specifies the mechanism that activates an experience when its location rules are met:
- `upon_run`: (Default) The experience activates as soon as the Convert tracking script loads and evaluates that the visitor matches the location''s rules (e.g., URL match). This is the standard behavior for most A/B tests.
- `manual`: The experience only activates when explicitly triggered by a JavaScript call (`window._conv_q.push({ what: ''triggerLocation'', params: { locationId: ''...'' } })`). Gives precise programmatic control over activation.
- `dom_element`: The experience activates upon a specific user interaction (e.g., ''click'', ''hover'', ''in_view'', ''change'') with a defined DOM element (identified by a CSS `selector`). Useful for testing changes related to interactive elements.
- `callback`: The experience activates when a custom JavaScript `callback` function (provided in `js`) calls the `activate()` function passed to it. Allows for complex asynchronous activation logic, e.g., after an API response or a specific SPA state change.
Note: For Full Stack projects, `upon_run` is effectively the only mode, as activation is handled by the SDK.
'
enum:
- upon_run
- manual
- dom_element
- callback
DayOfWeekMatchRulesTypes:
type: string
enum:
- local_time_day_of_week
- project_time_day_of_week
VisitorTypeMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithVisitorTypeValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/VisitorTypeMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/ChoiceMatchingOptions'
JsConditionMatchRulesTypes:
type: string
enum:
- js_condition
BulkLocationsIds:
type: array
description: A list of location unique numerical identifiers to be affected by a bulk operation.
items:
type: integer
minItems: 1
maxItems: 100
LanguageMatchRulesTypes:
type: string
enum:
- language
BaseMatch:
type: object
properties:
negated:
description: 'If `true`, the logical result of the match is inverted.
For example, if `match_type` is ''contains'' and `value` is ''apple'', `negated: true` means the rule matches if the attribute *does not* contain ''apple''.
'
type: boolean
LocationIncludeFields:
type: string
enum:
- rules
- trigger
- stats.experiences_usage
LocationDomTriggerEvents:
type: string
description: 'The type of user interaction with a DOM element that will trigger the experience:
- `click`: Activates when the element is clicked.
- `hover`: Activates when the mouse pointer hovers over the element (mouseenter).
- `in_view`: Activates when the element becomes visible in the browser''s viewport (e.g., user scrolls to it). KB: "Launch Experiments Using Custom JavaScript When Elements Appear in DOM".
- `change`: Activates when the value of a form element (like input, select, textarea) changes.
'
enum:
- click
- hover
- in_view
- change
RuleElement:
oneOf:
- $ref: '#/components/schemas/GenericTextMatchRule'
- $ref: '#/components/schemas/GenericNumericMatchRule'
- $ref: '#/components/schemas/GenericBoolMatchRule'
- $ref: '#/components/schemas/GenericTextKeyValueMatchRule'
- $ref: '#/components/schemas/GenericNumericKeyValueMatchRule'
- $ref: '#/components/schemas/GenericBoolKeyValueMatchRule'
- $ref: '#/components/schemas/CookieMatchRule'
- $ref: '#/components/schemas/CountryMatchRule'
- $ref: '#/components/schemas/LanguageMatchRule'
- $ref: '#/components/schemas/GoalTriggeredMatchRule'
- $ref: '#/components/schemas/SegmentBucketedMatchRule'
- $ref: '#/components/schemas/DayOfWeekMatchRule'
- $ref: '#/components/schemas/HourOfDayMatchRule'
- $ref: '#/components/schemas/MinuteOfHourMatchRule'
- $ref: '#/components/schemas/BrowserNameMatchRule'
- $ref: '#/components/schemas/OsMatchRule'
- $ref: '#/components/schemas/WeatherConditionMatchRule'
- $ref: '#/components/schemas/VisitorTypeMatchRule'
- $ref: '#/components/schemas/JsConditionMatchRule'
discriminator:
propertyName: rule_type
mapping:
url: '#/components/schemas/GenericTextMatchRule'
url_with_query: '#/components/schemas/GenericTextMatchRule'
query_string: '#/components/schemas/GenericTextMatchRule'
campaign: '#/components/schemas/GenericTextMatchRule'
keyword: '#/components/schemas/GenericTextMatchRule'
medium: '#/components/schemas/GenericTextMatchRule'
source_name: '#/components/schemas/GenericTextMatchRule'
avg_time_page: '#/components/schemas/GenericNumericMatchRule'
city: '#/components/schemas/GenericTextMatchRule'
country: '#/components/schemas/CountryMatchRule'
region: '#/components/schemas/GenericTextMatchRule'
days_since_last_visit: '#/components/schemas/GenericNumericMatchRule'
language: '#/components/schemas/LanguageMatchRule'
pages_visited_count: '#/components/schemas/GenericNumericMatchRule'
goal_triggered: '#/components/schemas/GoalTriggeredMatchRule'
visit_duration: '#/components/schemas/GenericNumericMatchRule'
cookie: '#/components/schemas/CookieMatchRule'
visitor_type: '#/components/schemas/VisitorTypeMatchRule'
visits_count: '#/components/schemas/GenericNumericMatchRule'
bucketed_into_experience: '#/components/schemas/GenericBoolMatchRule'
bucketed_into_segment: '#/components/schemas/SegmentBucketedMatchRule'
local_time_day_of_week: '#/components/schemas/DayOfWeekMatchRule'
local_time_hour_of_day: '#/components/schemas/HourOfDayMatchRule'
local_time_minute_of_hour: '#/components/schemas/MinuteOfHourMatchRule'
project_time_day_of_week: '#/components/schemas/DayOfWeekMatchRule'
project_time_hour_of_day: '#/components/schemas/HourOfDayMatchRule'
project_time_minute_of_hour: '#/components/schemas/MinuteOfHourMatchRule'
browser_name: '#/components/schemas/BrowserNameMatchRule'
browser_version: '#/components/schemas/GenericTextMatchRule'
os: '#/components/schemas/OsMatchRule'
user_agent: '#/components/schemas/GenericTextMatchRule'
is_desktop: '#/components/schemas/GenericBoolMatchRule'
is_mobile: '#/components/schemas/GenericBoolMatchRule'
is_tablet: '#/components/schemas/GenericBoolMatchRule'
js_condition: '#/components/schemas/JsConditionMatchRule'
page_tag_page_type: '#/components/schemas/GenericTextMatchRule'
page_tag_category_id: '#/components/schemas/GenericTextMatchRule'
page_tag_category_name: '#/components/schemas/GenericTextMatchRule'
page_tag_product_sku: '#/components/schemas/GenericTextMatchRule'
page_tag_product_name: '#/components/schemas/GenericTextMatchRule'
page_tag_product_price: '#/components/schemas/GenericNumericMatchRule'
page_tag_customer_id: '#/components/schemas/GenericTextMatchRule'
page_tag_custom_1: '#/components/schemas/GenericTextMatchRule'
page_tag_custom_2: '#/components/schemas/GenericTextMatchRule'
page_tag_custom_3: '#/components/schemas/GenericTextMatchRule'
page_tag_custom_4: '#/components/schemas/GenericTextMatchRule'
weather_condition: '#/components/schemas/WeatherConditionMatchRule'
generic_text_key_value: '#/components/schemas/GenericTextKeyValueMatchRule'
generic_numeric_key_value: '#/components/schemas/GenericNumericKeyValueMatchRule'
generic_bool_key_value: '#/components/schemas/GenericBoolKeyValueMatchRule'
GenericTextMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithStringValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/TextMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/TextMatchingOptions'
GenericNumericMatchRule:
allOf:
- $ref: '#/components/schemas/BaseRuleWithNumericValue'
- type: object
required:
- rule_type
properties:
rule_type:
$ref: '#/components/schemas/NumericMatchRulesTypes'
matching:
allOf:
- $ref: '#/components/schemas/BaseMatch'
- type: object
properties:
match_type:
$ref: '#/components/schemas/NumericMatchingOptions'
CookieMatchingOptions:
type: string
enum:
- matches
- regexMatches
- contains
- endsWith
- startsWith
- exists
- doesNotExist
Location:
allOf:
- $ref: '#/components/schemas/LocationBase'
- type: object
properties:
rules:
nullable: true
allOf:
- $ref: '#/components/schemas/LocationRuleObject'
trigger:
$ref: '#/components/schemas/LocationTrigger'
GetLocationsListRequestData:
allOf:
- $ref: '#/components/schemas/OnlyCount'
- $ref: '#/components/schemas/LocationsListFilteringOptions'
- $ref: '#/components/schemas/PageNumber'
- type: object
properties:
include:
description: Specifies the list of fields to be included in the response, which otherwise would not be sent.
type: array
items:
$ref: '#/components/schemas/LocationIncludeFields'
only:
description: 'Only retrieve location with the given ids.
'
type: array
nullable: true
items:
type: integer
maxItems: 100
except:
description: 'Except locations with the given ids.
'
type: array
items:
type: integer
maxItems: 100
ErrorData:
type: object
properties:
code:
type: integer
format: int32
message:
oneOf:
- type: string
- type: array
items:
type: string
fields:
oneOf:
- type: string
- type: array
items:
type: string
LocationsPresetsList:
type: array
description: A list of location preset objects.
items:
$ref: '#/components/schemas/LocationPreset'
CountryMatchRu
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/convert/refs/heads/main/openapi/convert-locations-api-openapi.yml