openapi: 3.2.0 info: title: MODIVO Commerce REST Inventory In Store Pickup API Get Pickup Locations V1 API version: '2.4' description: Public REST API surface of the MODIVO storefront (modivo.pl), served by its Adobe Commerce / Magento 2.4 deployment and self-described at https://modivo.pl/rest/all/schema?services=all. Covers guest cart and checkout, guest order placement, marketplace order placement, customer account management, product render info, search, directory data, gift messages, in-store pickup locations, PayPal/Braintree payment services, and MODIVO-specific extensions (MODIVO My Returns webhook, eobuwie JWT service, Trustmate review integration). Anonymous access is limited to unauthenticated storefront operations; the remainder requires a Magento integration or customer bearer token. Mechanically converted from the provider's own Swagger 2.0 document; the verbatim original is in openapi/_original/. x-source: https://modivo.pl/rest/all/schema?services=all servers: - url: https://modivo.pl/rest/all tags: - name: inventoryInStorePickupApiGetPickupLocationsV1 description: Get Pickup Locations filtered by provided Search Request. Pickup Location entities are Immutable object and can not be changed after creation. All modification of Pickup Location must be done through @see \Magento\InventoryApi\Api\SourceRepositoryInterface paths: /V1/inventory/in-store-pickup/pickup-locations/: get: tags: - inventoryInStorePickupApiGetPickupLocationsV1 description: Get Pickup Locations according to the results of filtration by Search Request. operationId: GetV1InventoryInstorepickupPickuplocations parameters: - name: searchRequest[area][radius] in: query description: Search radius in KM. schema: type: integer - name: searchRequest[area][searchTerm] in: query description: Search term string. schema: type: string - name: searchRequest[filters][country][value] in: query description: Value. schema: type: string - name: searchRequest[filters][country][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][postcode][value] in: query description: Value. schema: type: string - name: searchRequest[filters][postcode][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][region][value] in: query description: Value. schema: type: string - name: searchRequest[filters][region][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][regionId][value] in: query description: Value. schema: type: string - name: searchRequest[filters][regionId][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][city][value] in: query description: Value. schema: type: string - name: searchRequest[filters][city][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][street][value] in: query description: Value. schema: type: string - name: searchRequest[filters][street][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][name][value] in: query description: Value. schema: type: string - name: searchRequest[filters][name][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[filters][pickupLocationCode][value] in: query description: Value. schema: type: string - name: searchRequest[filters][pickupLocationCode][conditionType] in: query description: Condition Type. schema: type: string - name: searchRequest[pageSize] in: query description: Page size. schema: type: integer - name: searchRequest[currentPage] in: query description: Current page. schema: type: integer - name: searchRequest[scopeType] in: query description: Sales Channel Type. schema: type: string - name: searchRequest[scopeCode] in: query description: Sales Channel code. schema: type: string - name: searchRequest[sort][0][field] in: query description: Sorting field. schema: type: string - name: searchRequest[sort][0][direction] in: query description: Sorting direction. schema: type: string - name: searchRequest[extensionAttributes][productsInfo][0][sku] in: query description: Product SKU. schema: type: string responses: '200': description: 200 Success. content: application/json: schema: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-result-interface' application/xml: schema: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-result-interface' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/error-response' application/xml: schema: $ref: '#/components/schemas/error-response' components: schemas: inventory-in-store-pickup-api-data-search-request-area-interface: type: object description: 'Filter by Distance to the Address. Pickup Locations will be filtered by distance according to the geo-position of the entered address. Required fields for the address are country and one of the field: region or city or postcode.' properties: radius: type: integer description: Search radius in KM. search_term: type: string description: Search term string. required: - radius - search_term error-errors-item: type: object description: Error details properties: message: type: string description: Error message parameters: $ref: '#/components/schemas/error-parameters' framework-sort-order: type: object description: Data object for sort order. properties: field: type: string description: Sorting field. direction: type: string description: Sorting direction. required: - field - direction inventory-in-store-pickup-api-data-search-request-interface: type: object description: 'Endpoint used to search Pickup Locations by different parameters: - by attribute filters fields @see \Magento\InventoryInStorePickupApi\Api\Data\SearchRequest\FiltersInterface - by distance to the address @see \Magento\InventoryInStorePickupApi\Api\Data\SearchRequest\AreaInterface Also, endpoint supports paging and sort orders.' properties: area: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-area-interface' filters: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filters-interface' page_size: type: integer description: Page size. current_page: type: integer description: Current page. scope_type: type: string description: Sales Channel Type. scope_code: type: string description: Sales Channel code. sort: type: array description: Sort Order. items: $ref: '#/components/schemas/framework-sort-order' extension_attributes: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-extension-interface' required: - current_page - scope_type - scope_code inventory-in-store-pickup-api-data-search-request-product-info-extension-interface: type: object description: ExtensionInterface class for @see \Magento\InventoryInStorePickupApi\Api\Data\SearchRequest\ProductInfoInterface inventory-in-store-pickup-api-data-search-request-filters-interface: type: object description: Filter to filter by Fields. Each field may be filtered with different condition type. Supported condition types restricted by @see \Magento\Framework\Api\SearchCriteriaInterface properties: country: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' postcode: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' region: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' region_id: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' city: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' street: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' name: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' pickup_location_code: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-filter-interface' error-parameters-item: type: object description: Error parameters item properties: resources: type: string description: ACL resource fieldName: type: string description: Missing or invalid field name fieldValue: type: string description: Incorrect field value inventory-in-store-pickup-api-data-search-result-interface: type: object description: Search results for providing pickup locations. properties: items: type: array description: Items list. items: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-pickup-location-interface' search_request: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-interface' total_count: type: integer description: Total count. required: - items - search_request - total_count error-errors: type: array description: Errors list items: $ref: '#/components/schemas/error-errors-item' inventory-in-store-pickup-api-data-pickup-location-interface: type: object description: Represents sources projection on In-Store Pickup context. Realisation must follow immutable DTO concept. Partial immutability done according to restriction of current Extension Attributes implementation. properties: pickup_location_code: type: string description: Source code of Pickup Location. name: type: string description: Pickup Location name. email: type: string description: Pickup Location contact email. fax: type: string description: Fax contact info. contact_name: type: string description: Pickup Location contact name. description: type: string description: Pickup Location description. latitude: type: number description: Pickup Location latitude. longitude: type: number description: Pickup Location longitude. country_id: type: string description: Pickup Location country ID. region_id: type: integer description: Pickup Location region ID. region: type: string description: Pickup Location region. city: type: string description: Pickup Location city. street: type: string description: Pickup Location street. postcode: type: string description: Pickup Location postcode. phone: type: string description: Pickup Location phone. extension_attributes: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-pickup-location-extension-interface' required: - pickup_location_code inventory-in-store-pickup-api-data-search-request-extension-interface: type: object description: ExtensionInterface class for @see \Magento\InventoryInStorePickupApi\Api\Data\SearchRequestInterface properties: products_info: type: array items: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-product-info-interface' inventory-in-store-pickup-api-data-search-request-filter-interface: type: object description: Filter for Pickup Location search. properties: value: type: string description: Value. condition_type: type: string description: Condition Type. required: - value - condition_type inventory-in-store-pickup-api-data-search-request-product-info-interface: type: object description: Product Info Data Transfer Object. properties: sku: type: string description: Product SKU. extension_attributes: $ref: '#/components/schemas/inventory-in-store-pickup-api-data-search-request-product-info-extension-interface' required: - sku error-response: type: object properties: message: type: string description: Error message errors: $ref: '#/components/schemas/error-errors' code: type: integer description: Error code parameters: $ref: '#/components/schemas/error-parameters' trace: type: string description: Stack trace required: - message inventory-in-store-pickup-api-data-pickup-location-extension-interface: type: object description: ExtensionInterface class for @see \Magento\InventoryInStorePickupApi\Api\Data\PickupLocationInterface error-parameters: type: array description: Error parameters list items: $ref: '#/components/schemas/error-parameters-item' securitySchemes: api_key: type: apiKey name: api_key in: header description: Magento integration/customer bearer token supplied in the Authorization header (Bearer ).