{"swagger":"2.0","info":{"title":"Fulfillment Configuration","description":"Describes what resources will be considered and potentially used to fulfill an order","version":"1","termsOfService":"Tier 1","contact":{"name":"Platform Support","email":"platformsupport@cimpress.com"}},"securityDefinitions":{"auth0":{"type":"oauth2","description":"Authentication with Auth0","flow":"implicit","authorizationUrl":"https://cimpress.auth0.com"},"cimpressAccessToken":{"type":"oauth2","flow":"implicit","authorizationUrl":"https://oauth.cimpress.io/authorize","scopes":{}},"sessionAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Format on how to provide session scheme `Session {sessionId}`"}},"security":[{"auth0":[]},{"cimpressAccessToken":[]},{"sessionAuth":[]}],"tags":[{"name":"Example","description":"An example GET API"},{"name":"Healthcheck","description":"API to determine the health of the service"}],"schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/livecheck":{"head":{"tags":["Healthcheck"],"summary":"Performs a healthcheck on the service","responses":{"200":{"description":"The service is healthy","schema":{"type":"string"}}}}},"/v1/scenarios:echo":{"get":{"parameters":[{"in":"query","name":"fulfillerIds","type":"array","items":{"type":"string"}},{"in":"query","name":"fulfillmentLocationIds","type":"array","items":{"type":"string"}}],"summary":"Queries for a fulfillment scenario and in practice, echos the query params back","responses":{"200":{"description":"The scenario meeting the query params","schema":{"$ref":"#/definitions/ScenariosResponseV1"}}}}},"/v0/formats":{"post":{"description":"A fulfillment scenario and a fulfillment configuration describe the same entity in different ways. The configuration is more flexible and descriptive. As such, all scenarios can be converted into fulfillment configurations and many configurations can be converted to scenarios. This route will try, given an input URL to a scenario or configuration, to provide both versions. This will help users to begin using fulfillment configuration when they see fit.","parameters":[{"in":"body","name":"body","description":"The payload for the version request containing a URL to interpret","required":true,"schema":{"$ref":"#/definitions/FormatRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/FormatResponse"}},"400":{"description":"The requested URL could not be identified as a fulfillment configuration or scenario","schema":{"type":"object"}}}}},"/v0/formats:upgrade":{"post":{"description":"Same exact as the `/v0/formats` route except it does not provide the lower schema version for the URL in the payload.","parameters":[{"in":"body","name":"body","description":"The payload for the version request containing a URL to interpret","required":true,"schema":{"$ref":"#/definitions/FormatRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpgradeOnlyFormatResponse"}},"400":{"description":"The requested URL could not be identified as a fulfillment configuration or scenario","schema":{"type":"object"}}}}},"/v3/syntheticconfigurations":{"post":{"parameters":[{"name":"body","in":"body","schema":{"type":"object","properties":{"fulfillmentLocationUrl":{"type":"string","description":"path to the fulfillment location containig the data for the fulfillment configuration that will be created. Takes precedence over fulfillmentLocationId. If omitted, fulfillmentLocationId must be provided"},"fulfillmentLocationId":{"type":"string","description":"the fulfillment location containing the data for the fulfillment configuration that will be created. If omitted, fulfillmentLocationUrl must be provided"}}}}],"summary":"Creates a synthetic fulfillment configuration using fulfillment location data.","responses":{"200":{"description":"New synthetic fulfillment configuration created","schema":{"type":"object","properties":{"fulfillmentConfigurationId":{"type":"string","format":"uuid","description":"The id associated with the set of fulfillment configurations"},"name":{"type":"string","description":"Given name of a fulfillment configuration"},"owner":{"type":"string","description":"Owner of the configuration."},"_links":{"allOf":[{"$ref":"#/definitions/SelfLink"},{"properties":{"versions":{"allOf":[{"$ref":"#/definitions/LinkObj"}]}}}]}}}},"422":{"description":"The request is missing a required property (fulfillmentLocationId or fulfillmentLocationUrl)","schema":{"type":"object"}}}}},"/v0/versions":{"get":{"parameters":[{"in":"query","name":"versionReferences","description":"Identifier of versions of fulfillment configuration data. This includes formats of {fulfillmentConfigurationId}:{versionPointer}. Note that supplying only {fulfillmentConfigurationId} acts the same as providing {fulfillmentConfigurationId}:current and will only return the current version for that Fulfillment Configuration.","type":"array","items":{"type":"string"}},{"in":"query","name":"fulfillmentConfigurationIds","description":"Identifiers of fulfillment Configurations","type":"array","items":{"type":"string"}},{"in":"query","name":"sellers","description":"A list of seller urls (The business that the fulfillment configuration describes) to filter the results by","type":"array","items":{"type":"string","format":"url"}},{"in":"query","name":"currentOnly","description":"If true, return only versions which are marked as current","type":"boolean","default":false},{"in":"query","name":"excludeSynthetics","description":"If true, exclude synthetic Fulfillment Configuration Versions. Otherwise return all Fulfillment Configurations Versions.","type":"boolean","default":false},{"in":"query","name":"excludeArchived","description":"If true, exclude archived Fulfillment Configurations versions. Otherwise return all Fulfillment Configuration Versions.","type":"boolean","default":true,"x-rest-crawl-with":false},{"in":"query","name":"offset","description":"Reference pointer to the end of this page in the search results. May be passed as offset=<this value> as a query parameter of the next request to get the next set of results.","type":"number","default":0},{"in":"query","name":"limit","description":"Maximum number of results to return per page.","type":"number","default":500},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"responses":{"200":{"description":"returns the set of fulfillment configuration versions requested.","schema":{"$ref":"#/definitions/VersionQueryResponseV0"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."}}}},"/v0/versions/{versionId}":{"x-data-location":"CIMPRESS.ORDERS.FULFILLMENT_CONFIGURATION_VERSIONS_LATEST","x-rest-collection":"/v0/versions","get":{"parameters":[{"in":"path","name":"versionId","type":"string","required":true,"description":"Identifier of a specific version of fulfillment configuration data."},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"responses":{"200":{"description":"Returns a fulfillment configuration version.","schema":{"$ref":"#/definitions/VersionResponseV0"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."},"404":{"description":"No version was found for the supplied versionId","schema":{"type":"object"}}}}},"/v3/configurations":{"get":{"parameters":[{"in":"query","name":"sellers","required":false,"description":"A list of sellers (The business that the fulfillment configuration describes) to filter the results by","type":"array","items":{"type":"string","format":"url"}},{"in":"query","name":"offset","description":"Reference pointer to the end of this page in the search results. May be passed as offset=<this value> as a query parameter of the next request to get the next set of results.","type":"number","default":0},{"in":"query","name":"limit","description":"Maximum number of results to return per page.","type":"number","default":500},{"in":"query","name":"hasCurrentVersion","description":"If true, only returns fulfillment configurations that have a current version. If false, all fulfillment configurations will be returned.","type":"boolean","default":false},{"in":"query","name":"excludeSynthetics","description":"If true, exclude synthetic Fulfillment Configurations. Otherwise it will return all fulfillment configurations.","type":"boolean","default":false},{"in":"query","name":"excludeArchived","description":"If true, return fulfillment configurations, excluding archived ones. Otherwise it will all return all fulfillment configurations.","type":"boolean","default":true,"x-rest-crawl-with":false},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"summary":"Retrieves a list of fulfillment configurations matching the provided filters","responses":{"200":{"description":"The list of fulfillment configurations matching search parameters","schema":{"$ref":"#/definitions/ConfigurationQueryResponseV3"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."}}},"post":{"parameters":[{"name":"configuration","in":"body","schema":{"$ref":"#/definitions/ConfigurationRequestV3"}}],"summary":"Creates a new fulfillment configuration","responses":{"200":{"description":"New fulfillment configuration created","schema":{"$ref":"#/definitions/ConfigurationResponseV3"}}}}},"/v3/configurations/{fulfillmentConfigurationId}":{"x-data-location":"CIMPRESS.ORDERS.FULFILLMENT_CONFIGURATIONS_LATEST","x-rest-collection":"/v3/configurations","get":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration","required":true},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"responses":{"200":{"description":"Returns the fulfillment configuration","schema":{"$ref":"#/definitions/ConfigurationResponseV3"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."},"403":{"description":"Unauthorized to view configuration","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided fulfillmentConfigurationId has been found","schema":{"type":"object"}}}},"patch":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration","required":true},{"name":"requestBody","in":"body","required":true,"schema":{"type":"object","required":["name"],"properties":{"name":{"description":"The value to update the name of this fulfillment configuration to","type":"string"}}}}],"responses":{"200":{"description":"The fulfillment configuration has been updated","schema":{"$ref":"#/definitions/ConfigurationResponseV3"}},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access fulfillment configuration","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided fulfillmentConfigurationId has been found","schema":{"type":"object"}}}},"delete":{"summary":"Archives a fulfillment configuration.","description":"Archives a fulfillment configuration. All versions of the fulfillment configuration will also be archived automatically. Archived fulfillment configurations can still be retrieved through the API, but should not be made visible on UIs or be chosen during routing for new orders. Note that even if a fulfillment configuration is archived, any orders that have already been placed through that FC before archiving will continue to be processed.\n","parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration to archive","required":true}],"responses":{"204":{"description":"The fulfillment configuration has been archived"},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access fulfillment configuration","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided fulfillmentConfigurationId has been found","schema":{"type":"object"}}}}},"/v3/configurations/{fulfillmentConfigurationId}/versionPointer/current":{"put":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the set of fulfillment configuration versions","required":true},{"name":"requestBody","in":"body","schema":{"type":"object","properties":{"versionId":{"description":"Version we are setting this pointer to use","type":"string"}}}}],"responses":{"204":{"description":"Setting the pointer was successful"},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to set fulfillment configuration version pointer","schema":{"type":"object"}},"404":{"description":"The fulfillment configuration or version could not be found, check response for details","schema":{"type":"object"}},"422":{"description":"The requested version to make current does not belong to this fulfillment configuration","schema":{"type":"object"}}}}},"/v3/configurations/{fulfillmentConfigurationId}/versions":{"post":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the set of fulfillment configuration versions","required":true},{"name":"configuration","in":"body","schema":{"$ref":"#/definitions/VersionRequestV0","default":false}}],"responses":{"200":{"description":"Returns the new fulfillment configuration version","schema":{"$ref":"#/definitions/VersionResponseV0"}},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access fulfillment configuration","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided fulfillmentConfigurationId has been found","schema":{"type":"object"}}}}},"/v3/configurations/{fulfillmentConfigurationId}/draft:createVersion":{"post":{"summary":"Creates a version from the fulfillment configuration draft.","description":"Creates a version from the fulfillment configurations draft. This will also reset the draft to have no unpublished changes.\n","parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration the draft belongs to","required":true}],"responses":{"200":{"description":"Returns the new fulfillment configuration version","schema":{"$ref":"#/definitions/VersionResponseV0"}},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access fulfillment configuration","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided fulfillmentConfigurationId has been found","schema":{"type":"object"}},"422":{"description":"A version could not be created as the draft is missing required fields","schema":{"type":"object"}}}}},"/v0/drafts":{"get":{"parameters":[{"in":"query","name":"sellers","required":false,"description":"A list of sellers (The business that the fulfillment configuration draft describes) to filter the results by","type":"array","items":{"type":"string","format":"url"}},{"in":"query","name":"offset","description":"Reference pointer to the end of this page in the search results. May be passed as offset=<this value> as a query parameter of the next request to get the next set of results.","type":"number","default":0},{"in":"query","name":"limit","description":"Maximum number of results to return per page.","type":"number","default":500},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"summary":"Retrieves a list of fulfillment configurations drafts matching the provided filters","responses":{"200":{"description":"Returns all drafts","schema":{"$ref":"#/definitions/DraftQueryResponse"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."}}}},"/v3/configurations/{fulfillmentConfigurationId}/draft":{"get":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration the draft belongs to","required":true},{"in":"header","name":"If-None-Match","type":"string","required":false,"description":"Optional value supplied from a previous response ETag header for cache validation. Supplying this header will result in a 304 response if the data is unchanged from the request that produced the ETag."}],"responses":{"200":{"description":"Returns the draft associated with the fulfillment configuration","schema":{"$ref":"#/definitions/DraftResponse"},"headers":{"ETag":{"type":"string","description":"Hash value computed for the response data. Supplying this value in a subsequent request in an If-None-Match header will perform a cache validation on the value."}}},"304":{"description":"An If-None-Match header was supplied from the ETag header from a previous response, and the data is unchanged from that response."},"400":{"description":"The requested fulfillment configuration has been archived and can't produce a draft","schema":{"type":"object"}},"403":{"description":"Unauthorized to access this fulfillment configuration draft","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided id has been found","schema":{"type":"object"}}}},"put":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration the draft belongs to","required":true},{"name":"draft","in":"body","schema":{"$ref":"#/definitions/DraftRequest","default":false}}],"responses":{"200":{"description":"Returns the new fulfillment configuration draft","schema":{"$ref":"#/definitions/DraftResponse"}},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access this fulfillment configuration draft","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided id has been found","schema":{"type":"object"}}}},"patch":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration the draft belongs to","required":true},{"name":"draftPatchInput","in":"body","schema":{"$ref":"#/definitions/DraftPatchRequest"}}],"responses":{"204":{"description":"The draft has been succesfully patched"},"400":{"description":"The requested fulfillment configuration has been archived and can't be modified","schema":{"type":"object"}},"403":{"description":"Unauthorized to access this fulfillment configuration draft","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided id has been found","schema":{"type":"object"}},"405":{"description":"Can't reset the unpublished changes flag for a fulfillment configuration that does not have any versions","schema":{"type":"object"}}}}},"/v3/configurations/{fulfillmentConfigurationId}:unarchive":{"post":{"parameters":[{"name":"fulfillmentConfigurationId","type":"string","in":"path","description":"The id associated with the fulfillment configuration to unarchive","required":true}],"responses":{"204":{"description":"The fulfillment configuration has been succesfully unarchived"},"403":{"description":"Unauthorized to access this fulfillment configuration draft","schema":{"type":"object"}},"404":{"description":"No fulfillment configuration associated with the provided id has been found","schema":{"type":"object"}}}}}},"definitions":{"LinkObj":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string","description":"The resource identifier of the linked object, if present"},"href":{"$ref":"#/definitions/LinkField"},"ui":{"$ref":"#/definitions/LinkField"}}},"LinkField":{"type":"object","description":"an object that contains the version number and a url link","required":["v1"],"properties":{"v1":{"type":"string","description":"the link to the resource"}}},"SelfLink":{"type":"object","properties":{"self":{"$ref":"#/definitions/LinkObj"}}},"FormatRequest":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"url"}}},"FormatResponse":{"type":"object","properties":{"self":{"description":"The link back to this response","properties":{"href":{"type":"string","format":"url"}}},"fulfillmentScenario":{"description":"v1 representation of fulfillment configuration link","properties":{"href":{"type":"string","format":"url"}}},"fulfillmentConfiguration":{"description":"v2 representation of fulfillment configuration link","properties":{"href":{"type":"string","format":"url"}}}}},"UpgradeOnlyFormatResponse":{"type":"object","properties":{"self":{"description":"The link back to this response","properties":{"href":{"type":"string","format":"url"}}},"fulfillmentScenario":{"description":"v1 representation of fulfillment configuration link","properties":{"href":{"type":"string","format":"url"}}},"fulfillmentConfiguration":{"description":"v2 representation of fulfillment configuration link","properties":{"href":{"type":"string","format":"url"}}}},"required":["self","fulfillmentConfiguration"]},"Fulfiller":{"type":"object","properties":{"_links":{"$ref":"#/definitions/SelfLink"},"fulfillerId":{"type":"string"}}},"FulfillmentLocation":{"type":"object","properties":{"_links":{"$ref":"#/definitions/SelfLink"},"fulfillmentLocationId":{"type":"string"}}},"ScenarioV1":{"type":"object","properties":{"fulfillers":{"type":"array","items":{"$ref":"#/definitions/Fulfiller"}},"fulfillmentLocations":{"type":"array","items":{"$ref":"#/definitions/FulfillmentLocation"}}}},"ScenariosResponseV1":{"type":"object","properties":{"_links":{"$ref":"#/definitions/SelfLink"},"_embedded":{"type":"object","properties":{"scenarios":{"type":"array","items":{"$ref":"#/definitions/ScenarioV1"}}}}}},"VersionQueryResponseV0":{"type":"object","x-rest-collection-elements":"_embedded.versions","x-rest-collection-next-link":"_links.next.href.v1","properties":{"_links":{"allOf":[{"$ref":"#/definitions/SelfLink"},{"properties":{"next":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"prev":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"first":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"last":{"allOf":[{"$ref":"#/definitions/LinkObj"}]}}}]},"total":{"type":"number","description":"Total number of results"},"count":{"type":"number","description":"The number of results on this page"},"_embedded":{"type":"object","properties":{"versions":{"type":"array","items":{"$ref":"#/definitions/VersionResponseV0"}}}}}},"Links":{"type":"object","required":["seller"],"additionalProperties":false,"properties":{"self":{"type":"object","$ref":"#/definitions/LinkObj"},"seller":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"The seller that this fulfillment configuration is associated with"}]},"cutoffTimes":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Cutoff time"}]},"carriers":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Shipping carrier"}]},"expectations":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Fulfiller expectations"}]},"fulfiller":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Fulfiller"}]},"fulfillmentLocation":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Fulfillment Location"}]},"fulfillmentScenario":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"If it is possible to represent this fulfillment configuration as a fulfillment scenario, reference to that fulfillment scenario will be provided here. If no scenario is valid for this fulfillment configuration, this will not be included."}]},"invoiceManager":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Invoice Manager"}]},"pricingManager":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Price Manager"}]},"productCatalog":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Product Catalog"}]},"fulfillmentConfiguration":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Fulfillment Configuration"}]},"prepressParametersGenerator":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Prepress Parameters Generator"}]},"productManufacturingData":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Product Manufacturing Data"}]},"productionTimeMappingSet":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Production Time Mapping Set"}]},"packMappingSet":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Pack Mapping Set"}]},"fulfillmentDeliveryOption":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"Fulfillment Delivery Option"}]},"artworkChange":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"This is supplied when the fulfillment configuration's seller would like to receive notifications about artwork changes with an addtional integration option.\n"}]},"inventory":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"This is supplied when the fulfillment configuration's seller would like to receive notifications about inventory requests with an addtional integration option.\n"}]},"integrationOption":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"A link to the integration option configuration attached to this version."}]},"expectationSet":{"allOf":[{"$ref":"#/definitions/LinkObj"},{"description":"A link to the Fulfillment Expecations set attached to this version."}]}}},"VersionRequestV0":{"type":"object","required":["_links"],"properties":{"_links":{"$ref":"#/definitions/Links"}}},"VersionResponseV0":{"type":"object","required":["_links","createdAt","versionId","isCurrent","modifiedBy","modifiedAt","versionNumber","isArchived"],"x-data-id":"versionId","x-data-version":"modifiedAt","properties":{"modifiedBy":{"type":"string","description":"A string that identifies the modifier of the configuration"},"modifiedAt":{"type":"string","format":"date-time","description":"A timestamp marking when this fulfillment configuration version was modified"},"madeCurrentBy":{"type":"string","description":"A string that identifies the user that made this fulfillment configuration version current. Returned only for the current version when filtered via the currentOnly=true query param."},"createdAt":{"type":"string","format":"date-time","description":"A timestamp marking when this fulfillment configuration version was created"},"dateMadeCurrent":{"type":"string","format":"date-time","description":"A timestamp marking when this fulfillment configuration version was made current. Returned only for the current version when filtered via the currentOnly=true query param."},"versionId":{"type":"string","description":"A unique string that identifies a fulfillment configuration version"},"versionNumber":{"type":"number","description":"A human readable identifier for this version of the parent fulfillment configuration. Not to be used outside of UIs to identiy this version."},"isArchived":{"type":"boolean","description":"If true, this fulfillment configuration version has been archived and should no longer be considered for new orders. Additionally, it should not appear in any UIs.\n"},"isCurrent":{"type":"boolean","description":"If true, this is the current version for the parent Fulfillment Configuration"},"_links":{"$ref":"#/definitions/Links"}}},"DraftRequest":{"type":"object","required":["_links"],"properties":{"_links":{"$ref":"#/definitions/Links"}}},"DraftPatchRequest":{"type":"object","properties":{"hasUnpublishedChanges":{"type":"boolean","description":"Sets the hasUnpublishedChanges flag on the draft."}}},"DraftResponse":{"type":"object","description":"A draft for a fulfillment configuration version. Stores changes before they're published as a new version.","required":["_links","createdAt","modifiedAt","modifiedBy","hasUnpublishedChanges"],"properties":{"hasUnpublishedChanges":{"type":"boolean","description":"Indicates whether or not the draft has unpublished changes."},"modifiedBy":{"type":"string","description":"A string that identifies the last modifier of this draft"},"createdAt":{"type":"string","format":"date-time","description":"A timestamp marking when this fulfillment configuration draft was created"},"modifiedAt":{"type":"string","format":"date-time","description":"A timestamp marking when this fulfillment configuration draft was last updated"},"_links":{"$ref":"#/definitions/Links"}}},"DraftQueryResponse":{"type":"object","properties":{"_links":{"allOf":[{"$ref":"#/definitions/SelfLink"},{"properties":{"next":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"prev":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"first":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"last":{"allOf":[{"$ref":"#/definitions/LinkObj"}]}}}]},"total":{"type":"number","description":"Total number of results"},"count":{"type":"number","description":"The number of results on this page"},"_embedded":{"type":"object","properties":{"drafts":{"type":"array","items":{"$ref":"#/definitions/DraftResponse"}}}}}},"ConfigurationRequestV3":{"required":["name","coamGroupId"],"properties":{"name":{"type":"string","description":"a name for the fulfillment configuration"},"current":{"type":"boolean","description":"determines if the version created will be the current version for the associated fulfillment configuration"},"_links":{"$ref":"#/definitions/Links"},"coamGroupId":{"type":"string","description":"The id of the COAM group this fulfillment configuration will be added to. The caller must have the correct permissons in the group for this to succeed."}}},"ConfigurationQueryResponseV3":{"type":"object","description":"A list of fulfillment configurations matching that match a requested query","x-rest-collection-elements":"_embedded.fulfillmentConfigurations","x-rest-collection-next-link":"_links.next.href.v1","properties":{"_links":{"allOf":[{"$ref":"#/definitions/SelfLink"},{"properties":{"next":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"prev":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"first":{"allOf":[{"$ref":"#/definitions/LinkObj"}]},"last":{"allOf":[{"$ref":"#/definitions/LinkObj"}]}}}]},"total":{"type":"number","description":"Total number of results"},"count":{"type":"number","description":"The number of results on this page"},"_embedded":{"type":"object","properties":{"fulfillmentConfigurations":{"type":"array","items":{"$ref":"#/definitions/ConfigurationResponseV3"}}}}}},"ConfigurationResponseV3":{"type":"object","description":"An object that represents a fulfilment configuration displayed in the v3 format","required":["modifiedAt","name","fulfillmentConfigurationId","owner","isArchived","isSynthetic","_links"],"x-data-id":"fulfillmentConfigurationId","x-data-version":"modifiedAt","properties":{"versionCount":{"type":"number","description":"the total number of versions this fulfillment configuration has"},"name":{"type":"string","description":"the name associated with this fulfillment configuration"},"fulfillmentConfigurationId":{"type":"string","description":"The id of the associated fulfillment configuration"},"owner":{"type":"string","description":"Owner of the configuration"},"modifiedAt":{"type":"string","format":"date-time","description":"A timestamp marking when the fulfillment configuration was last updated"},"isArchived":{"type":"boolean","description":"If true, this fulfillment configuration has been archived and should no longer be considered for new orders. Additionally, it should not appear in any UIs.\n"},"isSynthetic":{"type":"boolean","description":"If true, this fulfillment configuration has been generated based on the configuration of a fulfillment location.\n"},"_links":{"allOf":[{"$ref":"#/definitions/SelfLink"},{"properties":{"versions":{"$ref":"#/definitions/LinkObj"},"draft":{"$ref":"#/definitions/LinkObj"},"currentVersion":{"$ref":"#/definitions/LinkObj"},"seller":{"$ref":"#/definitions/LinkObj"}}}]}}}}}