openapi: 3.1.0 info: version: 25.1126.6886238 x-version-timestamp: 2025-11-26 19:10:23+00:00 title: Addresses Introduction Account Addresses Product File Relationships API description: 'The Addresses API allows you to organize account addresses. Addresses are a sub-resource of `account` resources, an account can have multiple addresses, such as home, work, and neighbour. You can use an account address with either [client_credentials access token](/docs/api/authentication/create-an-access-token) or a combination of [implicit access token](/docs/api/authentication/create-an-access-token) and [Account Management authentication](/docs/api/accounts/post-v-2-account-members-tokens) token. ' contact: name: Elastic Path url: https://www.elasticpath.com email: support@elasticpath.com license: url: https://elasticpath.dev name: MIT servers: - url: https://useast.api.elasticpath.com description: US East - url: https://euwest.api.elasticpath.com description: EU West security: - BearerToken: [] tags: - name: Product File Relationships description: 'Products are the items or services that you might want to sell in your store. In Product Experience Manager, products can also have associated rich media assets, such as product images or a file containing additional product details. You can do this using [Files API](/docs/api/pxm/files). Once you have created your files, you associate files with your products using the [Create Product-File Relationships API](/docs/api/pxm/products/create-product-file-relationships). ' paths: /pcm/products/{productID}/relationships/files: get: summary: Get all product file relationships description: Retrieves all files that are associated with the specified product. operationId: getProductFileRelationships tags: - Product File Relationships parameters: - $ref: '#/components/parameters/product_id' responses: '200': description: Returns all product file relationships. content: application/json: schema: $ref: '#/components/schemas/file_response' examples: product-file-relationships: $ref: '#/components/examples/file_relationship_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/write_conflict' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' post: summary: Create a product file relationship operationId: createProductFileRelationships tags: - Product File Relationships parameters: - $ref: '#/components/parameters/product_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/product_files_request' examples: create-product-file-relationship: $ref: '#/components/examples/file_relationship_request' responses: '204': description: No Content '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/write_conflict' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' put: summary: Replace a product file relationship operationId: updateProductFileRelationships tags: - Product File Relationships parameters: - $ref: '#/components/parameters/product_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/product_files_request' examples: replace-product-file-relationship: $ref: '#/components/examples/file_relationship_request' responses: '204': description: No Content '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/write_conflict' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' delete: summary: Delete a product file relationships operationId: deleteProductFileRelationships tags: - Product File Relationships parameters: - $ref: '#/components/parameters/product_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/product_files_request' examples: delete-product-file-relationships: $ref: '#/components/examples/file_relationship_request' responses: '204': description: No Content '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/write_conflict' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' components: responses: bad_request: description: Bad request. The request failed validation. content: application/json: schema: $ref: '#/components/schemas/error' examples: bad-request: value: errors: - title: Bad Request detail: Could not parse the supplied filter status: '400' write_conflict: description: Write conflict detected content: application/json: schema: $ref: '#/components/schemas/error' examples: internal-server-error: value: errors: - title: Conflict status: '409' detail: write conflict detected not_found: description: Bad Request. Not Found. content: application/json: schema: $ref: '#/components/schemas/error' examples: internal-server-error: value: errors: - title: Not Found status: '404' unprocessable_entity: description: Bad request. The request failed validation. content: application/json: schema: $ref: '#/components/schemas/error' examples: failed-validation: value: errors: - title: Failed Validation status: '422' detail: can not be empty forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error' examples: internal-server-error: value: errors: - title: Forbidden status: '403' detail: entity owned by organization internal: description: Internal server error. There was a system failure in the platform. content: application/json: schema: $ref: '#/components/schemas/error' examples: internal-server-error: value: errors: - status: '500' title: Internal Server Error detail: There was an internal server error, you can report with your request id. request_id: 635da56d-75a1-43cd-b696-7ab119756b3a schemas: file_response: type: object properties: data: type: array items: type: object properties: id: type: string description: The unique identifier of the file. type: type: string description: This represents the type of resource object being returned. Always `file`. enum: - file meta: type: object properties: created_at: type: string description: The date and time the file relationship was created. format: date-time nullable: true tags: type: array description: The file tags. items: type: string error: required: - errors properties: errors: type: array items: required: - status - title properties: status: type: string description: The HTTP response code of the error. example: '500' title: type: string description: A brief summary of the error. example: Internal server error detail: type: string description: Optional additional detail about the error. example: An internal error has occurred. request_id: type: string description: Internal request ID. example: 00000000-0000-0000-0000-000000000000 meta: type: object description: Additional supporting meta data for the error. example: missing_ids: - e7d50bd5-1833-43c0-9848-f9d325b08be8 product_files_request: type: object properties: data: type: array items: type: object properties: id: description: A unique identifier for a file generated when a file is created. type: string type: description: This represents the type of resource being returned. Always `file`. type: string enum: - file meta: type: object properties: tags: description: The files associated with a product. type: array items: type: string additionalProperties: false examples: file_relationship_response: value: data: - id: 43903bfa-5352-4a3d-9496-c9ab1229a175 type: file - id: 50f56ce9-9381-43f6-8a52-5369a8b42e52 type: file file_relationship_request: value: data: - id: 43903bfa-5352-4a3d-9496-c9ab1229a175 type: file - id: 50f56ce9-9381-43f6-8a52-5369a8b42e52 type: file parameters: product_id: name: productID in: path schema: type: string example: 00000000-0000-0000-0000-000000000000 x-postman-example: '{{productID}}' required: true description: A unique identifier for the product. securitySchemes: BearerToken: type: http scheme: bearer