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 Jobs 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: Jobs description: 'Jobs manage the indexing operations for catalog search. When catalogs are published or when reindexing is required, jobs process the product data and build search indexes. ### Job Types | Type | Description | |---------------------------|-----------------------------------------------------------------------------------------------------| | `index-release` | Index a specific catalog release. Created automatically when a search-enabled catalog is published. | | `delete-release` | Remove the search index for a catalog release. | | `reindex-tenant-releases` | Reindex all catalog releases for the store. Use when indexable fields have changed. | ### Job Lifecycle Jobs progress through the following states: 1. **pending**: Job has been created and is waiting to be processed 2. **processing**: Job is actively indexing products 3. **complete**: Job finished successfully 4. **failed**: Job encountered an error ### Automatic Indexing When you publish a catalog with search enabled, an `index-release` job is automatically created. The catalog release remains in a publishing state until the indexing job completes successfully. ### Manual Reindexing Use the reindex endpoint when: - You''ve added, modified, or deleted indexable fields - Search indexes are out of sync (check via [Search Indexes](/docs/api/pxm/catalog-search/search-indexes)) - You need to rebuild indexes after a failure The reindex operation creates jobs for all catalog releases that need updating. You can optionally force a full reindex of all releases regardless of their sync status. ### Conflict Handling Only one reindexing operation can run at a time. If you attempt to start a reindex while another is in progress, the API returns a 409 Conflict error. ' paths: /pcm/catalogs/reindex-releases: post: tags: - Jobs operationId: ReindexTenantReleases summary: Reindex all releases for tenant description: Create a new job to reindex all releases for the tenant. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReindexTenantReleasesJobRequest' responses: '200': description: Reindex tenant releases request successful content: application/json: schema: $ref: '#/components/schemas/Job' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '409': description: Conflict - another reindexing job already queued or in progress content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': $ref: '#/components/responses/InternalServerError' /v2/jobs: get: tags: - Jobs summary: Get All Jobs description: You can use this endpoint to display the status of your jobs. operationId: getMultipleJobs responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Job_2' examples: default: value: data: - id: 974c9db4-38da-4dbf-90c2-33eed5f3e77c type: job job_type: order_export status: failed error: No results matched the supplied filter link: href: '' links: self: https://useast.api.elasticpath.com/v2/jobs/974c9db4-38da-4dbf-90c2-33eed5f3e77c timestamps: created_at: '2018-10-04T11:08:49.156490335Z' updated_at: '2018-10-04T11:08:49.162867081Z' '500': $ref: '#/components/responses/InternalServerError_2' post: tags: - Jobs summary: Create Job description: Create a Job to export orders to a CSV file. Jobs automatically expire one week after creation. You must fetch the exported data before the jobs expire. operationId: createJob requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/CreateJob' - examples: - data: description: Extends the default product object enabled: true name: Products slug: products type: flow contentMediaType: application/json examples: default: value: data: filter: gt(created_at,2018-09-01):lt(created_at,2018-10-01):eq(payment,refunded) job_type: order_export type: job required: true responses: '202': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Job_2' examples: default: value: data: - id: 974c9db4-38da-4dbf-90c2-33eed5f3e77c type: job job_type: order_export status: failed error: No results matched the supplied filter link: href: '' links: self: https://useast.api.elasticpath.com/v2/jobs/974c9db4-38da-4dbf-90c2-33eed5f3e77c timestamps: created_at: '2018-10-04T11:08:49.156490335Z' updated_at: '2018-10-04T11:08:49.162867081Z' '500': $ref: '#/components/responses/InternalServerError_2' /v2/jobs/{jobID}: get: tags: - Jobs summary: Get a Job description: Retrieves the specified job. operationId: getAJob parameters: - name: jobID description: The unique identifier of the requested job. in: path required: true style: simple schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/Job_2' examples: default: value: data: id: 974c9db4-38da-4dbf-90c2-33eed5f3e77c type: job job_type: order_export status: failed error: No results matched the supplied filter link: href: '' links: self: https://useast.api.elasticpath.com/v2/jobs/974c9db4-38da-4dbf-90c2-33eed5f3e77c timestamps: created_at: '2018-10-04T11:08:49.156490335Z' updated_at: '2018-10-04T11:08:49.162867081Z' '404': $ref: '#/components/responses/NotFoundError' '500': $ref: '#/components/responses/InternalServerError_2' /v2/jobs/{jobID}/file: get: tags: - Jobs summary: Get a Job File description: Retrieves a link to the CSV file that contains your exported order. operationId: getAJobFile parameters: - name: jobID description: The unique identifier of the job whose CSC file you want to retrieve. in: path required: true style: simple schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/FileLink' '404': $ref: '#/components/responses/NotFoundError' '500': $ref: '#/components/responses/InternalServerError_2' /pcm/jobs: get: summary: Get All Jobs description: The jobs endpoints displays the status of a number of endpoints that function as jobs, for example, product import and export, price book import, building child products, and duplicating hierarchies. operationId: getAllJobs tags: - Jobs responses: '200': description: Returns all the jobs. content: application/json: schema: $ref: '#/components/schemas/multi' examples: completed: summary: Get all jobs $ref: '#/components/examples/multi' '400': $ref: '#/components/responses/bad_request' '404': $ref: '#/components/responses/not_found' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' /pcm/jobs/{jobID}: get: summary: Get a Job operationId: getJob tags: - Jobs parameters: - $ref: '#/components/parameters/job_id' responses: '200': description: Returns a job with the following attributes. content: application/json: schema: $ref: '#/components/schemas/single' examples: started: summary: Started Job $ref: '#/components/examples/started' successful: summary: Product Import Job $ref: '#/components/examples/successful' product-export: summary: Product Export Job $ref: '#/components/examples/product-export' hierarchy-duplicate: summary: Hierarchy Duplicate Job $ref: '#/components/examples/hierarchy-duplicate' build-child-products: summary: Build Child Products Job $ref: '#/components/examples/build-child-products' '400': $ref: '#/components/responses/bad_request' '404': $ref: '#/components/responses/not_found' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' /pcm/jobs/{jobID}/cancel: post: summary: Cancel a Job description: 'The jobs endpoints display the status of a number of endpoints that function as jobs, for example, product import and export, and duplicating hierarchies. Jobs are processed one at a time. You can continue to send job requests, but those jobs are queued. In other words, Commerce looks for any jobs that have a status of PENDING and starts the job with the earliest created date. If you decide that a specific job needs to be prioritized over another, you can cancel the less critical job using the `Cancel a job` endpoint. You can only cancel jobs whose status is PENDING. ' operationId: cancelJob tags: - Jobs requestBody: content: application/json: schema: type: object parameters: - $ref: '#/components/parameters/job_id' responses: '200': description: Successfully cancelled job content: application/json: schema: $ref: '#/components/schemas/single' examples: cancelled: summary: Cancelled Job $ref: '#/components/examples/cancelled' '400': $ref: '#/components/responses/bad_request' '404': $ref: '#/components/responses/not_found' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' /pcm/jobs/{jobID}/errors: get: summary: Get Job Errors operationId: getJobErrors tags: - Jobs parameters: - $ref: '#/components/parameters/job_id' responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/errors' examples: errors: summary: Errors Returned $ref: '#/components/examples/errors' '400': $ref: '#/components/responses/bad_request' '404': $ref: '#/components/responses/not_found' '422': $ref: '#/components/responses/unprocessable_entity' '500': $ref: '#/components/responses/internal' /v2/subscriptions/jobs: parameters: - $ref: '#/components/parameters/Filter' post: tags: - Jobs summary: Create a job operationId: CreateJob requestBody: content: application/json: schema: type: object title: JobCreateJSON required: - data properties: data: $ref: '#/components/schemas/JobCreate' responses: '201': description: Success. The job was created. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/Job_3' '400': $ref: '#/components/responses/ValidationError' '409': $ref: '#/components/responses/WriteConflictError' '500': $ref: '#/components/responses/InternalServerError' get: tags: - Jobs summary: List jobs description: "Retrieves a list of all jobs.\n\n### Filtering\n\nThis endpoint supports filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering).\n\nThe following attributes and operators are supported.\n\n| Operator | Attribute | Description |\n| --- | --- | --- | \n| `eq` | `external_ref` | Equals. Checks if the values of two operands are equal. If they are, the condition is true. |\n| `in` | `external_ref` | In. Checks if the value is in the specified list. If it is, the condition is true. |\n" parameters: - $ref: '#/components/parameters/PageOffset' - $ref: '#/components/parameters/PageLimit' operationId: ListJobs responses: '200': description: Success. A list of jobs is returned. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Job_3' links: $ref: '#/components/schemas/Links_2' '500': $ref: '#/components/responses/InternalServerError' /v2/subscriptions/jobs/{job_uuid}: parameters: - name: job_uuid in: path description: The unique identifier of the job. required: true schema: $ref: '#/components/schemas/UUID_2' get: tags: - Jobs summary: Get job operationId: GetJob responses: '200': description: Success. The job is returned. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/Job_3' '400': $ref: '#/components/responses/ValidationError' '404': $ref: '#/components/responses/NotFoundError_2' '500': $ref: '#/components/responses/InternalServerError' delete: tags: - Jobs summary: Delete job operationId: DeleteJob responses: '204': description: Success. The job was deleted. '409': $ref: '#/components/responses/WriteConflictError' components: responses: NotFoundError: description: Forbidden. The operation is forbidden on this entity. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: title: Resource Not Found status: 404 detail: The resource you are requesting does not exist WriteConflictError: description: Write conflict. Unable to perform the operation at this time. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: errors: - title: Write Conflict status: '409' NotFoundError_2: description: Not found. The requested entity does not exist. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: not-found: value: errors: - title: Not Found status: '404' detail: No plan found 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 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 ValidationError: description: Bad request. The request failed validation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: missing-name: value: errors: - title: Validation Error status: '400' detail: 'data.attributes.name: "name" is required' InternalServerError: description: Internal server error. There was a system failure in the platform. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: internal-server-error: value: errors: - title: Internal Server Error status: '500' InternalServerError_2: description: Internal server error. There was a system failure in the platform. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 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 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' 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' schemas: Timestamps: type: object description: The date and time a job is created/updated. properties: created_at: description: The date and time a job is created. type: string example: '2018-10-04T11:08:49.156490335Z' updated_at: description: The date and time a job is updated. type: string example: '2018-10-04T11:08:49.162867081Z' SubscriptionJobType: type: string example: subscription_job enum: - subscription_job Link: anyOf: - $ref: '#/components/schemas/LinkURI' - $ref: '#/components/schemas/LinkObject' JobCreate: required: - type - attributes properties: type: $ref: '#/components/schemas/SubscriptionJobType' attributes: $ref: '#/components/schemas/JobCreateAttributes' InvoiceTaxItems: required: - invoice_id - tax_items properties: invoice_id: $ref: '#/components/schemas/UUID_2' tax_items: type: array items: $ref: '#/components/schemas/TaxItem' Relationship: anyOf: - $ref: '#/components/schemas/SingleRelationship' - $ref: '#/components/schemas/ManyRelationship' ImportJobAttributes: required: - job_type properties: job_type: type: string example: import JobAttributes: type: object required: - status - type properties: status: description: The status of the job. type: string enum: - pending - processing - complete - failed example: pending catalog_id: description: The ID of the catalog. type: string format: uuid example: ac107ce9-96ac-4bd5-aa3d-59f40b91279b x-go-name: CatalogID catalog_release_id: description: The ID of the catalog release. type: string format: uuid example: c12c4e5b-f5e4-4bd0-ac86-9f1202fc27f9 x-go-name: CatalogReleaseID type: description: The type of the job. type: string enum: - index-release - delete-release - reindex-tenant-releases example: index-release default: index x-go-type: model.JobType x-go-type-import: name: model path: gitlab.elasticpath.com/commerce-cloud/ncl-projects/paragon/catalog-search.svc/internal/domain/model Job_2: properties: id: description: A unique ID generated when a job is created $ref: '#/components/schemas/UUID' type: description: This represents the type of object being returned. Always `job`. type: string example: job job_type: description: This represents the type of job. For example, `order_export`. type: string example: order_export status: description: 'The status of a job. - PENDING - Commerce has received the request but is currently busy processing other requests. - STARTED - Commerce has started processing the job. - SUCCESS - The job has successfully completed. - FAILED - The job has failed.' type: string example: failed error: description: A message describing the error that caused a job to fail. type: string example: No results matched the supplied filter timestamps: $ref: '#/components/schemas/Timestamps' links: $ref: '#/components/schemas/Links' link: $ref: '#/components/schemas/FileLink' JobResponseAttributes: allOf: - $ref: '#/components/schemas/JobCreateAttributes' - $ref: '#/components/schemas/JobAttributes_2' - $ref: '#/components/schemas/Timestamps_2' Relationships: description: Relationships are established between different subscription entities. For example, a plan and a pricing option are related to an offering, as both are attached to it. additionalProperties: $ref: '#/components/schemas/Relationship' example: pricing-options: links: related: /offerings/:offering-id/pricing-options self: /offerings/:offering-id data: type: offering-pricing-option id: 625fe958-7b4b-40a0-a2c0-dbb8f31eec0d BillingRunReport: required: - invoices_ready_for_payment - invoices_tax_required - invoice_failures - total_ready_for_payment - total_tax_required properties: invoices_ready_for_payment: description: The total number of invoices created that are ready for payment. type: integer example: 100 invoices_tax_required: description: The total number of invoices created that need taxes to be applied before payment can be made. type: integer example: 100 invoice_failures: description: The total number of invoices that were scheduled but creation failed. type: integer example: 0 total_ready_for_payment: allOf: - description: The total amount ready for payment invoiced in the billing run, segmented by currency. - $ref: '#/components/schemas/Price' total_tax_required: allOf: - description: The total amount (excluding tax) invoiced in the billing run but still requiring taxes, segmented by currency. - $ref: '#/components/schemas/Price' RelationshipLinks: description: "Links are used to allow you, as an API consumer, to move between requests. Single entities use a self parameter with a link to that specific resource. Sometimes, there aren’t enough entities for a project to fill multiple pages. In this situation, we return some defaults, instead of expecting you to check for these special cases. \n\n - current - Always the current page.\n - first - Always the first page.\n - last - always `null`.\n - next - `null` if the user is on the first page.\n - previous - `null` if there is only one page.\n" type: object properties: related: type: string example: foo.bar JobMeta_2: readOnly: true required: - owner - timestamps properties: owner: $ref: '#/components/schemas/OwnerMeta' timestamps: $ref: '#/components/schemas/JobTimestamps' report: $ref: '#/components/schemas/JobReport' multi_links: type: object description: 'Links allow you to navigate between pages of results. :::caution Planned pagination changes — on or after 1 September 2026 The pagination behaviour of PIM list endpoints (for example, `GET /pcm/products` and `GET /pcm/hierarchies`) currently differs from the rest of the Elastic Path Commerce Cloud platform. We plan to align PIM pagination with the platform standard on or after **1 September 2026**. Please review the details below and check that your integration code will handle the new behaviour correctly. ::: #### Current behaviour The current pagination link behaviour in PIM has the following known issues: - The `current` link is **not returned**. - The `first` and `last` links are **not always returned**. - The `prev` link is omitted on both the first **and** second pages. It should only be omitted on the first page. - The `next` link is omitted on both the last **and** second-to-last pages. It should only be omitted on the last page. #### Planned behaviour (on or after 1 September 2026) On or after 1 September 2026, PIM list endpoints will adopt the following pagination link behaviour, aligning with the rest of the platform: - `current` — always present, pointing to the current page. - `first` — always present. - `last` — present on all pages **except the final page**. Omitting `last` on the final page is intentional, to avoid triggering infinite‑loop bugs in integration code that uses the presence of `last` to detect whether more pages remain. - `next` — present on all pages except the last page. - `prev` — present on all pages except the first page. ' properties: current: description: 'A link to the current page of results. **Note:** this link is not currently returned by PIM endpoints. It will be introduced on or after 1 September 2026. ' type: string example: /pcm/hierarchies?page[offset]=10&page[limit]=10 first: description: 'A link to the first page of results. Currently this may not always be present. After the planned changes it will always be present. ' type: string example: /pcm/hierarchies?page[offset]=0&page[limit]=10 last: description: 'A link to the last page of results. Currently this may not always be present. After the planned changes it will be present on all pages except the final page (where it is intentionally omitted). ' type: string example: /pcm/hierarchies?page[offset]=20&page[limit]=10 next: description: 'A link to the next page of results. Should be absent on the last page. Currently this is incorrectly absent on the second-to-last page as well; this will be fixed on or after 1 September 2026. ' type: string example: /pcm/hierarchies?page[offset]=10&page[limit]=10 prev: description: 'A link to the previous page of results. Should be absent on the first page. Currently this is incorrectly absent on the second page as well; this will be fixed on or after 1 September 2026. ' type: string example: /pcm/hierarchies?page[offset]=8&page[limit]=10 Price: additionalProperties: type: object description: The base price. required: - amount properties: amount: type: integer format: int64 minimum: 0 example: 100 description: The value as a whole number of the currency's smallest subdivision. includes_tax: type: boolean example: true description: Indicates whether the amount includes any taxes. example: USD: amount: 100 includes_tax: false GBP: amount: 90 includes_tax: true JobAttributes_2: required: - status properties: external_ref: $ref: '#/components/schemas/ExternalRef' status: type: string description: The status of job. enum: - pending - started - success - failed example: pending x-go-type: model.JobStatus x-go-type-import: name: model path: gitlab.elasticpath.com/commerce-cloud/subscriptions.svc/internal/domain/model SubscriptionUpdateRunJobAttributes: required: - job_type - price_changes properties: job_type: type: string example: subscription-update offering_id: description: 'The ID of the offering whose subscriptions should be updated. Mutually exclusive with `subscription_ids`. ' type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid example: 11111111-2222-3333-4444-555555555555 excluded_subscription_ids: description: 'Subscriptions to exclude from the price update. Only valid when `offering_id` is provided. ' type: array items: $ref: '#/components/schemas/UUID_2' x-go-type-skip-optional-pointer: true subscription_ids: description: 'Specific subscriptions to update. Mutually exclusive with `offering_id`. ' type: array items: $ref: '#/components/schemas/UUID_2' x-go-type-skip-optional-pointer: true price_changes: $ref: '#/components/schemas/SubscriptionPriceChanges' TaxRunJobAttributes: required: - job_type properties: job_type: type: string example: tax-run taxes: type: array minItems: 1 items: $ref: '#/components/schemas/InvoiceTaxItems' SubscriptionPriceChanges: properties: plan_prices: x-go-type-skip-optional-pointer: true additionalProperties: $ref: '#/components/schemas/Price' example: 197a11f4-d341-4594-9574-7fbfbe6a671d: USD: amount: 100 includes_tax: false GBP: amount: 90 includes_tax: true pricing_option_prices: x-go-type-skip-optional-pointer: true additionalProperties: $ref: '#/components/schemas/PricingOptionPrice' example: 83f6b8e3-031c-4f2a-a1d7-b1c83cb5ac3c: base_price_percentage: 90 197a11f4-d341-4594-9574-7fbfbe6a671d: USD: amount: 100 includes_tax: false GBP: amount: 90 includes_tax: true job: type: object required: - id - type - attributes - meta properties: id: description: A unique identifier generated when a job is created. type: string type: description: This represents the type of resource object being returned. Always `pim-job`. type: string enum: - pim-job attributes: type: object required: - started_at - completed_at - created_at - updated_at - type - status properties: started_at: description: The date and time a job is started. type: string example: '2020-09-22T09:00:00.000Z' format: date-time nullable: true completed_at: type: string example: '2020-09-22T09:00:00.000Z' format: date-time nullable: true description: The date and time a job is completed. created_at: type: string description: The date and time a job is created. example: '2020-09-22T09:00:00.000Z' format: date-time updated_at: type: string description: The date and time a job is updated. example: '2020-09-22T09:00:00.000Z' format: date-time type: type: string description: 'The status of a job. * `pending` - Commerce has received the request but is currently busy processing other requests. * `started` - Commerce has started processing the job. * `success` - The job has successfully completed. * `failed` - The job has failed. ' enum: - child-products - product-import - product-export - hierarchy-duplicate - pricebook-import - pricebook-delete - hierarchy-delete - indexing-job status: type: string enum: - pending - cancelled - cancelling - started - success - failed meta: type: object required: - x_request_id properties: x_request_id: type: string description: Applies to all job types. A unique request ID is generated when a job is created. copied_from: type: string description: Applies to `hierarchy-duplicate` job types. The ID of the original hierarchy that you duplicated. hierarchy_id: type: string description: Applies to `hierarchy-duplicate` job types. The duplicated hierarchy ID. file_locations: type: array nullable: true description: If the job type is `product_export`, a link to the file is created when running a job. items: type: string filter: type: string nullable: true description: The entities included in the job. For example, if the job type is `product-export`, the PXM products included in the export. NotificationRunReport: required: - total_notifications_sent - failed_notifications properties: total_notifications_sent: description: The total number of notifications sent. type: integer example: 100 failed_notifications: description: The number of failed notifications. type: integer example: 0 BillingRunJobAttributes: required: - job_type properties: job_type: type: string example: billing-run SubscriptionUpdateReport: required: - subscriptions_updated - subscription_failures - total_processed properties: subscriptions_updated: description: The total number of subscriptions updated. type: integer example: 100 subscription_failures: description: The total number of subscriptions that failed to be updated. type: integer example: 0 total_processed: description: The total number of subscriptions processed. type: integer example: 100 ExternalRef: description: A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters. type: string example: abc123 maxLength: 2048 single: type: object required: - data properties: data: $ref: '#/components/schemas/job' TaxItem: required: - type - rate properties: type: description: This represents the type of resource object being returned. Always `tax_item`. type: string enum: - tax_item example: tax_item name: description: The name that appears on your customer's invoice and usually describes the specific type of tax, for example, `Sales`, `VAT` or `GST`. type: string maxLength: 1024 example: GST code: description: The unique identifier assigned to goods and services for taxation purposes. type: string maxLength: 1024 example: 20.0 % S rate: description: The tax rate is the percentage of the subscription amount that is required to be paid as tax. type: number format: double example: 0.2 jurisdiction: description: The geographic area or political entity that has authority to levy and collect taxes. type: string maxLength: 1024 example: USA 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 Error: 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. meta: type: object description: Additional supporting meta data for the error. example: missing_ids: - e7d50bd5-1833-43c0-9848-f9d325b08be8 JobMetaResult: description: Result of the job type: object ErrorResponse: required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' PaymentRunReport: required: - total_payment_attempts - failed_payments - total_collected properties: total_payment_attempts: description: The total number of invoices for which payment was attempted. type: integer example: 100 failed_payments: description: The number of failed payment attempts. type: integer example: 0 total_collected: allOf: - description: The total amount collected by the payment run, segmented by currency. - $ref: '#/components/schemas/Price' LinkObject: type: object properties: href: type: string format: uri example: http://example.com/articles/1/comments title: type: string example: Comments describedby: type: string format: uri example: http://example.com/schemas/article-comments JobMetaError: type: object required: - detail properties: detail: description: A string describing the error. type: string example: Failed to get release context: description: Any additional context of the error. type: object ReindexTenantReleasesJobRequest: type: object properties: data: description: The primary data for the request. type: object required: - force_reindex JobCreateAttributes: required: - job_type properties: external_ref: $ref: '#/components/schemas/ExternalRef' job_type: type: string description: "The type of job. One of the following:\n - `billing-run` - a billing run job.\n - `tax-run` - a tax run job.\n - `payment-run` - a payment run job.\n - `import` - an import job.\n - `notification-run` - a notification run job.\n - `subscription-update` - a subscription update run job.\n" enum: - billing-run - tax-run - payment-run - import - notification-run - subscription-update example: billing-run x-go-type: string oneOf: - $ref: '#/components/schemas/BillingRunJobAttributes' - $ref: '#/components/schemas/TaxRunJobAttributes' - $ref: '#/components/schemas/PaymentRunJobAttributes' - $ref: '#/components/schemas/ImportJobAttributes' - $ref: '#/components/schemas/NotificationRunJobAttributes' - $ref: '#/components/schemas/SubscriptionUpdateRunJobAttributes' discriminator: propertyName: job_type mapping: billing-run: '#/components/schemas/BillingRunJobAttributes' tax-run: '#/components/schemas/TaxRunJobAttributes' payment-run: '#/components/schemas/PaymentRunJobAttributes' import: '#/components/schemas/ImportJobAttributes' notification-run: '#/components/schemas/NotificationRunJobAttributes' subscription-update: '#/components/schemas/SubscriptionUpdateRunJobAttributes' CreateJob: type: object properties: data: type: object properties: filter: type: string example: gt(created_at,2018-09-01):lt(created_at,2018-10-01):eq(payment,refunded) job_type: description: This represents the type of job. For example, `order_export`. type: string example: order_export type: description: This represents the type of object being returned. Always `job`. type: string example: job SingleRelationship: description: The subscription resource that is related. properties: data: $ref: '#/components/schemas/RelationshipData' links: $ref: '#/components/schemas/RelationshipLinks' JobReport: description: You can track your Subscriptions billing, tax, and payment operations using reports. oneOf: - $ref: '#/components/schemas/BillingRunReport' - $ref: '#/components/schemas/TaxRunReport' - $ref: '#/components/schemas/PaymentRunReport' - $ref: '#/components/schemas/NotificationRunReport' - $ref: '#/components/schemas/SubscriptionUpdateReport' UUID: type: string description: A unique ID generated when a job is created. format: uuid example: 00000000-0000-0000-0000-000000000000 LinkURI: type: string format: uri example: http://example.com/articles/1/comments nullable: true FileLink: type: object description: A link to the exported data. properties: href: description: The publicly available URL for this CSV file that contains the exported data. type: string TaxRunReport: required: - invoices_updated - invoice_failures properties: invoices_updated: description: The total number of invoices to which tax was successfully added. type: integer example: 100 invoice_failures: description: The total number of invoices to which tax could not be added. type: integer example: 0 UUID_2: type: string description: The unique identifier. format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid example: 11111111-2222-3333-4444-555555555555 errors: type: object required: - data - meta properties: links: $ref: '#/components/schemas/multi_links' meta: type: object required: - results properties: results: type: object required: - total properties: total: type: integer description: Total number of job errors for this job. data: type: array description: An array of job errors. items: type: object properties: type: description: This represents the type of resource object being returned. Always `pim-job-error`. type: string example: pim-job-error enum: - pim-job-error id: description: A unique identifier for a job error generated when a job error is created. type: string attributes: type: object properties: message: description: A description of an error message. type: string example: 'data.attributes.sku: Must be unique amongst products.' JobTimestamps: allOf: - $ref: '#/components/schemas/Timestamps_2' - properties: started_at: description: The date and time a job is started. type: string example: '2017-01-10T11:41:19.244842Z' finished_at: description: The date and time a job finished. type: string example: '2017-01-10T11:41:19.244842Z' Timestamps_2: required: - created_at - updated_at properties: updated_at: description: The date and time a resource was updated. type: string example: '2017-01-10T11:41:19.244842Z' created_at: description: The date and time a resource was created. type: string example: '2017-01-10T11:41:19.244842Z' ManyRelationship: description: The list of resources that are related. properties: data: type: array items: $ref: '#/components/schemas/RelationshipData' links: $ref: '#/components/schemas/RelationshipLinks' Links_2: type: object additionalProperties: $ref: '#/components/schemas/Link' Links: type: object description: Links are used to allow you to move between requests properties: self: description: Single entities use a self parameter with a link to that specific resource. type: string example: https://useast.api.elasticpath.com/v2/jobs/974c9db4-38da-4dbf-90c2-33eed5f3e77c Job: type: object required: - id - type - attributes properties: id: description: The unique identifier for the job. type: string format: uuid example: 4c9efe34-57bb-4117-abed-184008d3ae0a x-go-name: ID type: description: The type of the resource object. type: string enum: - job example: job attributes: description: The attributes of the job. $ref: '#/components/schemas/JobAttributes' meta: $ref: '#/components/schemas/JobMeta' RelationshipData: type: object required: - id - type properties: id: $ref: '#/components/schemas/UUID_2' type: type: string description: This represents the type of resource being returned. example: 11111111-2222-3333-4444-555555555555 PricingOptionPrice: properties: base_price_percentage: type: number format: double description: A percentage discount on the total cost of any plans within an offering. For example, you can configure a percentage that equates the cost of a pricing option to the total value of all plans within the offering, reduced by a percentage. For example, if you specify `10`, a 10% discount is applied to the total value of all repeat plans in an offering. example: 90 minimum: 0 maximum: 100 fixed_price: $ref: '#/components/schemas/Price' JobMeta: description: Meta information of the job type: object properties: results: description: Results of the job type: array items: $ref: '#/components/schemas/JobMetaResult' errors: description: Errors occurred during the job type: array items: $ref: '#/components/schemas/JobMetaError' PaymentRunJobAttributes: required: - job_type properties: job_type: type: string example: payment-run Job_3: required: - type - attributes - meta properties: id: $ref: '#/components/schemas/UUID_2' type: $ref: '#/components/schemas/SubscriptionJobType' attributes: $ref: '#/components/schemas/JobResponseAttributes' relationships: $ref: '#/components/schemas/Relationships' meta: $ref: '#/components/schemas/JobMeta_2' NotificationRunJobAttributes: required: - job_type properties: job_type: type: string example: notification-run OwnerMeta: readOnly: true type: string format: string description: The owner of a resource, either `store` or `organization`. example: store multi: type: object required: - data - meta properties: links: $ref: '#/components/schemas/multi_links' data: description: An array of jobs. type: array items: $ref: '#/components/schemas/job' meta: type: object required: - results properties: results: description: Contains the results for the entire collection. type: object required: - total properties: total: description: Total number of results for the entire collection. type: integer example: 2 examples: product-export: value: data: type: pim-job id: 7e1b9ba1-c844-4556-9b16-4ae3f0988b0f attributes: completed_at: '2024-01-05T15:27:23.663Z' created_at: '2024-01-05T15:27:23.161Z' started_at: '2024-01-05T15:27:23.65Z' status: success type: product-export updated_at: '2024-01-05T15:27:23.65Z' meta: file_locations: [] filter: eq(sku,product-1) x_request_id: fad8c5c0-9546-4e0c-b68e-8a2d809891e5 started: value: data: type: pim-job id: 1ea62172-57f6-45e5-a708-ab5bd634e3f9 attributes: started_at: null completed_at: null created_at: '2024-01-05T13:46:41.695Z' status: started type: product-import updated_at: '2024-01-05T13:46:42.07Z' meta: x_request_id: 7e832a26-d615-4305-b26a-e33c9c2fc06a errors: value: data: - type: pim-job-error id: 2950cae3-1050-4c43-9fbd-2aa60dc5c249 attributes: message: 'data.attributes.sku: Must be unique amongst products.' meta: results: total: 1 hierarchy-duplicate: value: data: type: pim-job id: 5ba1c98d-87b8-4d63-b2ed-3d3c6c876523 attributes: completed_at: '2024-01-08T11:56:29.257Z' created_at: '2024-01-08T11:56:27.553Z' started_at: '2024-01-08T11:56:29.222Z' status: success type: hierarchy-duplicate updated_at: '2024-01-08T11:56:29.237Z' meta: copied_from: 5b912d00-db5a-4e18-86f2-3a652967ee48 hierarchy_id: c05bfefc-8de4-43ea-858b-eb8984ad9f8f x_request_id: an-x-request-id successful: value: data: type: pim-job id: 1ea62172-57f6-45e5-a708-ab5bd634e3f9 attributes: completed_at: '2024-01-05T13:46:42.142Z' created_at: '2024-01-05T13:46:41.695Z' started_at: '2024-01-05T13:46:42.07Z' status: success type: product-import updated_at: '2024-01-05T13:46:42.07Z' meta: x_request_id: 7e832a26-d615-4305-b26a-e33c9c2fc06a multi: value: data: - type: pim-job id: 1ea62172-57f6-45e5-a708-ab5bd634e3f9 attributes: completed_at: '2024-01-05T13:46:42.142Z' created_at: '2024-01-05T13:46:41.695Z' started_at: '2024-01-05T13:46:42.07Z' status: success type: product-import updated_at: '2024-01-05T13:46:42.07Z' meta: x_request_id: 7e832a26-d615-4305-b26a-e33c9c2fc06a - type: pim-job id: 3ab3deca-1f11-47b7-a409-24ea3234d72c attributes: completed_at: null created_at: '2024-01-05T15:27:23.161Z' started_at: '2024-01-05T15:27:23.65Z' updated_at: '2024-01-05T15:27:23.65Z' status: started type: product-import meta: x_request_id: 9ac00140-0037-4c6a-913c-b812196a2de6 - type: pim-job id: 7e1b9ba1-c844-4556-9b16-4ae3f0988b0f attributes: completed_at: '2024-01-05T15:27:23.663Z' created_at: '2024-01-05T15:27:23.161Z' started_at: '2024-01-05T15:27:23.65Z' updated_at: '2024-01-05T15:27:23.65Z' status: success type: product-export meta: file_locations: [] filter: eq(sku,product-1) x_request_id: fad8c5c0-9546-4e0c-b68e-8a2d809891e5 meta: results: total: 1 cancelled: value: data: type: pim-job id: 1e5da4bf-b2c0-4619-bb3d-f749875b15bb attributes: started_at: null completed_at: null created_at: '2023-11-14T15:37:13.589Z' status: cancelled type: product-import updated_at: '2023-11-14T15:37:13.589Z' meta: x_request_id: 4fde01c1-95ba-4dd6-948e-b9d5763ff9c2 build-child-products: value: data: type: pim-job id: 14a0a190-cd03-4d7f-a449-e2051ac539ea attributes: completed_at: '2024-01-08T11:58:19.113Z' created_at: '2024-01-08T11:58:04.416Z' started_at: '2024-01-08T11:58:19.067Z' status: success type: child-products updated_at: '2024-01-08T11:58:19.067Z' meta: x_request_id: an-x-request-id parameters: PageOffset: name: page[offset] description: The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used. in: query required: false schema: type: integer format: int64 minimum: 0 maximum: 10000 example: 10 Filter: name: filter in: query required: false schema: type: string format: string description: 'Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports. ' example: eq(name,Alan Turing) PageLimit: name: page[limit] description: The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used. in: query required: false schema: type: integer format: int64 minimum: 0 example: 100 job_id: name: jobID in: path schema: type: string example: 00000000-0000-0000-0000-000000000000 required: true description: A unique identifier for the job. securitySchemes: BearerToken: type: http scheme: bearer