openapi: 3.0.1 info: title: Cost Center description: |- The Intershop Cost Center REST API version 2.0 provides a resource for reading paginated cost center lists and also allows searching for cost centers. For pagination, it is necessary to return additional information, such as the number of returned results and the total number of results. To support this, the cost center list endpoint uses a different response structure than other cost center endpoints. The data is encapsulated within a `data` block, and additional information is returned in a new `info` block. Furthermore, messages, such as error messages, can be returned in a `messages` block. The version 1.0 API continues to provide resources for creating, reading, updating, and deleting cost center items. #### API Versioning & Accept-Header Media-type-based versioning is used to distinguish between different API versions. For requests to the _Cost Center REST API v2_, the REST client must set the following HTTP ```Accept``` header: ```Accept: application/vnd.intershop.costcenter.v2+json``` ## Changelog - - - ### Version 2.0.0 * Added support for a paginated cost center list through the `limit` and `offset` query parameters of `CostCenterListResource`. The paging parameters `limit` and `offset` are validated, and, if necessary, adjusted according to configured min/max limits. * Added support for searching cost centers using the `costCenterId` and `name` query parameters of `CostCenterListResource`. * Added support for searching cost centers using the `nameOrId` query parameter of `CostCenterListResource`. * Updated the response body of `CostCenterListResource` to include `data`, `info`, and `messages` blocks. contact: name: Intershop Communications AG url: http://intershop.com version: 2.0.0 servers: - url: "/INTERSHOP/rest/{serverGroup}/{siteName}/{appUrl}" description: Intershop ICM Server variables: serverGroup: description: The server group enum: - BOS - JOB - WFS default: WFS siteName: description: The site name default: inSPIRED-inTRONICS-Site appUrl: description: The application URL identifier enum: - rest default: rest paths: /customers/{CustomerKey}/costcenters: get: tags: - Cost Center summary: Returns paginated list of cost centers description: This operation returns a list of links to cost centers of the customer as well as some of their properties. operationId: getCostCenters_V2 parameters: - name: offset in: query description: "An offset for a specific set of results. Allows to offset the\ \ result list by the specified number of items. \nCan be combined\ \ with `limit`. Must be equal to or greater than 0." schema: type: integer description: "An offset for a specific set of results. Allows to offset\ \ the result list by the specified number of items. \nCan be combined\ \ with `limit`. Must be equal to or greater than 0." format: int32 example: 2 example: "2" - name: limit in: query description: "Number of items to be returned in a request, if necessary, adjusted\ \ according to configured min/max limits.\nMust be greater than 0. The default\ \ limit is defined by the configurable property `rest.pagination.resources.costcenter_v2_costcenters.defaultLimit`,\ \ and the max limit by `rest.pagination.resources.costcenter_v2_costcenters.maxLimit`.\ \ \nIf not set, the system falls back to `rest.pagination.system.defaultLimit`\ \ and `rest.pagination.system.maxLimit`. If none of these are configured,\ \ a default limit of 20 and a max limit of 200 apply. Requesting more items\ \ than the defined max limit is not possible." schema: type: integer description: "Number of items to be returned in a request, if necessary,\ \ adjusted according to configured min/max limits.\nMust be greater than\ \ 0. The default limit is defined by the configurable property `rest.pagination.resources.costcenter_v2_costcenters.defaultLimit`,\ \ and the max limit by `rest.pagination.resources.costcenter_v2_costcenters.maxLimit`.\ \ \nIf not set, the system falls back to `rest.pagination.system.defaultLimit`\ \ and `rest.pagination.system.maxLimit`. If none of these are configured,\ \ a default limit of 20 and a max limit of 200 apply. Requesting more\ \ items than the defined max limit is not possible." format: int32 example: 20 example: "20" - name: costCenterId in: query description: |- Filters cost centers by the specified string matching the cost center ID. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). schema: type: string description: |- Filters cost centers by the specified string matching the cost center ID. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). example: "100000" example: "100000" - name: name in: query description: |- Filters cost centers by the specified string matching the cost center name. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). schema: type: string description: |- Filters cost centers by the specified string matching the cost center name. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). example: Packing example: Packing - name: nameOrId in: query description: |- Filters cost centers by matching the specified string against both the name and the cost center ID. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). schema: type: string description: |- Filters cost centers by matching the specified string against both the name and the cost center ID. The following wildcards can be used: - `?` - Placeholder for exactly one character. - `*` - Placeholder for multiple characters (any string). Restrictions: - Wildcards cannot be used on their own and must be combined with other characters. - The search string must not start with a wildcard (e.g., allowed: `AB*`, not allowed: `?23`). example: Subsidiary example: Subsidiary - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.customer.CustomerListResource responses: "200": description: OK - The paginated list of cost centers. content: application/vnd.intershop.costcenter.v2+json: schema: $ref: "#/components/schemas/LinkROListResponse_v1" "401": description: Unauthorized - The user could not be authenticated. "403": description: Forbidden - The user is not allowed to access this resource. "404": description: Not found - The customer could not be found. security: - bearerAuth: [] x-origin-method: "public jakarta.ws.rs.core.Response com.intershop.sellside.rest.b2b.costcenter.v2.capi.resource.CostCenterListResource.getCostCenters_V2(java.lang.Integer,java.lang.Integer,java.lang.String,java.lang.String,java.lang.String)" x-origin-class: com.intershop.sellside.rest.b2b.costcenter.v2.capi.resource.CostCenterListResource x-AuthorizationRule: "[(hasPermission[Organization:APP_B2B_MANAGE_COSTCENTER]\ \ AND isMemberOfCustomer), isMemberOfCustomer]" components: schemas: FeedbackCauseRO_v1: title: FeedbackCauseRO_v1 required: - code - message type: object properties: code: type: string description: A unique identifier for this particular occurrence of the problem (may be used for localization on client-side) example: product.name.required.error message: type: string description: A human readable message in the request's locale example: The product name must be specified. parameters: type: array description: A map of several parameters that are used to assemble the message items: type: object additionalProperties: type: object paths: type: array description: "A collection of JSON paths to the associated entities. Unless\ \ otherwise specified, this always refers to the request entity." example: - "\"$.name (position: 1)\"" externalDocs: url: https://github.com/json-path/JsonPath items: type: string description: A representation for the common feedback information FeedbackRO_v1: title: FeedbackRO_v1 required: - code - message type: object properties: causes: type: array description: A collection of errors/warnings/infos that caused the feedback items: $ref: "#/components/schemas/FeedbackCauseRO_v1" code: type: string description: A unique identifier for this particular occurrence of the problem (may be used for localization on client-side) example: product.name.required.error message: type: string description: A human readable message in the request's locale example: The product name must be specified. parameters: type: array description: A map of several parameters that are used to assemble the message items: type: object additionalProperties: type: object paths: type: array description: "A collection of JSON paths to the associated entities. Unless\ \ otherwise specified, this always refers to the request entity." example: - "\"$.name (position: 1)\"" externalDocs: url: https://github.com/json-path/JsonPath items: type: string level: type: string description: The level of the feedback example: ERROR enum: - INFO - WARN - ERROR status: type: string description: The HTTP status code that is applicable to this problem example: "422" description: An error or piece of information related to the current request readOnly: true LinkRO: title: Link type: object properties: name: type: string description: The name of the returned element xml: attribute: true type: type: string description: "This is a constant: **Link**" readOnly: true example: Link xml: attribute: true attributes: type: array description: The list of attributes xml: wrapped: true items: $ref: "#/components/schemas/ResourceAttribute" uri: type: string description: The URI relation: type: string description: The relation of the link externalDocs: description: Link Relations (www.iana.org) url: http://www.iana.org/assignments/link-relations/link-relations.xml enum: - about - alternate - appendix - archives - author - bookmark - canonical - chapter - collection - contents - copyright - create-form - current - describedby - describes - disclosure - duplicate - edit - edit-form - edit-media - enclosure - first - glossary - help - hosts - hub - icon - index - item - last - latest-version - license - lrdd - monitor - monitor-group - next - next-archive - nofollow - noreferrer - payment - predecessor-version - prefetch - prev - preview - previous - prev-archive - privacy-policy - profile - related - replies - search - section - self - service - start - stylesheet - subsection - successor-version - tag - terms-of-service - type - up - version-history - via - working-copy - working-copy-of title: type: string description: The title of the link description: type: string description: The description of the link itemId: type: string description: The ID of the linked item attribute: $ref: "#/components/schemas/ResourceAttribute" description: A Link pointing to a resource xml: name: Link LinkROListResponse_v1: type: object properties: data: type: array description: The core data of the response object items: $ref: "#/components/schemas/LinkRO" info: $ref: "#/components/schemas/ListInfoRO_v1" messages: type: array readOnly: true items: $ref: "#/components/schemas/FeedbackRO_v1" ListInfoRO_v1: title: ListInfoRO_v1 type: object properties: hasMoreElements: type: boolean description: Flag that expresses if there are more entries available readOnly: true example: true limit: type: integer description: The limit of list entries to be shown format: int32 readOnly: true example: 20 offset: type: integer description: Excludes the first N items from the list format: int32 readOnly: true example: 10 total: type: integer description: The total amount of entries in the list format: int32 readOnly: true example: 30 description: The optional information about the response object. All values are also optional. readOnly: true ResourceAttribute: title: Attribute type: object properties: name: type: string description: The attribute's name xml: attribute: true type: type: string description: "This is a constant: **ResourceAttribute**" example: ResourceAttribute xml: attribute: true value: type: object description: The attribute's value. description: An attribute xml: name: ResourceAttribute responses: "200": description: OK "201": description: Created "202": description: Accepted "204": description: No Content "205": description: Reset Content "206": description: Partial Content "300": description: Multiple Choices "301": description: Moved Permanently "302": description: Found "303": description: See Other "304": description: Not Modified "305": description: Use Proxy "307": description: Temporary Redirect "308": description: Permanent Redirect "400": description: Bad Request "401": description: Unauthorized "402": description: Payment Required "403": description: Forbidden "404": description: Not Found "405": description: Method Not Allowed "406": description: Not Acceptable "407": description: Proxy Authentication Required "408": description: Request Timeout "409": description: Conflict "410": description: Gone "411": description: Length Required "412": description: Precondition Failed "413": description: Request Entity Too Large "414": description: Request-URI Too Long "415": description: Unsupported Media Type "416": description: Requested Range Not Satisfiable "417": description: Expectation Failed "428": description: Precondition Required "429": description: Too Many Requests "431": description: Request Header Fields Too Large "451": description: Unavailable For Legal Reasons "500": description: Internal Server Error "501": description: Not Implemented "502": description: Bad Gateway "503": description: Service Unavailable "504": description: Gateway Timeout "505": description: HTTP Version Not Supported "511": description: Network Authentication Required parameters: loc: name: loc in: path description: "The locale ID (submitted as optional matrix parameter ```;loc=```).\ \ If omitted, the priority is as follows (from high to low): Locale ID parameter,\ \ user's default locale, site's default locale. The available locales depend\ \ on your individual Intershop Commerce Management installation. Use IANA\ \ language definitions for languages and regions and combine them using an\ \ underscore, e.g., ```en_US```." required: false style: matrix schema: type: string description: "The locale ID (submitted as optional matrix parameter ```;loc=```).\ \ If omitted, the priority is as follows (from high to low): Locale ID parameter,\ \ user's default locale, site's default locale. The available locales depend\ \ on your individual Intershop Commerce Management installation. Use IANA\ \ language definitions for languages and regions and combine them using\ \ an underscore, e.g., ```en_US```." default: en_US examples: en_US: description: English (United States) value: en_US fr_FR: description: French (France) value: fr_FR de_DE: description: German (Germany) value: de_DE x-matrixParamPath: / cur: name: cur in: path description: "The currency code (submitted as optional matrix parameter ```;cur=```).\ \ If omitted, the site's or user's default currency is used." required: false style: matrix schema: type: string description: "The currency code (submitted as optional matrix parameter ```;cur=```).\ \ If omitted, the site's or user's default currency is used." default: USD examples: FJD: description: Fiji Dollar value: FJD MXN: description: Mexican Peso value: MXN STD: description: São Tomé / Príncipe Dobra value: STD LVL: description: Latvian Lats value: LVL SCR: description: Seychelles Rupee value: SCR CDF: description: Congolese Franc value: CDF BBD: description: Barbados Dollar value: BBD GTQ: description: Guatemalan Quetzal value: GTQ CLP: description: Chilean Peso value: CLP HNL: description: Honduran Lempira value: HNL UGX: description: Ugandan Shilling value: UGX ZAR: description: South African Rand value: ZAR TND: description: Tunisian Dinar value: TND BSD: description: Bahamian Dollar value: BSD SLL: description: Sierra Leonean Leone value: SLL SDG: description: Sudanese Pound value: SDG IQD: description: Iraqi Dinar value: IQD CUP: description: Cuban Peso value: CUP GMD: description: Gambian Dalasi value: GMD TWD: description: New Taiwan Dollar value: TWD RSD: description: Serbian Dinar value: RSD ZRZ: description: Zaire value: ZRZ DOP: description: Dominican Peso value: DOP KMF: description: Comoro Franc value: KMF MYR: description: Malaysian Ringgit value: MYR FKP: description: Falkland Islands Pound value: FKP XOF: description: CFA Franc BCEAO value: XOF GEL: description: Lari value: GEL UYU: description: Uruguayan Peso value: UYU MAD: description: Moroccan Dirham value: MAD CVE: description: Cape Verde Escudo value: CVE TOP: description: Tongan Pa'anga value: TOP AZN: description: Azerbaijanian Manat value: AZN OMR: description: Omani Rial value: OMR PGK: description: Papua New Guinean Kina value: PGK KES: description: Kenyan Shilling value: KES SEK: description: Swedish Krona value: SEK BTN: description: Ngultrum value: BTN UAH: description: Ukrainian Hryvnia value: UAH GNF: description: Guinea Franc value: GNF ERN: description: Nakfa value: ERN MZN: description: Mozambican Metical value: MZN SVC: description: Salvadoran Colón value: SVC ARS: description: Argentine Peso value: ARS QAR: description: Qatari Riyal value: QAR IRR: description: Iranian Rial value: IRR NLG: description: Dutch Guilder value: NLG MRO: description: Mauritanian Ouguiya value: MRO CNY: description: Yuan Renminbi value: CNY THB: description: Thai Baht value: THB UZS: description: Uzbekistani Som value: UZS XPF: description: CFP Franc value: XPF BDT: description: Bangladeshi Taka value: BDT LYD: description: Libyan Dinar value: LYD BMD: description: Bermudian Dollar value: BMD KWD: description: Kuwaiti Dinar value: KWD PHP: description: Philippine Peso value: PHP RUB: description: Russian Ruble value: RUB PYG: description: Paraguayan Guarani value: PYG ISK: description: Iceland Krona value: ISK JMD: description: Jamaican Dollar value: JMD GWP: description: Guinea Peso value: GWP BEF: description: Belgian Franc value: BEF ESP: description: Spanish Peseta value: ESP COP: description: Colombian Peso value: COP MKD: description: Denar value: MKD USD: description: US Dollar value: USD DZD: description: Algerian Dinar value: DZD PAB: description: Panamanian Balboa value: PAB SGD: description: Singapore Dollar value: SGD ETB: description: Ethiopian Birr value: ETB KGS: description: Som value: KGS SOS: description: Somali Shilling value: SOS VEF: description: Venezuelan Bolivar Fuerte value: VEF VUV: description: Vanuatu Vatu value: VUV LAK: description: Lao Kip value: LAK BND: description: Brunei Dollar value: BND ZMK: description: Zambian Kwacha value: ZMK XAF: description: CFA Franc BEAC value: XAF LRD: description: Liberian Dollar value: LRD ATS: description: Austrian Schilling value: ATS CHF: description: Swiss Franc value: CHF HRK: description: Croatian Kuna value: HRK ITL: description: Italian Lira value: ITL ALL: description: Albanian Lek value: ALL DJF: description: Djibouti Franc value: DJF MTL: description: Maltese Lira value: MTL TZS: description: Tanzanian Shilling value: TZS VND: description: Vietnamese Dong value: VND AUD: description: Australian Dollar value: AUD ILS: description: New Israeli Sheqel value: ILS GHS: description: Ghanaian Cedi value: GHS GYD: description: Guyanese Dollar value: GYD KPW: description: North Korean Won value: KPW BOB: description: Boliviano value: BOB KHR: description: Cambodian Riel value: KHR MDL: description: Moldovan Leu value: MDL IDR: description: Indonesian Rupiah value: IDR KYD: description: Cayman Islands Dollar value: KYD AMD: description: Armenian Dram value: AMD BWP: description: Botswana Pula value: BWP SHP: description: Saint Helena Pound value: SHP TRY: description: Turkish Lira value: TRY CYP: description: Cyprus Pound value: CYP LBP: description: Lebanese Pound value: LBP TJS: description: Tajikistani Somoni value: TJS JOD: description: Jordanian Dinar value: JOD AED: description: United Arab Emirates Dirham value: AED HKD: description: Hong Kong Dollar value: HKD RWF: description: Rwanda Franc value: RWF EUR: description: Euro value: EUR LSL: description: Lesotho Loti value: LSL DKK: description: Danish Krone value: DKK CAD: description: Canadian Dollar value: CAD BGN: description: Bulgarian Lev value: BGN EEK: description: Estonian Kroon value: EEK MMK: description: Kyat value: MMK MUR: description: Mauritian Rupee value: MUR NOK: description: Norwegian Krone value: NOK SYP: description: Syrian Pound value: SYP ZWL: description: Zimbabwean Dollar value: ZWL GIP: description: Gibraltar Pound value: GIP RON: description: Romanian New Leu value: RON LKR: description: Sri Lankan Rupee value: LKR NGN: description: Nigerian Naira value: NGN CRC: description: Costa Rican Colon value: CRC CZK: description: Czech Koruna value: CZK IEP: description: Irish Pound value: IEP PKR: description: Pakistani Rupee value: PKR GRD: description: Greek Drachma value: GRD XCD: description: East Carribean Dollar value: XCD ANG: description: Netherlands Antillian Guilder value: ANG HTG: description: Haitian Gourde value: HTG BHD: description: Bahraini Dinar value: BHD SIT: description: Slovenian Tolar value: SIT PTE: description: Portuguese Escudo value: PTE BPP: description: Bonus Point Price value: BPP KZT: description: Kazakhstani Tenge value: KZT SRD: description: Surinam Dollar value: SRD SZL: description: Swazi Lilangeni value: SZL LTL: description: Lithuanian Litas value: LTL SAR: description: Saudi Riyal value: SAR TTD: description: Trinidad and Tobago Dollar value: TTD YER: description: Yemeni Rial value: YER MVR: description: Maldivian Rufiyaa value: MVR AFN: description: Afghani value: AFN BPV: description: Bonus Point Value value: BPV INR: description: Indian Rupee value: INR AWG: description: Aruban Florin value: AWG KRW: description: South Korean Won value: KRW NPR: description: Nepalese Rupee value: NPR JPY: description: Japanese Yen value: JPY MNT: description: Mongolian Tugrik value: MNT AOA: description: Angolan Kwanza value: AOA PLN: description: Polish Złoty value: PLN GBP: description: Pound Sterling value: GBP SBD: description: Solomon Islands Dollar value: SBD HUF: description: Hungarian Forint value: HUF BYR: description: Belarussian Ruble value: BYR LUF: description: Luxembourgian Franc value: LUF BIF: description: Burundi Franc value: BIF MWK: description: Malawian Kwacha value: MWK MGA: description: Malagasy Ariary value: MGA FIM: description: Finnish Mark value: FIM BZD: description: Belize Dollar value: BZD DEM: description: Deutsche Mark value: DEM BAM: description: Convertible Marks value: BAM EGP: description: Egyptian Pound value: EGP MOP: description: Macanese Pataca value: MOP NAD: description: Namibian Dollar value: NAD SKK: description: Slovakian Krona value: SKK NIO: description: Cordoba Oro value: NIO PEN: description: Peruvian Nuevo Sol value: PEN NZD: description: New Zealand Dollar value: NZD WST: description: Samoan Tala value: WST TMT: description: Turkmenistani Manat value: TMT FRF: description: French Franc value: FRF BRL: description: Brazilian Real value: BRL x-matrixParamPath: / regionals: name: regionals in: path required: false style: matrix schema: type: object properties: loc: type: string description: The locale ID example: en_US cur: type: string description: The currency code example: EUR x-matrixParamPath: / pgid: name: pgid in: path description: "The personalization group identifier, submitted as matrix parameter\ \ ```;pgid=```. Required if you want to work with customer-specific\ \ content." required: false style: matrix schema: type: string description: "The personalization group identifier, submitted as matrix parameter\ \ ```;pgid=```. Required if you want to work with customer-specific\ \ content." example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 spgid: name: spgid in: path description: "The secure personalization group identifier, submitted as matrix\ \ parameter ```;spgid=```. Required if you want to work with customer-specific\ \ content." required: false style: matrix schema: type: string description: "The secure personalization group identifier, submitted as matrix\ \ parameter ```;spgid=```. Required if you want to work with customer-specific\ \ content." example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 securitySchemes: bearerAuth: type: http description: "Bearer token authentication. A request contains a header field\ \ in the form of authorization: ```Bearer ```, where is a string\ \ generated by an authentication service in response to a login request." scheme: bearer bearerFormat: JWT basicAuth: type: http description: "Basic access authentication. In basic authentication, a request\ \ contains a header field in the form of authorization: ```Basic ```,\ \ where credentials is the Base64 encoding of ID and password joined by a\ \ single colon :." scheme: basic authToken: type: apiKey description: User authentication token to authenticate the request. The token is a string generated by the ICM server in the same header in every response of an REST endpoint. name: authentication-token in: header x-apiID: costcenter_v2 x-origin-class: "com.intershop.component.rest.capi.resource.RootResource,com.intershop.sellside.rest.b2b.costcenter.capi.resource.CostCenterListResource" x-apiMediaType: application/vnd.intershop.costcenter.v2+json x-strict-apiMediaType: "true"