schema { query: Query mutation: Mutation } directive @authorize(scopes: [String!]!) on OBJECT | FIELD_DEFINITION """ This union type represents different purchase entities that can be created from an accepted offer. Currently, only ItemCommitment purchases are supported. """ union AcceptedOfferPurchaseReference = ItemCommitment """ The base request type for the **acceptOffer** method. This type defines the input information needed for accepting an active offer. This includes the item ID and offer ID associated with the offer being accepted, as well as an optional message accompanying the acceptance that can be used to express appreciation for the buyer or provide additional context. """ input AcceptOfferInput { """ The unique identifier of the purchasable item for which the offer is being accepted. """ itemId: ID! """ An optional message to accompany the acceptance of the offer. This message will be visible to the seller and can be used to express appreciation for the buyer or provide additional context. **Maximum length**: 250 characters """ message: String """ The unique identifier of the offer being accepted. The offer must have 'PENDING' status and the user must be authorized to accept it. """ offerId: ID! } """ The union type for the **acceptOffer** mutation. This type covers two possible scenarios: success or failure. If the **acceptOffer** mutation succeeds,the offer is accepted and information about the accepted offer will be returned. If the **acceptOffer** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the offer will not be accepted. If a mutation fails, there will always be at least one blocking error. """ union AcceptOfferOutput = AcceptOfferSent | OfferBusinessRulesViolated | ReferenceArgumentsNotFound """ This type is used for a successful **acceptOffer** mutation. On success, details about the accepted offer are returned, such as the offer ID, updated status, and transaction ID. """ type AcceptOfferSent { """ This object returns details about the offer that was accepted using the **acceptOffer** mutation. This information includes the offer ID, status ('ACCEPTED'), and transaction ID associated with the accepted offer. """ offer: NegotiationOfferDetails! """ This field returns the reference to the purchase entity created when the offer was accepted. This provides access to the purchase details, pricing, and order information associated with the accepted offer. **Note**: Currently, only ItemCommitment purchases are supported. """ purchaseReference: AcceptedOfferPurchaseReference } """ This type defines information about active bid records (i.e., bids that have not been cancelled or retracted). """ type ActiveBidMetadata implements BidMetadata { """ This boolean indicates if the record belongs to an automatic bid: - `true`: The corresponding bid is an automatic bid. - `false`: The corresponding bid is not an automatic bid. """ isAutomaticBid: Boolean! """ This boolean indicates if the corresponding bid is the highest bid for the item: - `true`: The corresponding bid is the highest bid for the item. - `false`: The corresponding bid is not the highest bid for the item. """ isHighestBid: Boolean! """ The date and time, expressed in UTC, when the corresponding bid was placed. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ """ placedAt: DateTime! } """ This type defines the address fields for a user or entity. """ type Address implements ReturnAddress & ProfileAddress & ShippingZone { """ The contact details associated with the address. Contact information is only returned in the following scenarios: - A buyer may receive the seller’s contact information for a return address to generate a return label. - A seller may receive the buyer’s contact information for a shipping address to create a forward shipping label. """ addressContact: AddressContact """ The unique public identifier of the address. This field is used primarily for Return Address records and for sharing a reference that is stable across requests. **Example:** 'RA-9c4b2f58-1f4e-4e72-9a4c-702d5e2b74e1' """ addressId: ID """ The first line of the street address. """ addressLine1: String """ The second line of the street address. This field can be used for additional address information, such as a suite or apartment number. This field will only be returned if defined for the shipping address. """ addressLine2: String """ The city of the address. """ city: String """ The two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code for the country of the address. """ countryCode: CountryAlpha2Code """ The county of the address. """ county: String """ The postal code of the address. """ postalCode: String """ The state or province of the address. """ stateOrProvince: String } """ This type defines the contact information for a user or business associated with a given address. """ type AddressContact { """ The name of the person or business at this address. **Example:** 'Jane Doe' or 'Acme Corporation'. """ name: String! """ The phone contact information associated with this address. If returned `null`, no phone number has been provided by the user or business. """ phone: Phone } """ This type is used to provide the alternative shipping address for a buyer when using the **requestPurchaseQuote** mutation. """ input AddressInput { """ The first line of the street address. **Maximum length**: 100 characters """ addressLine1: String """ This optional field is used to provide the second line of the street address if applicable. The second line of the street address is generally used to provide apartment or suite number. **Maximum length**: 100 characters """ addressLine2: String """ The city of the street address. **Maximum length**: 50 characters """ city: String """ The two-letter code representing the country of the street address. """ country: CountryCode """ The email address associated with the buyer (if applicable). A valid email format must be used. **Maximum length**: 254 characters """ email: String """ The phone number associated with the street address (if applicable). **Note**: The value must consist of numeric characters and may include symbols such as +, -, and spaces. **Maximum length**: 20 characters """ phone: String """ The postal code of the street address. **Maximum length**: 20 characters """ postalCode: String """ The state or province of the street address. **Maximum length**: 50 characters """ stateOrProvince: String } """ This type indicates that the **addToWatchList** mutation failed. All requested items failed to be added to the user's Watchlist. The unique identifier of each item that failed to be added to the Watchlist is returned, alongside the reason each failed. This type also returns the total number of items being watched by the user after the failed mutation and the maximum number of items they can add to their Watchlist. """ type AddToWatchListFailure implements BusinessError { """ A machine-readable error code (clients should use this for handling, not the message): `WTCHL_ALL_FAILED` """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! """ This array returns the unique identifier(s) of the item(s) that failed to be added to the user's Watchlist, along with the reason each failed. """ failedItems: [WatchListAddFailure!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ The base request type for the **addToWatchList** mutation. This type specifies the items to be added to a user's Watchlist. """ input AddToWatchListInput { """ An array of items to be added to the user's Watchlist. **Note**: This array must contain at least one item. """ itemsToAdd: [WatchListEntryToAdd!]! } """ The union type for the **addToWatchList** mutation. This type covers three possible scenarios: success, partial failure, or failure. If the **addToWatchList** mutation succeeds, the specified items will be successfully added to the user's Watchlist. If the **addToWatchList** mutation fails or partially fails, an array of blocking errors detailing why each item failed will be returned, and the item(s) will not be added to the user's Watchlist. If a mutation fails, there will always be at least one blocking error. """ union AddToWatchListOutput = AddToWatchListFailure | AddToWatchListPartialFailure | AddToWatchListSuccess """ This type indicates that the **addToWatchList** mutation partially failed. Some of the specified items were successfully added to the user's Watchlist, but one or more failed to be added. The unique identifier of each item that was successfully added to the Watchlist is returned. In addition, the unique identifier of each item that failed to be added to the Watchlist is returned, alongside the reason each failed. This type also returns the total number of items being watched by the user after the partially failed mutation and the maximum number of items they can add to their Watchlist. """ type AddToWatchListPartialFailure implements BusinessError { """ This array returns the unique identifier(s) of the item(s) that were successfully added to the user's Watchlist. """ addedItems: [Item!]! """ A machine-readable error code (clients should use this for handling, not the message): `WTCHL_PARTIAL_FAILURE` """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! """ This array returns the unique identifier(s) of the item(s) that failed to be added to the user's Watchlist, along with the reason each failed. """ failedItems: [WatchListAddFailure!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ This type indicates that the **addToWatchList** mutation succeeded, and all requested items were successfully added to a user's Watchlist. The unique identifier of each item that was successfully added to the Watchlist is returned. This type also returns the total number of items being watched by the user after the successful mutation and the maximum number of items they can add to their Watchlist. """ type AddToWatchListSuccess { """ This array returns the unique identifier(s) of the item(s) successfully added to the user's Watchlist. """ addedItems: [Item!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ This type is used to express a monetary amount in a specific currency. """ type Amount { """ The three-letter ISO 4217 currency code associated with this monetary amount. **Format**: Three-letter uppercase alphabetic code (for example, `USD`, `EUR`, `GBP`) """ currency: CurrencyAlpha3Code """ The numerical value of the monetary amount in the currency specified through the **currency** field. """ value: Decimal! } """ This type is used to express a monetary amount in a specific currency. """ input AmountInput { """ A three-letter ISO 4217 code that indicates the currency of the amount in the **value** field. """ currency: CurrencyAlpha3Code! """ The monetary amount, in the currency specified by the **currency** field. """ value: Decimal! } """ This type is used to provide a monetary amount in two different currencies. This might be needed if the buyer's and/or seller's currency is different than the currency used on the listing marketplace. """ type AmountSet { """ This enumeration value indicates that the monetary amount shown in the **exchangeScenarioByName** object is in the buyer's or seller's currency. """ exchangeScenario(scenario: ExchangeAmountScenario!): ExchangeScenarioResult """ The monetary amount converted to a different currency, such as the buyer's or seller's currency. """ exchangeScenarioByName(scenario: String!): ExchangeScenarioResult """ The monetary amount in its original currency. """ original: Amount! } """ This type is used to identify an API element that contributed to bulk data transfer usage. """ type ApiElement { """ This field returns the API context or business domain. **Example**: `Sell` """ apiContext: String! """ This array provides the API fields that contributed to threshold usage. An empty array is returned when usage is tracked at the operation level instead of the field level. """ apiFields: [String!]! """ This field returns the API name within the API context. **Examples**: `Trading`, `Finances` """ apiName: String! """ This array provides the API operations that contributed to threshold usage. """ apiOperations: [String!]! """ This field returns the API version, such as `1201` or `v1`. This field is `null` when the API does not have a version. """ apiVersion: String } """ This type is used to provide rate limit snapshot data for SOAP, REST, and GraphQL APIs. In GraphQL, rate limits map to root query fields. In REST, rate limits map to HTTP methods on resources. In SOAP, rate limits map to call names. """ type ApiRateLimit { """ This field returns the API context or business domain. """ apiContext: String! """ This field returns the API name within the API context. """ apiName: String! """ This field returns the API version, such as `v1` or `v2`. This field is `null` when the API does not have a version. """ apiVersion: String """ This field identifies the API target that is subject to the rate limit. REST APIs use resource and method identifiers, GraphQL APIs use root query fields, and SOAP APIs use call names. When a quota is shared by multiple targets, this field may contain a comma-separated list of target identifiers. """ rateLimitTarget: String! """ This field indicates how the returned rate limit target matched the filter used in the request. """ rateLimitTargetFilterStatus: RateLimitTargetFilterStatus! """ This array provides the rate limit details for each time window configured for the API target. """ rates: [RateLimitWindow!]! } """ This input type is used to filter rate limits by API context, API name, and rate limit target. """ input ApiRateLimitsFilterInput { """ This field filters results by API context, such as `buy` or `sell`. If this field is omitted, results are not filtered by API context. """ apiContext: String """ This field filters results by API name, such as `browse` or `inventory`. If this field is omitted, results are not filtered by API name. """ apiName: String """ This array filters results by rate limit target, such as `item_summary.search` or `bulkCreateOrReplaceInventoryItem`. If this field is omitted, results are not filtered by rate limit target. """ rateLimitTargets: [String!] } """ This input type defines the payload for the **appendSellerReturnResponseRule** mutation which is used to create a single return-to-address rule. The status of new rule will be `ENABLED` by default. """ input AppendSellerReturnResponseRuleInput { """ This object provides business conditions that trigger the rule. """ conditionSet: ReturnRuleConditionSetInput! """ This enumerated value is the marketplace where the item is **listed/published** (for example, EBAY_US, EBAY_DE, EBAY_GB). All listings published on this marketplace inherit these preferences. """ listingMarketplace: ListingMarketplace! """ The unique name of the rule. **Requirements:** - the name must be unique. No two rules can have the same name. - the name must use characters from the following set: [A-Z, a-z, 0-9, hyphen(-), underscore(_), period(.), colon(:), comma(,), apostrophe(')] **Format**: Alphanumeric **Maximum length**: 100 characters """ name: String! """ This enumerated values indicates the type of the automation return rule response strategy. """ responseStrategy: ReturnResponseStrategyInput! } """ This base response union type for the **appendSellerReturnResponseRule** mutation indicates whether the seller's return-respond rule was successfully created, or if an error occurred that prevented its creation. The new rule is assigned a priority value one higher than the current highest numbered priority rule (this is assigned the lowest priority). It returns an error if: - the rule name already exists for this seller/listing marketplace combination - the maximum rule limit exceeded for this seller - invalid condition data provided (categories are not leaf IDs, invalid country codes, or an invalid **refundRange** where the minimum is less than maximum) - the rule name violates constraints (for example, exceeds maximum length or contains disallowed characters) - the return rules feature is not enabled for the seller """ union AppendSellerReturnResponseRuleOutput = ReturnResponseRule | ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidConditionsError | ReturnRuleLimitExceededError | ReturnRuleMissingConditionError | ReturnRuleNameError """ This input type defines the payload for the **appendSellerReturnToAddressRule** mutation and is used to create a single return location rule. The status of new rule will be `ENABLED` by default. **Note**: Any *ReturnToAddress* rules must include **returnAddressRoute**. """ input AppendSellerReturnToAddressRuleInput { """ The address routing strategy for returns. """ addressRoute: ReturnToAddressRouteInput! """ This object provides business conditions that trigger the rule. """ conditionSet: ReturnRuleConditionSetInput! """ This enumerated value is the marketplace where the item is listed or published (for example, EBAY_US, EBAY_DE, EBAY_UK). All listings published on this marketplace inherit these preferences. """ listingMarketplace: ListingMarketplace! """ The unique name of the rule. **Requirements:** - the name must be unique. No two rules can have the same name. - the name must use characters from the following set: [A-Z, a-z, 0-9, hyphen(-), underscore(_), period(.), colon(:), comma(,), apostrophe(')] **Format**: Alphanumeric **Maximum length**: 100 characters """ name: String! } """ This base response union type for the **appendSellerReturnToAddressRule** mutation indicates whether the return-respond automation rule was successfully created or if an error occurred that prevented its creation. If other return-respond rules already exist, the new rule is appended to the end of the list with the lowest priority (is evaluated after all existing enabled rules). It returns an error if: - the provided `rule name` is already used by another rule on the same marketplace - adding this rule would exceed the configured maximum number of allowed rules - the provided `returnRuleConditionSet` contains invalid condition data (for example, categories not leaf IDs, invalid country code, or an invalid **refundRange** where the minimum is less than maximum) - the `name` violates allowed format, length, or character constraints (exceeds 100 characters or includes disallowed characters) - the provided `ruleResponseStrategy` is invalid - the return rules feature is not enabled for the seller """ union AppendSellerReturnToAddressRuleOutput = ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidConditionsError | ReturnRuleLimitExceededError | ReturnRuleMissingConditionError | ReturnRuleNameError | ReturnToAddressRequiredError | ReturnToAddressRule | ReturnToAddressValidationError """ This type is used to identify Apple Pay as the payment method. """ type ApplePay implements PaymentMethodType { """ The unique identifier of the Apple Pay payment method. """ code: ID! """ The descriptive name of the Apple Pay payment method. """ descriptiveName: String! """ The display name of the Apple Pay payment method. """ displayName: String! } """ This input type is used to filter application-level rate limit queries. """ input ApplicationApiRateLimitsInput { """ This array provides the filters to apply when retrieving application-level API rate limits. """ filters: [ApiRateLimitsFilterInput!] } """ This output type is used to provide application-level rate limits for the query. """ type ApplicationApiRateLimitsOutput { """ This array provides the list of application-level rate limits for each API and operation that match the query criteria. If the input filter is invalid or no rate limits match the filter, an empty array is returned. """ apiRateLimits: [ApiRateLimit!]! } """ This type, available for the seller, is used to approve cancellation action on the contract. """ type ApproveContractCancellationAction implements ContractCancellationAction { """ The machine-readable cancellation action code for this use case. For this type, the value is `APPROVE`. """ code: String! """ A human-readable message explaining the cancellation action code. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **approveContractCancellation** mutation. It specifies the contract cancellation to approve and optionally relists all items. """ input ApproveContractCancellationInput { """ The unique identifier of the contract cancellation to approve. """ cancellationId: ID! """ This boolean field is used to control whether or not to automatically relist all line items from the cancelled purchase quote. **Note**: This boolean must be `false` if the contract cancellation reason is `OUT_OF_STOCK`. **Default**: `false` """ relistAllItems: Boolean! = false } """ This union type defines the response payload for the **approveContractCancellation** mutation. On success, the response includes a **ApproveContractCancellationSuccess** type object; on failure it returns an error indicating the reason that the cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union ApproveContractCancellationOutput = ApproveContractCancellationSuccess | ContractCancellationActionNotPermittedError | ContractCancellationNotFoundError | RefundAuthorizationFailedError | RefundBlockedByPaymentDisputeError | RefundInstrumentDeclinedError | RefundInstrumentInsufficientFundsError | RefundInstrumentInvalidError | RefundProcessingError """ This type is returned when a contract cancellation has been successfully approved. It includes the cancellation ID and other cancellation details. """ type ApproveContractCancellationSuccess { """ The successfully approved contract cancellation. """ contractCancellation: ContractCancellation! } """ This type is used by a seller approving a return request. """ type ApproveReturnAction implements ReturnAction { """ A machine-readable return action code: `APPROVE_RETURN` """ code: String! """ The human-readable text for approval of the return. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **approveReturn** mutation, which allows the seller to approve a return. In order to use this mutation, the user must have permission to access and approve the specified return. """ input ApproveReturnInput { """ An optional message from the seller to the buyer regarding the overall approval. The message is stored as provided and not localized. **Maximum length**: 500 characters """ approvalNote: String """ The unique identifier of the return request to approve. This must be a valid return request that the user has permission to access and approve. """ returnId: ID! } """ This error type indicates that one or more validation errors occurred while approving the return request. """ type ApproveReturnInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_APPROVE_VALIDATION_ERROR.` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [ApproveReturnInputViolation!]! } """ This interface describes validation errors encountered during approve-return evaluation. Each violation indicates that an input value failed to meet business rules or constraints for approving a return (for example, exceeding the maximum allowed characters for an approval note). Constraints are defined by eBay return policies and may vary by context, marketplace, or configuration. """ interface ApproveReturnInputViolation { """ A machine-readable code that identifies the specific approve-return input violation. """ code: String! """ A human-readable message describing the approve return input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **approveReturn** mutation includes the result of the mutation and any errors encountered. """ union ApproveReturnOutput = ApproveReturnInputValidationError | OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError """ This input type defines the payload for the **attachReturnShipmentLabel** mutation is used to attach label for the return shipment. """ input AttachReturnShipmentLabelInput { """ The unique identifier of the Return for which the shipping label information is being provided. This must be a valid return ID that the user has permission to access. """ returnId: ID! """ This field is used to provide a return shipment label for the return shipment. """ returnShipmentLabels: [ReturnShipmentLabelInput!]! } """ This error type indicates that one or more validation errors occurred while attaching the return shipment label. """ type AttachReturnShipmentLabelInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_ATTACH_LABEL_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [AttachReturnShipmentLabelInputViolation!]! } """ This interface represents input violations detected during attach return shipment label request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for attaching return shipment label. These rules may include: - maximum allowed characters for tracking number and carrier name - accepted values or codes for tracking number - duplicate tracking number is not allowed Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface AttachReturnShipmentLabelInputViolation { """ A machine-readable code identifying the specific attach return shipment label input violation. """ code: String! """ A human-readable message describing the attach return shipment label input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **attachReturnShipmentLabel** mutation attaches an uploaded label to the return. """ union AttachReturnShipmentLabelOutput = AttachReturnShipmentLabelInputValidationError | MultipleReturnLabelsNotSupportedError | OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError | ReturnShipmentLabelNotFoundError | ReturnShippingLabelRequiredError """ This type is used to provide on an eBay auction listing. """ type AuctionData { """ Displays a list of active bids for an auction. paginationInput: Pagination input """ activeBidHistoryRecords(paginationInput: PageInfoInput): BidHistoryRecordsPaginated! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.auction.read" "https://api.ebay.com/oauth/api_scope/sell.auction.read" ]) """ Provides statistical data related to user-submitted bids for an auction. **Note**: : This field excludes data related to automatic, system-generated bids. """ bidStatistics: BidStatistics """ Bid and bidder information when bids exist for an auction. If no bids have been placed, this will provide the necessary details for submitting the next bid. """ bidderAuctionDetails: BidderAuctionDetails! """ Displays a list of cancelled bids for an auction. paginationInput: Pagination input """ cancelledBidHistoryRecords(paginationInput: PageInfoInput): BidHistoryRecordsPaginated! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.auction.read" "https://api.ebay.com/oauth/api_scope/sell.auction.read" ]) """ Item reference for the requested auction item. The reference can be null for invalid items. """ item: Item """ The current highest bid in the active or recently-completed auction listing. The leading bid may or may not belong to the user who has issued this query. The user who is issuing this call can review what their maximum bid amount is by looking at the value stored in **bidderAuctionDetails**. """ leadingBid: BidRecord """ This boolean field indicates whether or not the Reserve Price set by the seller has been reached or not. A value of *true* indicates that the Reserve Price has been met, a value of *false* indicates that a Reserve Price has not been met, and a value of *null* indicates that a Reserve Price for the auction listing was never set by the seller or the seller removed it. """ reservePriceMet: Boolean """ Displays a list of retracted bids for an auction. paginationInput: Pagination input """ retractedBidHistoryRecords(paginationInput: PageInfoInput): BidHistoryRecordsPaginated! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.auction.read" "https://api.ebay.com/oauth/api_scope/sell.auction.read" ]) } """ This type provides auction information for an item. """ type AuctionDataSummary { """ Provides statistical data related to user-submitted bids for an auction. **Note**: This field excludes data related to automatic, system-generated bids. """ bidStatistics: BidStatistics! """ This object returns information about the user's bidding activity on the corresponding item. **Note**: If no bids have been placed yet for the auction, the qualifying bid amount that must be met or exceeded by the user to place the initial bid will be returned. """ bidderAuctionDetails: BidderAuctionDetails! """ This timestamp indicates when the opportunity to bid on the auction officially ended. This time accurately reflects the last time when it was possible to place a bid. If this time is absent, bidding may still be ongoing. """ biddingEndedAt: DateTime """ This timestamp indicates when the auction listing is scheduled to end at. The auction listing may extend beyond this time if the listing supports any form of extended bidding and/or the seller is allowed to extend the listing duration for any reason. It is also always possible that a seller or eBay may end the auction listing earlier than this time. """ endAtOrAfter: DateTime! """ If this boolean is returned as 'true', it indicates that the auction listing is enabled for the extended bidding feature and the listing's duration may be extended beyond its scheduled end time. If this boolean is returned as 'false', the auction listing is not enabled for extended bidding and is expected to end at its scheduled end time. """ extendedBiddingEligible: Boolean! """ This is the unique identifier of the auction listing for which bidding activity information is being retrieved. This auction listing can be active or recently ended. """ itemId: ID! """ This is the current highest bid in the active or recently-completed auction listing. The leading bid may or may not belong to the user who has issued this query. The user who is issuing this call can review what their maximum bid amount is by looking at the value stored in **bidderAuctionDetails**. """ leadingBid: BidRecord """ This boolean indicates if the seller-specified Reserve Price for the auction has been met. If the seller's Reserve Price has not been met by the time the auction ends, there will be no winning bidder. Possible return values and what they indicate are listed below: - `true`: Reserve Price for the item has been met. - `false`: Reserve Price for the item has not been met. - `null`: A Reserve Price for the item has not been set. """ reservePriceMet: Boolean } """ This type contains details about the authentication verification inspection addon service associated with an order line item. """ type AuthenticityVerificationAddOnService { """ The cost of the authenticity verification service. This field may be null if it is not available. """ serviceCost: AmountSet """ The current state of authenticity verification. This field may be null if not started. """ verificationState: AuthenticityVerificationState } """ This type indicates that the authenticity verification has failed. """ type AuthenticityVerificationFailed implements Labeled { """ A human-readable label representing this state. Value: `Failed`. """ label: String! } """ This type indicates that the authenticity verification has passed successfully. """ type AuthenticityVerificationPassed implements Labeled { """ There may be legal or policy constraints that prevent the item from being labeled as fully authentic (for example, regulatory restrictions, brand rights, or compliance requirements). When `true`, the item has been verified as authentic but cannot be publicly marked or displayed as such. """ hasException: Boolean! """ When `true`, this field indicates that the verification passed overall, but one or more checks had non-critical issues or incomplete validations (for example, a missing accessory, minor deviation from factory standards, or unverifiable subcomponent). The item is still considered authentic, and the verification report documents these partial failure details for transparency. """ hasPartialFailure: Boolean! """ A human-readable label representing this state. Value: `Passed`. """ label: String! } """ This union type represents the current authenticity verification state of an order line item. """ union AuthenticityVerificationState = AuthenticityVerificationFailed | AuthenticityVerificationPassed """ This type is used to indicate that an auto payment has been successfully completed. """ type AutoPaymentCompleted implements Labeled { """ The human-readable label representing this state. **Maximum length**: 100 characters. """ label: String! } """ This type is used to indicate that an auto payment has failed to process. """ type AutoPaymentFailed implements Labeled { """ The human-readable label representing this state. **Maximum length**: 100 characters. """ label: String! } """ This type is used to indicate that an auto payment is scheduled. """ type AutoPaymentScheduled implements Labeled { """ The human-readable label representing this state. **Maximum length**: 100 characters. """ label: String! } """ This type shows detailed information related to automated payment scheduling for an item commitment, including whether it's required, delayed, and when it's scheduled. """ type AutoPaymentScheduleDetails { """ This boolean field indicates whether this item commitment must be processed using auto payment. If `true`, the item commitment is required to be processed automatically. If `false`, the item commitment can be handled through other payment methods and is not mandated for auto payment. """ autoPaymentRequired: Boolean! """ The current state of the auto payment process for this item commitment. """ autoPaymentState: AutoPaymentState! """ If applicable, this field provides the reason why the auto payment for this item commitment is delayed. """ delayReason: ID """ This timestamp indicates the date and time when auto payment for this item commitment is scheduled to be processed. """ processingScheduledAt: DateTime! } """ This union type is used to indicate the state of an auto payment. """ union AutoPaymentState = AutoPaymentCompleted | AutoPaymentFailed | AutoPaymentScheduled """ This type represents actions the user can take for a specific return. The actions include the primary response action (such as approve or provide label), and any additional context-dependent actions (such as message seller or update address). Actions available depend on the current state of the return and the user's role. """ type AvailableReturnActions { """ The primary action that the user is expected to take, including the due date for completing the action. This field is present if an action is required from the user. """ respondByAction: ReturnRespondByAction """ A list of one or more optional or supplementary actions the user can take in addition to the primary response. """ secondaryActions: [ReturnAction!] } """ This type indicates that the return shipment cannot begin because its missing required fulfillment details (for example, return label, RMA number, or seller-provided instructions). The responsible actor, usually the seller or platform, must provide these details before the shipment can proceed. """ type AwaitingReturnFulfillmentDetails implements ReturnFulfillmentStatus { """ This field contains an enumerated value that indicates the actor responsible for providing the missing fulfillment details. Typical values: `SELLER`, `EBAY`, `BUYER`. """ actionDueFrom: PostPurchaseActorRole! """ A machine-readable code identifying the return fulfillment status. **Format**: Alphanumeric with underscores **Maximum length**: 512 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that all required shipment details are available and the return is ready to be initiated. The sender (usually the buyer) must now take action to start the shipment, such as printing the label or scheduling a pickup. """ type AwaitingReturnFulfillmentInitiation implements ReturnFulfillmentStatus { """ This field contains an enumerated value that indicates the actor responsible for providing the missing fulfillment details. Typical values: `EBAY`, `BUYER`. """ actionDueFrom: PostPurchaseActorRole! """ A machine-readable code identifying the return fulfillment status. **Format**: Alphanumeric with underscores **Maximum length**: 512 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to show if the seller has enabled the Best Offer feature for the listing, and if Best Offer is enabled, the auto-accept and auto-decline Best Offer price thresholds if the seller has set either of these thresholds. """ type BestOfferTerms { """ This boolean field indicates whether or not the Best Offer feature is enabled for the listing. For auction listings, note that the Buy it Now feature is disabled as soon as an auction listing gets a qualifying bid, and all pending Best Offers or counteroffers become invalid. """ acceptBestOffer: Boolean """ The price at which Best Offers will be automatically accepted by the seller if they meet or exceed the price. Auto-accept is an optional feature for the seller. **Note**: This object is only accessible to the seller of this listing """ autoAcceptThresholdAmount: ConvertedAmount """ The price at which Best Offers will be automatically declined by the seller if they are equal to or below the price. Auto-decline is an optional feature for the seller. **Note**: This object is only accessible to the seller of this listing """ autoDeclineThresholdAmount: ConvertedAmount } """ This type is used to aggregate data related to a bidder's involvement in an auction item. This type is returned for any logged in user viewing an auction item, regardless of whether they have participated in it or not. Some fields may be null if the user has not placed a bid on the auction item. """ type BidderAuctionDetails { """ The current user's maximum bid price on this auction. A `null` value for this field indicates that the current user has not yet placed a bid on this auction. """ maxBid: ConvertedAmount """ The minimum amount the `bidder` needs to place to have a valid bid on this auction item. **Note**: This minimum-to-bid calculation considers only confirmed bids on the auction. """ minimumQualifyingBidForMaxBid: ConvertedAmount! """ The status of the user's recent bid on this auction. This will be `null` if the user has not placed a bid on this auction. """ userBiddingStatus: BidStatus """ A list of suggested bids to display to the `bidder` based on the current auction price. """ userPowerBids: [ConvertedAmount!]! } """ Filters to refine and display a user's bidding activity history. """ input BiddingActivityFilter { """ When used in conjunction with `activeBefore`, the **userBiddingActivity** query returns a list of items for which the user has placed bid that have end dates **on or after** this timestamp. **Note**: If `activeAfter` is not defined, it defaults to the 90 days before the current date. If both `activeAfter` and `activeBefore` are omitted, by default the query will return a list of items for which the user has placed a bid within the prior 90-day period that ends when the query is issued. This window can be adjusted to last 10 days to fetch items ending within the next 10 days. This will include all active items with some completed items. """ activeAfter: DateTime """ When used in conjunction with `activeAfter`, the **userBiddingActivity** query returns a list of items for which the user has placed bid that have end dates **on or before** this timestamp. **Note**: If `activeBefore` is not defined, it defaults to the current date. If both `activeAfter` and `activeBefore` are omitted, by default the query will return a list of items for which the user has placed a bid within the prior 90-day period that ends when the query is issued. This window can be adjusted to last 10 days to fetch items ending within the next 10 days. This will include all active items with some completed items. """ activeBefore: DateTime """ Specifies the maximum number of items displayed on a page when retrieving bidding activity history. - Maximum page size: 20 items per request - Minimum page size: 1 item per request By default, when this parameter is omitted, the `userBiddingActivity` query returns the first 20 results. """ paginationInput: PageInfoInput = { maxPageSize: 20 } } """ Represents a list of bid history records (active, cancelled, or retracted,) along with pagination. """ type BidHistoryRecordsPaginated { """ List of bid history records (active, cancelled or retracted) """ bidHistoryRecords: [BidRecord!]! """ PaginationOutput Null represents no pages available. """ paginationOutput: Pagination } """ This interface type represents data about a bid. """ interface BidMetadata { """ The date and time, expressed in UTC, when the bid was placed. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ """ placedAt: DateTime! } """ This type represents each `BidRecord`, which stores information about one bid on an item. Stored information includes bid amount, the user ID of the bidder associated with the bid, and the time the bid was placed. """ type BidRecord { """ This field indicates the calculated bid value. This value is derived from the original bid amount and adjusted according to the auction style or other business logic. This only contains the base amount for the bid without any user context. """ bidAmount: ConvertedAmount! """ This field represents metadata for the **BidRecord**, encapsulating things such as the date the bid was placed. """ bidMetadata: BidMetadata! """ This field indicates information about the user who placed the bid. """ bidder: User! """ This field provides the bidder's past bidding details over a period of 30 days. """ buyerBiddingSummary: BuyerBiddingSummary! } """ This type offers insights into the bidding activity associated with an auction item. """ type BidStatistics { """ This value indicates the total number of bids submitted for the auction item, and includes all bids placed by users but excludes bids automatically generated by the system. **Default**: 0 """ userSubmittedBidCount: Int! } """ This enumerated type provides values for the status representing the buyer's bidding status for the given auction listing. """ enum BidStatus { """ This value indicates that the buyer has been outbid by another bid in this auction listing. """ OUTBID """ This value indicates that the buyer has the leading/winning bid in this auction listing. """ WINNING } """ This type is used to provide a bulk data transfer threshold evaluation for a region, metric type, policy framework, and aggregation window. """ type BulkDataThreshold { """ This array provides a consolidated list of API elements contributing to threshold usage across data categories. """ consolidatedApiElements: [ConsolidatedApiElement!]! """ This field returns the date and time when the threshold metrics were evaluated. **Example**: `2026-06-12T02:20:58.463Z` """ evaluatedAt: DateTime! """ This field returns the metric type used for the threshold evaluation. """ metricType: BulkDataTransferThresholdsMetricType! """ This array provides threshold metrics grouped by data category. """ metrics: [BulkDataTransferThresholdMetric!]! """ This field returns the policy framework used for the threshold evaluation. """ policyFramework: PolicyFramework! """ This field returns the policy framework version used for the threshold evaluation. **Example**: `1.0` """ policyVersion: String! """ This field returns the region for which the threshold was evaluated. **Example**: `US` """ region: String! """ This field returns the aggregation window over which usage was calculated. """ window: ThresholdWindow! } """ This type is used to provide threshold metrics for a specific data category. """ type BulkDataTransferThresholdMetric { """ This array provides the API elements that contributed to usage for the data category. """ apiElements: [ApiElement!]! """ This field returns the current usage count for the data category during the aggregation window. """ currentCount: Long! """ This field returns the data category being evaluated. **Example**: `PersonalFinancialData` """ dataCategory: String! """ This field returns the configured threshold limit for the data category. """ thresholdLimit: Long! """ This field returns the current usage as a percentage of the configured threshold limit. """ thresholdPercentage: Float! """ This field returns the usage status against the configured threshold limit. """ thresholdStatus: ThresholdStatus! } """ This input type is used to filter bulk data transfer threshold metrics. """ input BulkDataTransferThresholdsInput { """ This array filters threshold metrics by API operation. If this field is omitted or empty, the service evaluates all applicable operations for the calling context. **Examples**: `GetAccount`, `getPayout`, `getPayouts`. """ apiOperations: [String!] """ This field identifies the metric type used for threshold evaluation. If this field is omitted, the service uses `USER`. """ metricType: BulkDataTransferThresholdsMetricType """ This field identifies the policy framework used for threshold evaluation. If this field is omitted, the service uses `BULK_DATA_TRANSFER_POLICY`. """ policyFramework: PolicyFramework """ This array filters threshold metrics by region. If this field is omitted or empty, the service evaluates all available regions for the calling context. **Example**: `US` """ regions: [String!] } """ This enum type defines the metric types for bulk data transfer threshold evaluation. """ enum BulkDataTransferThresholdsMetricType { """ This value indicates that thresholds are evaluated for the authenticated user or application context. """ USER } """ This output type is used to provide bulk data transfer threshold metrics for the query. """ type BulkDataTransferThresholdsOutput { """ This array provides threshold evaluations that match the query criteria. If no threshold data matches the input, an empty array is returned. """ thresholds: [BulkDataThreshold!]! } """ This output type is used when a **bulkUpdateInventory** mutation fails, and includes the identifiers of the items that failed to be updated and the error associated with the failure. """ type BulkUpdateInventoryFailure implements BusinessError { """ This field shows the unique identifier of the error that was triggered, and the value should always be `LSTNG_BULK_UPDATE_INVENTORY_FAILURE_ERROR`. """ errorCode: String! """ An error message providing the reason for the failure. This text will be in English, regardless of the listing marketplace. """ errorMessage: String! """ This array will include the identifiers of the items that failed to be updated, and will also include the error(s) and any non-blocking warnings that were triggered for any of those items being updated. """ failures: [UpdateInventoryFailure!]! } """ This type is used to update the price and/or quantity of items in fixed price listings. Up to four items can be updated in a single **bulkUpdateInventory** mutation. """ input BulkUpdateInventoryInput { """ This array is used to update the price and/or quantity for one to four items in fixed price listings. For each item identified in the array, either the price, the quantity, or both fields must be included. These items can all be separate SKUs in the same multiple-SKU listing, items in four different listings, or a combination of the two. """ inventory: [UpdateInventoryInput!]! } """ This union type is used to represent the possible outcomes of the **bulkUpdateInventory** mutation. """ union BulkUpdateInventoryOutput = BulkUpdateInventoryFailure | BulkUpdateInventoryPartialFailure | BulkUpdateInventorySuccess """ This output type is used when a **bulkUpdateInventory** mutation is partially successful, where one or more items were successfully updated, but one or more other items failed to be updated. The **successes** array will show the identifiers of the items that were successfully updated, the **failures** array will show the identifiers of the items that failed to be updated, and the error fields will provide more details on the issue(s) that caused the mutation to only be partially successful. """ type BulkUpdateInventoryPartialFailure implements BusinessError { """ This field shows the unique identifier of the error that was triggered, and the value should always be `LSTNG_BULK_UPDATE_INVENTORY_PARTIAL_FAILURE_ERROR`. """ errorCode: String! """ An error message providing the reason for the partial failure. This text will be in English, regardless of the listing marketplace. """ errorMessage: String! """ This array will include the identifiers of the items that failed to be updated, and will also include the error(s) and any non-blocking warnings that were triggered for any of those items that failed to be updated. """ failures: [UpdateInventoryFailure!]! """ This array will include the identifiers of the items that were successfully updated, and will also include any non-blocking warnings that were triggered for any of those items that were updated. """ successes: [UpdateInventorySuccess!]! } """ This output type is used when a **bulkUpdateInventory** mutation is successful, and includes the identifiers of the items that were successfully updated. It will also include any non-blocking warnings that were triggered for any of those items, if any. """ type BulkUpdateInventorySuccess { """ This array will include the identifiers of the items that were successfully updated, and will also include any non-blocking warnings that were triggered for any of those items being updated. """ successes: [UpdateInventorySuccess!]! } """ This output type is used when a **bulkUpdateItemCommitmentTags** mutation fails completely, and none of the specified item commitments are updated with new item commitment tags or deleted item commitment tags. The **failures** array will show the identifiers of the item commitments whose item commitment tags failed to be updated, and the error fields will provide more details on the issue(s) that caused the mutation to fail. """ type BulkUpdateItemCommitmentTagsCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `UPDATE_ITEM_COMMITMENT_TAGS_COMPLETE_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of item commitments that failed to be updated with new item commitment tags or deleted item commitment tags. """ failures: [UpdateItemCommitmentError!]! } """ This type is used to add or delete an item commitment tag for up to 100 item commitments. """ input BulkUpdateItemCommitmentTagsInput { """ This array is used to add or delete an item commitment tag for up to 100 item commitments. **Maximum number of item commitments**: 100 """ itemCommitmentTagUpdates: [UpdateItemCommitmentTagInput!]! } """ This union type is used to represent the possible outcomes of the **bulkUpdateItemCommitmentTags** mutation. """ union BulkUpdateItemCommitmentTagsOutput = BulkUpdateItemCommitmentTagsCompleteFailure | BulkUpdateItemCommitmentTagsPartialFailure | BulkUpdateItemCommitmentTagsSuccess """ This output type is used when a **bulkUpdateItemCommitmentTags** mutation is partially successful, where one or more specified item commitment tag operations in one or more item commitments were successfully performed, but one or more other specified item commitment tag operations in one or more item commitments failed. The **updatedItemCommitments** array will display all item commitments whose item commitment tags were updated, the **failures** array will show the identifiers of the item commitments whose item commitment tags failed to be updated, and the error fields will provide more details on the issue(s) that caused the mutation to only be partially successful. """ type BulkUpdateItemCommitmentTagsPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `UPDATE_ITEM_COMMITMENT_TAGS_PARTIAL_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of item commitments that failed to be updated with new item commitment tags or deleted item commitment tags. """ failures: [UpdateItemCommitmentError!]! """ This array shows the full list of item commitments that were successfully updated with new item commitment tags or deleted item commitment tags. """ updatedItemCommitments: [ItemCommitment!]! } """ This output type is used for a **bulkUpdateItemCommitmentTags** mutation when all specified item commitment tag operations in all item commitments were successfully performed, and displays detailed information on each of the updated item commitments. """ type BulkUpdateItemCommitmentTagsSuccess { """ This array shows the full list of item commitments that were successfully updated with new item commitment tags or deleted item commitment tags. """ updatedItemCommitments: [ItemCommitment!]! } """ This type represents a complete failure for a **bulkUpdateOrderTags** mutation. The return includes the orders that could not be updated with the tags specified in the request. **Note**: No order's tag was successfully updated. """ type BulkUpdateOrderTagsCompleteFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `UPDATE_ORDER_TAGS_COMPLETE_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ This array lists one or more orders that could not be updated. **Note**: This list is never empty. """ failures: [UpdateOrderError!]! } """ The base request type for the **bulkUpdateOrderTags** mutation is used to update order tags. """ input BulkUpdateOrderTagsInput { """ This array is used to provide updates to one or more order tags. """ updates: [UpdateOrderTagInput!]! } """ This base response union type for the **bulkUpdateOrderTags** mutation returns those orders successfully updated and those that failed. """ union BulkUpdateOrderTagsOutput = BulkUpdateOrderTagsCompleteFailure | BulkUpdateOrderTagsPartialFailure | BulkUpdateOrderTagsSuccess """ This type represents a partial success and partial failure for a **bulkUpdateOrderTags** mutation. The return includes both the orders that that tags were successfully updated and those that could not be updated with the tags specified in the request. """ type BulkUpdateOrderTagsPartialFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `UPDATE_ORDER_TAGS_PARTIAL_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ This array lists one or more orders that could not be updated. **Note**: This list is never empty. """ failures: [UpdateOrderError!]! """ List of orders successfully updated (may be empty). """ updatedOrders: [Order!]! } """ This type indicates a successful **bulkUpdateOrderTags** mutation with all orders submitted successfully updated with the tags specified in the request. """ type BulkUpdateOrderTagsSuccess { """ A list of one or more orders successfully updated with the specified tags. """ updatedOrders: [Order!]! } """ This output type is used when a **bulkUpdatePurchaseQuotes** mutation fails, and none of the purchase quotes were successfully updated. The **failures** array will show the identifiers of the purchase quotes that failed to be updated, and the error fields will provide more details on the issue(s) that caused the mutation to fail. """ type BulkUpdatePurchaseQuotesCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `UPDATE_QUOTES_COMPLETE_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array contains the unique identifiers of all purchase quotes that were not successfully updated, and the error(s) that caused them not to be updated. """ failures: [UpdatePurchaseQuoteError!]! } """ The base input type used for the **bulkUpdatePurchaseQuotes** mutation. """ input BulkUpdatePurchaseQuotesInput { """ This array is used to provide updates on up to 100 purchase quotes. **Note**: A separate node is required for each purchase quote being updated. """ updates: [UpdatePurchaseQuoteInput!]! } """ This union type is used to represent the possible outcomes of the **bulkUpdatePurchaseQuotes** mutation. """ union BulkUpdatePurchaseQuotesOutput = BulkUpdatePurchaseQuotesCompleteFailure | BulkUpdatePurchaseQuotesPartialFailure | BulkUpdatePurchaseQuotesSuccess """ This output type is used when a **bulkUpdatePurchaseQuotes** mutation is partially successful, where one or more purchase quotes are successfully updated, but one or more other purchase quotes failed to be updated. The **updatedPurchaseQuotes** array will display all purchase quotes that were successfully updated, the **failures** array will show the identifiers of the purchase quotes that failed to be updated (and the error(s) that led to failure), and the error fields will provide more details on the issue(s) that caused the mutation to only be partially successful. """ type BulkUpdatePurchaseQuotesPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `UPDATE_QUOTES_PARTIAL_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array contains the unique identifiers of all purchase quotes that were not updated successfully, and the error(s) that caused them not to be updated. **Note**: There will always be at one object in this array. """ failures: [UpdatePurchaseQuoteError!]! """ This array contains all of the successfully updated purchase quotes. **Note**: There will always be at one object in this array. """ updatedPurchaseQuotes: [PurchaseQuote!]! } """ This output type is used when a **bulkUpdatePurchaseQuotes** mutation is successful and all purchase quotes are successfully updated. """ type BulkUpdatePurchaseQuotesSuccess { """ This array contains all of the successfully updated purchase quotes. """ updatedPurchaseQuotes: [PurchaseQuote!]! } """ This type shows the street address for a business entity such as the product manufacturer or responsible person. """ type BusinessEntityAddress { """ The first line of the entity's street address. """ addressLine1: String """ The second line of the entity's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. """ addressLine2: String """ The city of the entity's street address. """ city: String """ The two-letter ISO 3166-1 standard abbreviation of the country of the entity's address. """ country: CountryAlpha2Code """ The postal code of the entity's street address. """ postalCode: String """ The state or province of the entity's street address. """ stateOrProvince: String } """ This type shows the contact information of a product manufacturer or an EU Responsible Person, and this information includes an email address, a phone number, and/or a contact URL. At least one of the three forms of contact for a product manufacturer or an EU Responsible Person must be provided. """ type BusinessEntityContact { """ This field shows the entity's contact/support URL. """ contactUrl: HttpOrHttpsUrl """ This field shows the entity's email address. """ email: String """ This field shows the entity's phone number. """ phone: String } """ The base interface used for all business errors. Business errors are errors that may occur during normal API operations due to business logic errors such as validation failures or resource not found scenarios. All business error types implement this interface to provide consistent error handling across the API. """ interface BusinessError { """ The unique identifier of the specific error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. **Maximum length**: 40 characters **Format**: Alphanumeric characters and underscores, in UPPER_CASE format """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! } """ This type provides a seller's business related information. """ type BusinessIdentityProfile { """ The email address of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ businessEmail: String """ The name of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ businessName: String """ The primary telephone number of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ businessPrimaryPhone: Phone """ The physical address of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ businessProfileAddress: ProfileAddress } """ This type represents a seller-defined business policy (payment, shipping, or return). A business policy contains information on one policy, with the specific policy information contained in **policyDetails**. """ type BusinessPolicy { """ The unique identifier of the business policy. """ businessPolicyId: ID! """ A seller-defined description of the return business policy. This description is only for the seller's use, and is not exposed on any eBay pages. This can be null when no description was provided during policy creation. **Maximum length**: 250 characters """ description: String """ This enumerated value indicates the marketplace where this business policy applies. This field returns null when marketplace information is not available. """ marketplace: BusinessPolicyMarketplace """ A seller-defined name for this return business policy. Names must be unique per site and per type. **Maximum length**: 64 characters **Occurrence:** Always """ name: String """ Detailed information specific to the kind of business policy (return, shipping, or payment). This field returns null when policy details are not available or cannot be retrieved. """ policyDetails: PolicyDetails } """ This enumerated type contains the values that indicate the different eBay marketplaces. """ enum BusinessPolicyMarketplace { """ This value indicates the applicable marketplace is eBay Austria. """ EBAY_AT """ This value indicates the applicable marketplace is eBay Australia. """ EBAY_AU """ This value indicates the applicable marketplace is Dutch language version of eBay Belgium. """ EBAY_BE """ This value indicates the applicable marketplace is French language version of eBay Belgium. """ EBAY_BEFR """ This value indicates the applicable marketplace is English language version of eBay Canada. """ EBAY_CA """ This value indicates the applicable marketplace is French language version of eBay Canada. """ EBAY_CAFR """ This value indicates the applicable marketplace is eBay Switzerland. """ EBAY_CH """ This value indicates the applicable marketplace is eBay Germany. """ EBAY_DE """ This value indicates the applicable marketplace is eBay Spain. """ EBAY_ES """ This value indicates the applicable marketplace is eBay France. """ EBAY_FR """ This value indicates the applicable marketplace is eBay UK. """ EBAY_GB """ This value indicates the applicable marketplace is eBay Hong Kong. """ EBAY_HK """ This value indicates the applicable marketplace is eBay Ireland. """ EBAY_IE """ This value indicates the applicable marketplace is eBay Italy. """ EBAY_IT """ This value indicates the applicable marketplace is eBay Malaysia. """ EBAY_MY """ This value indicates the applicable marketplace is eBay Netherlands. """ EBAY_NL """ This value indicates the applicable marketplace is eBay Philippines. """ EBAY_PH """ This value indicates the applicable marketplace is eBay Poland. """ EBAY_PL """ This value indicates the applicable marketplace is eBay Singapore. """ EBAY_SG """ This value indicates the applicable marketplace is eBay US. """ EBAY_US """ This value indicates the applicable marketplace is eBay US Motors. """ EBAY_US_MOTORS } """ This type defines deposit requirements for motor vehicle purchases including the deposit amount, when the deposit is due, and the deadline for full payment. """ type BusinessPolicyMotorVehicleDepositDetails { """ This object applies to motor vehicles listings only and indicates when the final payment for the vehicle is due. This value indicates the number of days that a buyer has to make their full payment to the seller and close the remaining balance on a motor vehicle transaction. The period starts when the buyer commits to buy. May be null when not applicable or not specified. The valid values in days: `3` , `7` (default), `10`, `14` **Default**: `7` days **Occurrence:** Conditional """ daysToMakeFullPayment: Int """ This value indicates the initial deposit amount required from the buyer in order to purchase a motor vehicle. This value can be as high as $2,000.00 if immediate payment is not required, and up to $500.00 if immediate payment is required. May be null when no deposit amount is required. **Maximum**: 2000.00 **Occurrence:** Conditional """ depositAmount: ConvertedAmount """ This value indicates the number of hours that the buyer has (after they commit to buy) to pay the initial deposit on a motor vehicle. Valid times are 24, 48, and 72 hours. `HOUR` is set as the unit value, and 24, 48 or 72 are set in the value field. If the motor vehicle listing requires immediate payment, this value is overridden and the deposit is due immediately. May be null when immediate payment is required. The valid values in hours: `24` hours, `48` hours (default), `72` hours **Default**: 48 hours **Occurrence:** Conditional """ hoursToDeposit: Int } """ This type represents a single shipping service option within a seller's shipping policy, including base and additional unit costs, covered ship-to locations, optional packaging and handling fees, offered by the seller to ship an item to a buyer. """ type BusinessPolicyShippingServiceDetails { """ The incremental shipping cost per additional unit of the same line item purchased by the same buyer. May be null when not applicable (for example, single-quantity listings or when the service does not charge per-unit increments). """ additionalUnitShippingCost: ConvertedAmount """ The set of ship-to locations supported by this shipping service option. Locations may be countries, regions, states/provinces, or marketplace-defined areas. Supported codes are marketplace-specific and are not localized. If no locations are configured for this service, the list will be empty. **Note**: The field is typically present, but its list may be empty. This field should not be null unless an error has occurred. See the error section of the response for more details. """ includedShipToLocations: [ShippingLocation!] """ The seller's packaging/handling fee for this shipping service, in addition to carrier charges. May be null if no handling fee is configured. """ packageHandlingCost: ConvertedAmount """ The display order ranking for shipping services relative to the other services (lower values appear first) in which the ShippingService appears on the View Item and Checkout page. May be null if no value is set. """ rank: Int """ The base cost of shipping one unit using the shipping service specified in the corresponding Shipping Service field. """ shippingCost: ConvertedAmount """ The unique identifier of a shipping service option being offered by the seller to ship an item to a buyer. This is not localized and may not be directly displayed to an end user. This should not be null unless an error has occurred. See the error section of the response for more details. """ shippingServiceOptionCode: ID } """ This type defines the legal contact stakeholder for the business account. This field always returns only the stakeholder designated as the business's **legal contact**. If no legal contact exists for the account, this field returns an empty list. """ type BusinessStakeholder { """ The first name of the legal contact of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ firstName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly"]) """ The last name of the legal contact of the business. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ lastName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly"]) """ The middle name of the legal contact of the business, if provided. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ middleName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly"]) } """ This type stores bidding history information for a specific bidder for an auction item. """ type BuyerBidDetailsOnItem { """ The total number of bids the user has placed on the auction item. Returns 0 if the buyer has placed no bids. """ bidCount: Int! """ This is the unique identifier of the eBay category in which the auction item is listed. """ category: Category! """ This timestamp indicates the date/time at which the user placed their most recent bid on the auction item. **Format**: `YYYY-MM-DDTHH:MM:SS.SSSZ` """ mostRecentBidAt: DateTime! } """ This type provides bidding details of a buyer within the last 30 days. """ type BuyerBiddingSummary { """ The buyer's bidding activity with a specific seller, expressed as a percentage of their total bidding activity. This value will be rounded to the nearest whole number and will always have a non-null value. If the buyer has not placed any bids with any sellers, or has not bid on items from the given seller within the last 30 days, this field will be set to `0`. """ bidsWithSellerPercentage: Percentage! """ This array shows details of the user bids at listing level and includes bid count, listing category, and most recent bid. This array is returned as empty if the user has placed no bids. """ itemBids: [BuyerBidDetailsOnItem!]! """ This integer value indicates the total number of bids that the user has retracted across all items. Returns 0 if there are no retracted bids by the buyer. """ retractedBidCount: Int! """ This integer value indicates the total number of bids (from any and all eBay sellers) that the user has placed. Returns 0 if the buyer has placed no bids. """ totalBidCount: Int! """ This integer value indicates the total number of bids the user has placed for unique listing categories. Returns 0 if the buyer has placed no bids. """ uniqueListingCategoryBidCount: Int! """ This integer value indicates the total number of bids the user has placed with unique sellers. Returns 0 if the buyer has placed no bids. """ uniqueSellerBidCount: Int! } """ This type indicates that the buyer has confirmed receipt of the item. """ type BuyerConfirmedDelivery implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `BUYER_CONFIRMED_RECEIVED_ITEM`. """ code: String! """ The human-readable text of the case referral reason. **Format**: Alphanumeric **Maximum length**: 100 characters """ displayText: String! } """ The base request type for the **buyerNegotiationHistory** query. This type is used to define the filters for the response payload. """ input BuyerNegotiationHistoryInput { """ This object can be used to specify the filters used for retrieving a buyer's negotiation history. If This object is omitted, the following default filters will be used: - Time window: last **90 days** by most-recent activity - Recent negotiation status: **ACTIONABLE** - Initiator: **BUYER** """ filters: NegotiationHistoryFilters } """ The base response union type for the **buyerNegotiationHistory** query. """ union BuyerNegotiationHistoryOutput = BuyerNegotiationHistorySuccess """ This type is used for a successful **buyerNegotiationHistory** query. This type returns item negotiation information, as well as pagination for each negotiated item and its latest offer per thread. **Note**: Pagination is applied at the *item* level; each element in `itemNegotiations` is an item bucket with that item’s negotiation information. """ type BuyerNegotiationHistorySuccess { """ This object returns item-level buckets, with each element representing one negotiated item and its matching negotiations (latest offer per thread). This includes list of negotiation threads associated with the item and the offers exchanged within each negotiation. """ itemNegotiations: [ItemNegotiation!]! """ This object returns cursor-based pagination for the item buckets (items are paged; negotiations inside an item are not paged). """ pagination: Pagination! } """ This type defines the business rule error that occurs when a buyer has reached the offer limit. """ type BuyerOfferLimitReached implements OfferBusinessRuleViolation { """ A timestamp that indicates the moment the buyer will be able to make an offer without returning an error. """ restrictionExpiresAt: DateTime """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type is used to define a source payment account for a payer. """ type BuyerPaymentAccount implements FundAccount { """ A unique identifier that identifies the domain or type of account for the payer. """ domain: ID! """ The unique identifier of the payer's account. """ identifier: ID! """ The eBay user associated with this account. """ user: User } """ This type represents a buyer's refund breakdown. **Note**: These fields can only be accessed by a buyer. """ type BuyerRefundBreakdown implements RefundBreakdown { """ The net refund amount being refunded to the buyer. This value equals the **totalRefundAmount** subtracted by any withholdings on the order (specified through the **totalWithholdingAmount** object). """ netRefundAmount: AmountSet! """ This array returns the list of pricelines that are being refunded. """ refundPriceLines: [PriceLineRollup!]! """ The total monetary amount being refunded to the buyer. """ totalRefundAmount: AmountSet! """ The total withholding amount applied on the refund. If this object is returned as `null`, there are no additional with holdings applied on refund. """ totalWithholdingAmount: AmountSet """ This array returns the list of withholdings applied on the refund. If this array is returned `null`, there are no additional with holdings applied on refund. """ withholdings: [RefundWithholding!] } """ This type provides detail about refund distributions to a buyer. """ type BuyerRefundDistribution implements PayeeRefundDistribution { """ This array returns a list of distribution execution associated with a refund made to a buyer. """ distributionExecutions: [RefundDistributionExecution!] """ This field returns the current refund distribution state of the buyer refund. """ distributionState: RefundDistributionState! } """ This type represents a buyer's refund estimation breakdown. """ type BuyerRefundEstimateBreakdown implements RefundEstimateBreakdown { """ This array returns a list of withholdings that can be applied on the contract. If this array is empty, no additional withholdings have been applied to the refund estimation. """ estimatedWithholdings: [RefundWithholding!]! """ The estimated net refund amount. This value is determined by subtracting the **totalEstimatedWithholdingAmount** from the **totalEstimatedRefundAmount**. """ netEstimatedRefundAmount: AmountSet! """ This array returns a list of pricelines that are being refunded. """ refundPriceLines: [PriceLineRollup!]! """ The estimated total monetary amount of the refund. """ totalEstimatedRefundAmount: AmountSet! """ The estimated total withholding amount, if there are any withholdings on the refund. **Note**: If this object is returned `null`, no withholding amount has been applied for refund estimation. """ totalEstimatedWithholdingAmount: AmountSet } """ This type represents the buyer's refund recovery breakdown, providing details about the amounts recovered from a buyer's provisional refund. **Note**: These fields can only be accessed on behalf of a buyer. """ type BuyerRefundRecoveryBreakdown { """ The net amount being recovered by the buyer for a provisional refund. This value equals the **totalRecoveryAmount** subtracted by any applicable withholding. """ netRecoveryAmount: AmountSet! """ This array returns the list of pricelines associated with the buyer's provisional refund. """ recoveryPriceLines: [PriceLineRollup!]! """ The total monetary amount being recovered from the buyer. """ totalRecoveryAmount: AmountSet! } """ This type represents the reason used by seller when the buyer requested the seller to cancel the contract. """ type BuyerRequestedCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `BUYER_REQUESTED`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to show if the seller has disabled account-level buyer restrictions for the listing and/or they have set up a listing-level level setting where buyers have a maximum amount of quantity that they may purchase during the duration of a multiple-quantity, fixed price listing. """ type BuyerRestrictions { """ This boolean field indicates whether or not the seller's account-level buyer restrictions are applicable to the listing. If this value is set `true`, any account-level buyer restrictions do not apply to the listing, and if the value is `false` (default value), any account-level buyer restrictions will apply to the listing. **Note**: This field is only shown to the seller (owner of the listing). """ disableBuyerRestrictions: Boolean """ A mechanism to restrict the quantity of items that may be purchased by one buyer during the duration of a fixed-price listing (single or multi-variation). This is optional and can be used with an Add, Revise, or Relist call. """ quantityLimitPerBuyer: Int } """ This type defines a cancellation adjustment. A cancellation adjustment refers to the process of modifying or updating a transaction when an order is canceled after the purchase has been made. This typically involves adjustments to the payment, inventory, and order state, reflecting that the transaction will no longer proceed as originally planned. """ type CancellationAdjustment implements OrderAdjustment { """ The user-friendly ID of the adjustment. """ adjustmentId: ID! """ The cancellation event associated with this adjustment. """ cancellation: OrderCancellation! """ The creation date of the adjustment. """ createdAt: DateTime! """ The state of the adjustment. """ state: OrderAdjustmentState! """ The last updated date-time of the adjustment. """ updatedAt: DateTime! } """ This type indicates the cancellation ineligibility failure reason was because a dispute already exists. """ type CancellationConflictWithDispute implements OrderLineItemCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_DISPUTE_EXISTS_CONFLICT`. """ code: String! """ A human-readable description of the eligibility failure reason: `You cannot cancel this order because the buyer has filed a payment dispute on this order.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of one or more order line item IDs whose cancellation was blocked by an order line-item level eligibility rule. """ orderLineItemIds: [ID!]! } """ This type indicates the cancellation is ineligible due to an order fulfillment conflict. """ type CancellationConflictWithFulfillment implements OrderLineItemCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_FULFILLMENT_EXISTS_CONFLICT`. """ code: String! """ A human-readable description of the eligibility failure reason: `You cannot cancel this order because the order fulfillment process has already started.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of one or more order line item IDs whose cancellation was blocked by an order line-item level eligibility rule. """ orderLineItemIds: [ID!]! } """ This type indicates the cancellation is ineligibility because an inquiry already exists. """ type CancellationConflictWithInquiry implements OrderLineItemCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_INQUIRY_EXISTS_CONFLICT`. """ code: String! """ A human-readable description of the eligibility failure reason: `You cannot cancel this order because a case exists on this order`. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of one or more order line item IDs whose cancellation was blocked by an order line-item level eligibility rule. """ orderLineItemIds: [ID!]! } """ This type represents an ineligibility reason indicating a buyer payment issue that blocks cancelation eligibility. """ type CancellationConflictWithPaymentIssue implements OrderLineItemCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_PAYMENT_ISSUE_CONFLICT`. """ code: String! """ A human-readable description of the eligibility failure reason: `You cannot cancel this order because there's issue with buyer's payment. Please try again shortly.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The IDs of the order line items whose cancellation was blocked by order line item level eligibility rules. """ orderLineItemIds: [ID!]! } """ This type indicates the cancellation ineligibility failure reason was because a refund already exists. """ type CancellationConflictWithRefund implements OrderLineItemCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_REFUND_EXISTS_CONFLICT`. """ code: String! """ A human-readable description of the eligibility failure reason: `You cannot cancel this order because it has already been refunded.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of one or more order line item IDs whose cancellation was blocked by an order line-item level eligibility rule. """ orderLineItemIds: [ID!]! } """ This type represents an ineligibility reason indicating that the cancellation already existed for return on an order line item. """ type CancellationConflictWithReturn implements OrderLineItemCancellationIneligibilityReason { """ The machine-readable eligibility failure reason code. For this type, the value is `CNCL_RETURN_EXISTS_CONFLICT`. """ code: String! """ A human-readable message of the eligibility failure reason. For this type, the value is: `You cannot cancel this order because the buyer has already requested a return on this order.`. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The IDs of the order line items whose cancellation was blocked by order line item level eligibility rules. """ orderLineItemIds: [ID!]! } """ This type represents an ineligibility reason indicating the item commitment is not eligible. """ type CancellationItemCommitmentIneligible implements ItemCommitmentCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_ITEM_COMMITMENT_INELIGIBLE`. """ code: String! """ A human-readable description of the eligibility failure reason: `This item commitment cannot be cancelled due to policy restrictions.`. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The ID of the item commitment whose cancellation was blocked by item commitment level eligibility rules. """ itemCommitmentId: ID! } """ This type represents an ineligibility reason indicating the order is not eligible for cancellation. """ type CancellationOrderIneligible implements OrderCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_ORDER_INELIGIBLE`. """ code: String! """ A human-readable description of the eligibility failure reason: `This order cannot be cancelled due to policy restrictions.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The ID of the order whose cancellation was blocked by order level eligibility rules. """ orderId: ID! } """ This type represents an ineligibility reason indicating the purchase quote is not eligible. """ type CancellationPurchaseQuoteIneligible implements PurchaseQuoteCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_PURCHASE_QUOTE_INELIGIBLE`. """ code: String! """ A human-readable description of the eligibility failure reason: `This purchase quote cannot be cancelled due to policy restrictions.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The ID of the purchase quote whose cancellation was blocked by purchase quote level eligibility rules. """ purchaseQuoteId: ID! } """ This type represents a warning that refund processing failed after the cancellation was successfully created. The cancellation exists, but the refund encountered an error and may require user action or retry. This covers various refund failure scenarios including authorization failures, payment disputes, instrument issues, and processing errors. """ type CancellationRefundProcessingWarning implements ContractCancellationWarning { """ The machine-readable code warning code. For this type, the value is `CNCL_REFUND_PROCESSING_FAILED` """ warningCode: String! """ A human-readable message explaining the refund processing failure containing specific details about the failure reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters. """ warningMessage: String! } """ This type defines the valid date-time range within which the shipped date must fall. """ type CancellationShippedDateConstraint { """ The earliest valid shipped date-time (inclusive). This value typically corresponds to the order creation date. """ fromDate: DateTime! """ The latest valid shipped date-time (inclusive). This value typically corresponds to the current date-time. """ toDate: DateTime! } """ This type represents the cancellation shipped date input violations, applicable only to the **DeclineContractCancellation** mutation. **Note**: The shipped date should be after order creation date but before the current date. """ type CancellationShippedDateViolation implements DeclineCancellationViolation { """ The machine-readable code identifying the specific rule that was violated. For this type, the value is `CNCL_SHIPPED_DATE_VIOLATION`. """ code: String! """ This field indicates the constraints defined for the shipped date input. """ constraint: CancellationShippedDateConstraint! """ A human-readable description of the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type represents constraints defined for the cancellation shipping carrier code. """ type CancellationShippingCarrierCodeConstraint { """ The length of characters limited for cancellation shipping carrier code input. """ characterLimit: InputTextLengthRange! } """ This type represents cancellation shipping carrier code input violations used in the **DeclineContractCancellation** mutation. """ type CancellationShippingCarrierCodeViolation implements DeclineCancellationViolation { """ This machine-readable code identifies the specific rule that was violated. For this type, the value is `CNCL_SHIPPING_CARRIER_VIOLATION`. """ code: String! """ The constraints defined for cancellation shipping carrier code input. """ constraint: CancellationShippingCarrierCodeConstraint! """ This boolean is returned `true` if the tracking number contains characters that are not allowed by the constraint. """ containsInvalidCharacters: Boolean! """ A human-readable description of the violation. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean is returned `true` if the field exceeds the maximum length constraint. """ exceededLength: Boolean! } """ This type represents the constraints defined for cancellation tracking number. """ type CancellationTrackingNumberConstraint { """ The maximum length of characters for a cancellation tracking number. """ characterLimit: InputTextLengthRange! } """ This type represents the validation violations for cancellation tracking number used in the **DeclineContractCancellation** mutation. """ type CancellationTrackingNumberViolation implements DeclineCancellationViolation { """ This machine-readable code identifies the specific rule that was violated. For this type, the value is `CNCL_TRACKING_NUMBER_VIOLATION`. """ code: String! """ The constraints that apply to the cancellation tracking number. """ constraint: CancellationTrackingNumberConstraint! """ This boolean is returned `true` if the tracking number contains characters that are not allowed by the constraint. """ containsInvalidCharacters: Boolean! """ A human-readable description of the violation. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean is returned `true` if the field exceeds the maximum length constraint. """ exceededLength: Boolean! } """ This type defines the information associated with cancelled bid records. """ type CancelledBidMetadata implements BidMetadata { """ The date and time, expressed in UTC, when the corresponding bid was cancelled. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ """ cancelledAt: DateTime! """ The date and time, expressed in UTC, when the corresponding bid was placed. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ """ placedAt: DateTime! """ User-specified text indicating the reason for cancelling the corresponding bid. **Note**: The seller of an item will be able to view all cancellation reasons for cancelled bids associated with their own item. A bidder will only be able to view the cancellation reason associated with their own bid. """ reason: String! } """ This type defines information about a specific category within the marketplace, including identifiers and hierarchical structure. """ type Category { """ This array returns a list of one or more categories that are the ancestors of the current category. The list identifies the category's ancestry as a sequence of parent nodes, from the current node's immediate parent to the root node of the category tree. The first item in the array is the immediate ancestor, while the last element in list is the root category. **Note**: If this category is the root, the list will be empty. """ ancestors: [Category!]! """ The unique identifier of the eBay category. """ categoryId: ID! """ The level of the category in the hierarchy of the category. **Note**: Root categories are always at level `0`. """ level: Int! """ The display name of the category. **Note**: This name is not localized. """ name: String! """ Unique identifier of eBay category. Deprecated field. Do not use. """ id: ID! @deprecated(reason: "Use 'categoryId' field instead") """ This array returns a list of one or more categories that are the immediate children of the current category, as well as their children, recursively down the tree node. This array is returned in no guaranteed order. **Note**: If this category has no children, this list will be empty. """ children: [Category!]! """ This boolean indicates whether or not the category is a leaf category. If `true`, this category is a leaf category in which items may be listed. If `false`, this category is not a leaf category. """ leafCategory: Boolean! """ This object returns information about this category's parent category, if applicable. If the category has no parent, this object will be returned null. """ parent: Category } """ This type is used for charitable listings to show the non-profit organization that will benefit from the sale of the item, and the percentage of each sale that the organization will receive through a charitable donation. if the seller wishes to donate a set percentage of each sale on the listing to a non-profit organization **Note**: **eBay for Charity** is only supported on the US, UK, Germany, and Canada marketplaces. """ type Charity { """ The unique identifier of the non-profit organization that will benefit from each sale of the item. The ID returned here can be used in the [getCharityOrg](https://developer.ebay.com/api-docs/commerce/charity/resources/charity_org/methods/getCharityOrg) method to retrieve the name and more about the organization. """ charityOrganization: CharityOrganization """ The integer value returned in this field indicates the percentage of the purchase price that the seller will donate to the selected non-profit organization for each sale. The integer value returned here ranges from 10 to 100 (percent) and will be in 5 percent increments, such as 10, 15, 20, 25, and all the way up to 100 (percent). """ donationPercentage: Int } """ This type represents information related to the seller's charity affiliation, if applicable. """ type CharityAffiliation { """ The unique identifier of the nonprofit organization associated with the seller's account. Once a nonprofit organization becomes an eBay for Charity organization, eBay creates and assigns this ID to the nonprofit organization. """ charityOrganization: CharityOrganization! } """ This type represents the details of a charity organization, such as its name, identifier, and status. """ type CharityOrganization { """ The unique identifier of the charitable organization. """ charityOrganizationId: ID! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ The URL of the charity logo image. """ logoImageUrl: HttpOrHttpsUrl! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ The untranslated (non-localized) mission statement of the charitable organization expressing its goal and objectives. **Maximum length**: 2044 """ missionStatement: String! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ The untranslated (non-localized) name of the charitable organization. **Maximum length**: 800 characters """ name: String! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ The current operational status of the charitable organization, such as whether it is active or inactive. Valid values include: `ACTIVE`, `INACTIVE`, and `NO_LONGER_ACTIVE`. """ status: CharityStatus! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) } """ This enumerated type is used for specifying the status of a charitable organization. """ enum CharityStatus { """ This enum value indicates that the charitable organization is currently active and operational """ ACTIVE """ This enum value indicates that the charitable organization is currently inactive and not operational. """ INACTIVE """ This enum value indicates that the charitable organization was active in the past and is no longer active, possibly due to closure or loss of status. """ NO_LONGER_ACTIVE } """ This type defines the error returned when the buyer has not verified their age as an adult. This error occurs when purchasing items in age-restricted categories. The buyer must complete adult verification before proceeding with this purchase. """ type CommitmentAdultVerificationRequiredViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ The interface for commitment business rule violations. Clients can handle known violations specifically by checking `__typename`, and fall back to these interface fields for unknown violations. Possible implementations include: - CommitmentPriceMismatchViolation - CommitmentSelfPurchaseViolation - CommitmentItemNotEligibleViolation - CommitmentSaleHasEndedViolation - CommitmentAdultVerificationRequiredViolation - CommitmentBuyerEligibilityViolation - CommitmentBuyerUpiStrikeViolation - CommitmentHoldByResolutionViolation - CommitmentPrivacyUserAgreementNotAcceptedViolation - CommitmentPrivateSaleViolation - CommitmentItemSalePendingViolation - CommitmentShipToLocationExclusionViolation - CommitmentBuyerAccountRestrictionViolation - CommitmentBuyerBlockedBySellerViolation - CommitmentBuyerValidationViolation - CommitmentDailyDealItemLimitReachedViolation - CommitmentSellerStoreOnVacationViolation - CommitmentBuyerItemCountLimitViolation - CommitmentBuyerLowFeedbackScoreViolation - CommitmentBuyerAccountPolicyViolation """ interface CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Example**: "Item names must be at least 3 characters" **Note**: This message is intended for developers and should not be displayed directly to end users. **Maximum Length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer has violated a policy. """ type CommitmentBuyerAccountPolicyViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer's account is restricted from making commitments because the account is not fully provisioned. """ type CommitmentBuyerAccountRestrictionViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer is blocked by the seller from making commitments on their items. """ type CommitmentBuyerBlockedBySellerViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer fails the buyer eligibility check. This includes checks such as user auth checks, fraud checks, etc. """ type CommitmentBuyerEligibilityViolation implements CommitmentBusinessRuleViolation { """ The explanatory message of the specific policy violation. **Maximum length**: 100 characters """ policyViolationMessage: String """ If the block can be remediated, this field will contain a URL to redirect the user to take a remedial action. **Maximum length**: 2048 characters """ redirectUrl: String """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error indicating that the buyer has exceeded the maximum number of items allowed to be purchased from this seller. """ type CommitmentBuyerItemCountLimitViolation implements CommitmentBusinessRuleViolation { """ The maximum number of items a buyer is allowed to buy from the seller. """ maxItemsAllowed: Int! """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error indicating the buyer's feedback score is below the required threshold, as determined by the seller. """ type CommitmentBuyerLowFeedbackScoreViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer has an unpaid item strike (UPI). """ type CommitmentBuyerUpiStrikeViolation implements CommitmentBusinessRuleViolation { """ The duration, in days, for which the user is blocked from buying items. """ durationInDays: Int! """ The maximum allowed strikes a user can get before they are blocked from buying items. """ maxAllowedStrikes: Int! """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! """ The number of unpaid item strikes the user has. """ strikeCount: Int! } """ This type defines the error returned when the user validation fails. Possible reasons include: - User account is on hold. - User account is suspended. - User account is not found. - User account is not registered. """ type CommitmentBuyerValidationViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error indicating that the buyer has reached the maximum allowed daily deal item purchases. """ type CommitmentDailyDealItemLimitReachedViolation implements CommitmentBusinessRuleViolation { """ The number of Daily Deal items the buyer has already bought today. """ alreadyBoughtQuantity: Int! """ The maximum Daily Deal items a buyer is allowed to buy in a day. """ maxItemsAllowed: Int! """ The number of Daily Deal items the buyer is trying to buy. """ requestedQuantity: Int! """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the generic error returned when a business rule violation does not have a more specific type. """ type CommitmentDefaultBusinessRuleViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the item is currently on hold due to a resolution process. """ type CommitmentHoldByResolutionViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the item is not eligible for commitment. """ type CommitmentItemNotEligibleViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the sale is currently pending and cannot be committed to. """ type CommitmentItemSalePendingViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the offer price is not equal to the Buy It Now price. """ type CommitmentPriceMismatchViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer has not agreed to the privacy user agreement. This error occurs when purchasing items in categories that require user consent. The buyer must accept the privacy user agreement before proceeding with this purchase. """ type CommitmentPrivacyUserAgreementNotAcceptedViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the buyer does not have authorization to participate in a private sale. """ type CommitmentPrivateSaleViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the sale has ended or there is no available quantity. """ type CommitmentSaleHasEndedViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the seller is trying to buy their own item. """ type CommitmentSelfPurchaseViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the seller's store is on vacation. """ type CommitmentSellerStoreOnVacationViolation implements CommitmentBusinessRuleViolation { """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the error returned when the seller does not ship to the buyer's country. """ type CommitmentShipToLocationExclusionViolation implements CommitmentBusinessRuleViolation { """ The buyer's ship-to country that caused the violation. **Maximum length**: 50 characters """ buyerShipToCountry: String! """ The human-readable description of the business rule that was violated. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type represents a business error that occurs due to business rule violations during the execution of a commitment action. """ type CommitToPurchaseBusinessRulesViolated implements BusinessError { """ The globally unique error code for the `COMMT_BUSINESS_RULES_VIOLATED` business error type. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters """ errorMessage: String! """ The specific business rules that were violated. This field can return multiple violations simultaneously. """ violations: [CommitmentBusinessRuleViolation!]! } """ The base request type for the **commitToPurchase** mutation. This type is used to define the information needed for creating a commitment for a listing. This includes the item ID of the item the buyer wishes to purchase, as well as the price and quantity of the item. Additional information, such as user consent and adult verification, may also be required as applicable. """ input CommitToPurchaseInput { """ The unique identifier of the item the buyer wishes to purchase. If the item is part of a multi-SKU listing, the identifier of the variation is required. """ itemId: ID! """ The Buy It Now price of the item the buyer wishes to purchase. The item commitment will only be created if the item's price matches this value at the time of processing. If the item's price has changed, or this value does not match the Buy It Now price of the item, an error will be returned and the item commitment will not be created. """ price: AmountInput! """ The number of units requested by the buyer. This value can not exceed the available quantity of the listing. **Default**: 1 """ quantity: Int = 1 """ This boolean specifies if the buyer gives their consent to buy an item. This field is required if the item is in a category that requires user consent. If `true`, this boolean confirms that the buyer has read and agrees to eBay's privacy policy. If this field is `false` and the item category requires user consent, an error will occur. **Default**: false """ userConsentReceived: Boolean = false """ This boolean specifies if the buyer can bid on adult-only items. This field is required if the item is in a category that requires adult verification. If `true`, this field confirms that the buyer has been verified as an adult. If this field is `false` and the item category requires adult verification, an error will occur. **Default**: false """ userVerifiedAsAdult: Boolean = false } """ The union type for the **commitToPurchase** mutation. This type covers two possible scenarios: success or failure. If the **commitToPurchase** mutation succeeds, an **itemCommitment** object that returns the unique identifier of a successfully created item commitment will be returned. If the **commitToPurchase** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the item commitment will not be created. If a mutation fails, there will always be at least one blocking error. """ union CommitToPurchaseOutput = CommitToPurchaseBusinessRulesViolated | CommitToPurchaseSuccess | ReferenceArgumentsNotFound """ This type is used for a successful **commitToPurchase** mutation. On success, the unique identifier of the newly created item commitment entity is returned. """ type CommitToPurchaseSuccess { """ The unique identifier of the item commitment entity that was successfully created using the **commitToPurchase** mutation. """ commitment: ItemCommitment! } """ This type is used to provide additional information, such as characteristics or attributes, about the condition of an item in a structured format. """ type ConditionDescriptor { """ This boolean indicates whether the condition descriptor supports free text or predefined values only. If `true`, the descriptor allows user-entered text as values. If `false`, the value must be selected from the predefined list of values specified in the **conditionDescriptorValues** field. """ acceptsFreeText: Boolean! """ This field returns information about the category associated with the item condition. """ category: Category! """ The unique identifier of the condition descriptor. """ conditionDescriptorId: ID! """ This array returns a list of possible condition descriptor values for given condition descriptor name, applicable for the specified item condition. This field maps to the corresponding **displayName** field, and acts as the value for the associated condition descriptor name. """ conditionDescriptorValues: [ConditionDescriptorValue!]! """ The display name of the condition descriptor. **Note**: This text is localized for the specified marketplace by default. The **Accept-Language** header can be used to provide a translation to a different language from the marketplace default language. """ displayName: String! """ The maximum allowed length for user-entered text. This field is only applicable if the **acceptsFreeText** boolean is `true`. If the **acceptsFreeText** boolean is `false`, this field returns null as only predefined values are supported. """ maximumLength: Int """ This boolean indicates if multiple values can be selected for this descriptor. If `true`, multiple values are supported for this descriptor. If `false`, only one value can be selected for this descriptor. """ multipleValuesSupported: Boolean! """ If applicable, this object returns information about the parent descriptor that can filter values based on its selected value. This object will be returned null if no parent descriptor exists. """ parentDescriptor: ConditionDescriptor """ This boolean indicates if the condition descriptor is required for listing submissions. If `true`, the condition descriptor is required for listing submission. """ required: Boolean! } """ This type represents a specific value associated with a condition descriptor. """ type ConditionDescriptorValue { """ This field returns information about the category associated with the item condition. """ category: Category! """ The unique identifier for the condition descriptor value. """ conditionDescriptorValueId: ID! """ The display name for the condition descriptor value. **Note**: This text is localized for the specified marketplace by default. The **Accept-Language** header can be used to provide a translation to a different language from the marketplace default language. """ displayName: String! } """ This type indicates that tracking confirms the item was delivered to the correct address. """ type ConfirmedDelivery implements PostPurchaseCaseReferralReason { """ A machine-readable code indicating the type of outcome. """ code: String! """ Human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to provide a consolidated view of API elements, data categories, and their effective threshold status. """ type ConsolidatedApiElement { """ This field returns the API context or business domain. **Example**: `Sell` """ apiContext: String! """ This array provides the API fields associated with the consolidated threshold usage. An empty array is returned when usage is tracked at the operation level instead of the field level. """ apiFields: [String!]! """ This field returns the API name within the API context. **Examples**: `Trading`, `Finances` """ apiName: String! """ This array provides the API operations associated with the consolidated threshold usage. """ apiOperations: [String!]! """ This field returns the API version, such as `1201` or `v1`. This field is `null` when the API does not have a version. """ apiVersion: String """ This field returns the effective threshold status for the API element across all associated data categories. """ effectiveStatus: ThresholdStatus! """ This array provides the data categories associated with the API element. **Example**: `PersonalFinancialData` """ types: [String!]! } """ This enumerated type provides continent codes for geographic identification. **Note**: These codes are used to specify continents for shipping and location purposes. The values may change in future releases. """ enum ContinentCode { """ This value indicates that the included or excluded shipping region/location is the continent of Africa. """ AFRICA """ This value indicates that the included or excluded shipping region/location is the continent of Asia. """ ASIA """ This value indicates that the included or excluded shipping region/location is the continent of Europe. """ EUROPE """ This value indicates that the included or excluded shipping region/location is the continent of North America. """ NORTH_AMERICA """ This value indicates that the included or excluded shipping region/location is the continent of South America. """ SOUTH_AMERICA } """ This type is used to indicate that the purchase contract cancellation process has been completed. """ type ContractCancelCompleted implements Labeled { """ The timestamp when the cancellation was completed. """ completedAt: DateTime! """ The human-readable label representing this state (e.g. `Process Completed`). **Maximum length**: 100 characters """ label: String! """ This field is returned if there is a refund associated with the purchase contract cancellation, and provides a text-based description of the refund. """ refundOutcome: String } """ This interface represents a contract cancellation that can apply to supported contracts types (for example, on orders, commitments, and similar). Different contracts types may have different cancellations. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellation { """ The buyer involved in this contract cancellation. """ buyer: User! """ This field provides available actions for the buyer, including a primary action and deadline. If no action is available based on current cancellation status, this field will not be set. """ buyerAvailableActions: ContractCancellationActions """ The unique identifier of the contract cancellation. """ cancellationId: ID! """ The timestamp when the cancellation was closed. This field will not be set if the cancellation is not closed. """ closedAt: DateTime """ This array shows the one or more line items that are a part of the contract cancellation. """ lineItems: [ContractCancellationLineItem!]! """ The reason provided for the cancellation. If the buyer does not select a cancellation reason when requesting the cancellation, the value is `UNDISCLOSED`. """ reason: ContractCancellationReason! """ A list of one or more refunds resulting from this cancellation. Present only if refund processing was initiated during cancellation; otherwise, null. """ refunds: [Refund!] """ The timestamp when the cancellation was requested. """ requestedAt: DateTime! """ The party that requested the cancellation (for example, `BUYER`). """ requester: PostPurchaseActorRole! """ An optional note provided when requesting the cancellation. Null if no note was provided. """ requesterNote: String """ The seller involved in this contract cancellation. """ seller: User! """ This field provides available actions for the seller, including a primary action and deadline. If no action is available based on current cancellation status, this field will not be set. """ sellerAvailableActions: ContractCancellationActions """ The current status of this cancellation. """ status: ContractCancellationStatus! } """ This interface provides available contract cancellation actions applicable for the user. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellationAction { """ The unique cancellation action code for the business use case. """ code: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This error type provides details when a contract cancellation action is not permitted. It describes the business constraints on the contract cancellation prohibiting current user from taking the action. If an alternative action is available, it is returned in `availableActions`. """ type ContractCancellationActionNotPermittedError implements BusinessError { """ Permitted actions that user could take based on the current cancellation status. """ availableActions: [ContractCancellationAction!] """ The globally unique error code for this business error. For this type, the value is `CNCL_ACTION_NOT_PERMITTED_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This type provides available actions for a user to respond to a cancellation, plus the deadline for making one of the primary decisions. """ type ContractCancellationActions { """ The set of primary/recommended actions that the actor must choose from before `responseDueAt`. At least one will be present. """ primaryActions: [ContractCancellationAction!]! """ Deadline by which one of the `primaryActions` must be taken. After this time the system may auto-process or escalate. """ responseDueAt: DateTime! } """ This type indicates the contract is open and pending on action from the involved party. For the seller, this can happen when the buyer submits a cancel request and seller has an action to take (for example, approve or decline). This can also occur for a post seller-initiated refund that failed. """ type ContractCancellationAwaitingActionFromSeller implements ContractCancellationStatus { """ The machine-readable contract cancellation status code. For this type, the value is `AWAITING_ACTION_FROM_SELLER`. """ code: String! """ A human-readable description of the contract cancellation status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the cancellation was completed and the workflow is in an end state. """ type ContractCancellationCompleted implements ContractCancellationStatus { """ The machine-readable contract cancellation status code. For this type, the value is `COMPLETED`. """ code: String! """ A human-readable message of the contract cancellation status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the cancellation was declined and the workflow is in an end state. The cancellation did not complete successfully. Typical causes include: - Seller explicitly rejected the cancellation - System auto-declined (for example, if the item already shipped) - Refund attempts failed or were exhausted within cancellation life cycle **Note**: The cancellation did not complete successfully and the cancellation is at end state; no further cancellation actions can successfully complete from this state. """ type ContractCancellationDeclined implements ContractCancellationStatus { """ The machine-readable contract cancellation status code. For this type, the value is `DECLINED`. """ code: String! """ A human-readable message of the contract cancellation status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type represents filters to narrow the set of contract cancellations returned. **Note**: All filters are combined with logical AND. """ input ContractCancellationFilterInput { """ Filter by creation date range. **Default**: last 30 days """ createdBetween: DateTimeRangeInput """ Filter by contract cancellation status types. **Default**: `[AWAITING_ACTION_FROM_SELLER]`, to highlight open cancellations """ statuses: [ContractCancellationStatusFilterPreset!] = [AWAITING_ACTION_FROM_SELLER] } """ This input type provides filtering and sorting parameters for the first page of a contract cancellations query. **Note**: The same filters and sort order are also used when returning subsequent pages using cursor-based pagination. """ input ContractCancellationInitialPageInput { """ This object specifies filtering options for contract cancellations. **Default**: Returns all requested cancellations created in the last 30 days """ filter: ContractCancellationFilterInput! """ This object specifies sorting options for contract cancellations. Ascending sorts by `REQUEST_DATE` from oldest to newest. **Default**: sort by `REQUEST_DATE` in ascending order """ sort: ContractCancellationSortInput! } """ This input type defines the payload for the **contractCancellation** query, which is used to retrieve information about a contract cancellation. """ input ContractCancellationInput { """ The unique identifier of the contract cancellation to be retrieved. """ cancellationId: ID! } """ This type indicates the specified date range exceeds the allowed limit or has invalid start or end date order. """ type ContractCancellationInvalidDateRangeError implements BusinessError { """ The machine-readable error code for this business error type. For this type, the value is `CNCL_INVALID_DATE_RANGE` """ errorCode: String! """ A human-readable error message. For this type, the value is `The specified date range exceeds the allowed limit or has an invalid start and end date order.`. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This type indicates the specified page size exceeds the allowed limit. """ type ContractCancellationInvalidPageSizeError implements BusinessError { """ The machine-readable error code for this business error type. For this type, the value is `CNCL_INVALID_PAGE_SIZE` """ errorCode: String! """ A human-readable error message. For this type, the value is `The specified page size exceeds the allowed limit.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum allowed page size for this query. """ maxAllowedPageSize: Int! } """ This type indicates that the search request failed to include either the initial search input or valid page cursor information. """ type ContractCancellationInvalidSearchInputError implements BusinessError { """ The machine-readable error code for this business error type. For this type, the value is `CNCL_INVALID_SEARCH_INPUT`. """ errorCode: String! """ A human-readable error message. For this type, the value is `The search request must include either initial search input or valid page cursor information.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ The associated item reference being cancelled. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ union ContractCancellationItemReference = Item """ This type contains the line item level information of a contract cancellation. This cancel line item has a 1 to 1 mapping relationship with the external **contractLineItem** + item level reference. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellationLineItem { """ The unique identifier of the contract cancellation line item. """ cancellationLineItemId: ID! """ The quantity cancelled for the original contract line item. Present only when the contract cancellation status is complete. """ cancelledQuantity: Int """ The reference to the cancelled item reference. This object is optionally present if in the cancellation. """ item: ContractCancellationItemReference """ The restock detail for the cancelled listing. Present only when listing restock is requested through a cancellation mutation. """ listingRestockTasks: [PostPurchaseListingRestockTask!] """ The quantity requested for cancellation on the original contract line item. """ requestedQuantity: Int! } """ This error type indicates the specified cancellation cannot be found. """ type ContractCancellationNotFoundError implements BusinessError { """ The machine-readable error code for this business error. For this type, the value is `CNCL_NOT_FOUND_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the requested contract cancellation that was not found. """ requestedContractCancellationId: ID! } """ This union type defines the response payload for the **contractCancellation** query. On success, the response includes a **ContractCancellationSuccess** type object; on failure it returns an error indicating the reason that the cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union ContractCancellationOutput = ContractCancellationNotFoundError | ContractCancellationSuccess """ This type indicates that the cancellation is approved, and awaiting processing or a refund is in progress. """ type ContractCancellationPending implements ContractCancellationStatus { """ The machine-readable cancellation status code. For this type, the value is `PENDING`. """ code: String! """ A human-readable description of the cancellation status. This alphanumeric string is not localized and may change without notice. Maximum length: 100 characters """ displayText: String! } """ This interface provides the cancellation reason during contract cancellation creation. **Note**: Additional reasons may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellationReason { """ The machine-readable cancellation code for this business use case. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type provides reasons for seller cancellation of an order. **Note**: Additional values may be added to this enumerated type in the future; clients should handle unrecognized values gracefully. Client implementation guidelines: - Include a default or fallback case when switching on these values - Do not assume this list is exhaustive - New values may be added without a major version change - Persist the raw string value to preserve unknown future values Example: \`\`\`typescript switch (reason) { case 'BUYER_REQUESTED': // handle... case 'OUT_OF_STOCK': // handle... default: // handle unknown future values gracefully } \`\`\` """ enum ContractCancellationSellerReasonInput { """ This value indicates that the buyer requested that the seller initiate the order cancellation. """ BUYER_REQUESTED """ This value indicates that the seller cancelled the contract due to being out of stock of the item. """ OUT_OF_STOCK """ This value indicates that the seller cancelled the contract due to issues with the buyer's shipping address. """ SHIPPING_ADDRESS_ISSUES """ This value indicates that the seller cancelled the contract due to the contract remaining unpaid. """ UNPAID_CONTRACT } """ This enumerated type provides values for contract cancellations sorting criteria. **Note**: Additional sort fields may be added in the future; clients should handle unrecognized values gracefully. """ enum ContractCancellationSortField { """ This value indicates that contract cancellations will be sorted according to request date timestamp. """ REQUESTED_AT } """ This input type is used to define the filter and sort direction for contract cancellations. """ input ContractCancellationSortInput { """ Specifies the field by which the contract cancellations are sorted. **Default**: Sorts by the requested date """ sortField: ContractCancellationSortField = REQUESTED_AT """ Specifies the sort direction of the contract cancellations returned in the result. **Default**: `ASC` """ sortOrder: SortOrder = ASC } """ This interface provide the status for the contract cancellation on the contract. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellationStatus { """ Implementations should provide a single stable code that will never change. Clients can use `code` or `__typename` interchangeably, but `__typename` is preferred. """ code: String! """ A human-readable description of the cancellation status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type provides values for filtering contract cancellations by status. **Note**: Additional values may be added in the future; clients should handle unrecognized values gracefully. """ enum ContractCancellationStatusFilterPreset { """ This valus is used to retrieve open contract cancellations that are awaiting an action from the seller. """ AWAITING_ACTION_FROM_SELLER """ This valus is used to retrieve completed/closed contract cancellations. """ COMPLETED """ This valus is used to retrieve contract cancellation requests that were declined. """ DECLINED """ This valus is used to retrieve approved cancellation requests that are awaiting processing or a refund is in progress. """ PENDING } """ This type indicates a successful retrieval of a contract cancellation. """ type ContractCancellationSuccess { """ This object provides details on the contract cancellation retrieved. """ contractCancellation: ContractCancellation! } """ This interface represents a contract cancellation warning. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface ContractCancellationWarning { """ A machine-readable warning code. """ warningCode: String! """ A human-readable description message for each contract cancellation warning. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters. """ warningMessage: String! } """ This type indicates that the cancellation is currently being processed by the system. """ type ContractCancelPending implements Labeled { """ The human-readable label representing this state (e.g. 'System Processing'). **Maximum length**: 100 characters. """ label: String! """ This timestamp indicates when the purchase contract cancellation started being processed. """ startedAt: DateTime! } """ This type indicates that the cancellation request has been rejected by the seller. """ type ContractCancelRejected implements Labeled { """ The human-readable label representing this state (e.g. 'Seller Rejected'). **Maximum length**: 100 characters """ label: String! """ This field shows the reason why the cancellation was rejected. **Note**: This field is returned if a reason was given. """ reason: String """ The timestamp when the cancellation was rejected, which could be null if the data is not available. """ rejectedAt: DateTime } """ This type indicates that the buyer has requested a cancellation. """ type ContractCancelRequested implements Labeled { """ The human-readable label representing this state (e.g. 'Buyer Requested'). **Maximum length**: 100 characters """ label: String! """ This timestamp indicates when the purchase contract cancellation was requested. """ requestedAt: DateTime } """ This union type is used to indicate the state of a cancelled purchase contract. """ union ContractCancelState = ContractCancelCompleted | ContractCancelPending | ContractCancelRejected | ContractCancelRequested """ This type details a refund that covers the entire purchase entity. """ type ContractFullyRefunded implements Labeled { """ The human-readable label representing this fully-refunded state. **Maximum length**: 100 characters """ label: String! """ The timestamp when the refund was processed. """ refundedAt: DateTime! } """ This type is used to show details on the line item associated with a purchase contract, including the identifier of the item, purchase quantity, how the item was purchased, and SKU value if defined. """ type ContractListingItem { """ The unique identifier of the purchasable item associated with this purchase contract. """ item: Item! """ The seller-provided SKU (Stock-Keeping Unit) value of a purchasable item. This field is returned if defined in a listing. """ itemSku: ItemSku """ This object will provide more information on how the item commitment was initiated. For example, the buyer won an auction, the buyer and seller came to terms on a Best Offer or seller-initiated offer, or if a **commitToPurchase** mutation was used on behalf of a buyer. """ purchaseFlow: PurchaseFlowType """ The purchase quantity of the line item associated with this purchase contract. **Note**: This value will always be `1` for an auction listing, but can be more for a fixed-price item with multiple quantity available. """ quantity: Int! } """ This type is used to provide details about a partial refund issued for a purchase contract. """ type ContractPartiallyRefunded implements Labeled { """ The human-readable label representing this partially-refunded state. **Maximum length**: 100 characters """ label: String! """ This array lists specific line items involved in the refund. """ lineItemReferences: [LineItemReference!] } """ This type indicates that the contract was placed by mistake. For example, user accidentally clicked a button and placed the contract. """ type ContractPlacedByMistakeCancellation implements ContractCancellationReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CONTRACT_PLACED_BY_MISTAKE`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This union type is used to provide details about a full or partial refund issued for a purchase contract. """ union ContractRefundState = ContractFullyRefunded | ContractPartiallyRefunded """ This type indicates that the return request has been approved. """ type ContractReturnApproved implements Labeled { """ The timestamp when the return was approved. """ approvedAt: DateTime! """ A human-readable label for the state. """ label: String! } """ Thie type indicates that the return process has been completed and closed, including the final outcomes such as whether a refund was issued, the item was returned, and if the return was accepted. """ type ContractReturnClosed implements Labeled { """ The timestamp when the return was officially closed. """ closedAt: DateTime! """ When `true`, the returned item was accepted (optional if unknown or not applicable). """ itemAccepted: Boolean """ When `true`, the item was physically returned. """ itemReturned: Boolean! """ A human-readable label for the state. """ label: String! """ When `true`, this indicates a refund was issued to the buyer. """ refundIssued: Boolean! } """ This type indicates that the return process has been escalated for further review or action and includes the responsible or pending party (for example, buyer, seller, customer service). """ type ContractReturnEscalated implements Labeled { """ The timestamp when the return was escalated. """ escalatedAt: DateTime! """ A human-readable label for the state. """ label: String! """ The party currently responsible for resolving the escalation (for example, buyer, seller, or customer service). """ pendingParty: EscalationPendingParty! } """ This type indicates that the item is in transit from the buyer to the seller or warehouse and includes the dates for shipment, and optionally the delivery and inspection result. """ type ContractReturnInTransit implements Labeled { """ The timestamp when the item was delivered to the return location (optional). """ deliveredAt: DateTime """ When `true`, the item has been inspected upon arrival. This field may be null if not yet delivered. """ inspected: Boolean """ A human-readable label for the state. """ label: String! """ The timestamp when the item was shipped by the buyer. """ shippedAt: DateTime! } """ This type indicates that the return was rejected, including the reason for rejection. """ type ContractReturnRejected implements Labeled { """ A human-readable label for the state. """ label: String! """ An optional reason provided for why the return was rejected. """ reason: String """ The timestamp when the return was rejected. """ rejectedAt: DateTime! } """ This type indicates that the return was requested by the buyer. """ type ContractReturnRequested implements Labeled { """ A human-readable label for the state. """ label: String! """ The timestamp when the return was initially requested. """ requestedAt: DateTime! } """ This union type defines the lifecycle states of a return request. """ union ContractReturnState = ContractReturnApproved | ContractReturnClosed | ContractReturnEscalated | ContractReturnInTransit | ContractReturnRejected | ContractReturnRequested """ This type represents a monetary amount that may include both original and converted currency values. This type is used when displaying prices that have been converted from one currency to another. """ type ConvertedAmount { """ This field contains the monetary amount of the listing converted to the viewer's currency. **Note**: This field may be null if conversion is unavailable. """ converted: Amount """ This field contains the monetary amount in the listing's original currency, before any conversion was performed. """ original: Amount } """ This type indicates the item is returned because it is counterfeit. Displays as **Counterfeit**. """ type Counterfeit implements ReturnReason { """ A machine-readable reason code: `COUNTERFEIT`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ The base request type for the **counterOffer** mutation. This type defines the input information needed to respond to an active offer with different terms. This includes the item ID and offer ID associated with the offer the buyer wishes to counter, as well as the price and quantity of the counteroffer. An optional message can also be attached to the counteroffer to help explain or justify it. """ input CounterOfferInput { """ The unique identifier of the purchasable item for which the counteroffer is being made. """ itemId: ID! """ An optional message that can be used to explain or justify the counteroffer. This message will be visible to the seller and can help provide context for the proposed price or terms. **Maximum length**: 250 characters """ message: String """ The unique identifier of the existing offer being countered. The offer must have the 'PENDING' status and the user must be authorized to counter it. """ offerId: ID! """ The price of the counteroffer for the item. This value must be greater than zero and in the item's listing currency. **Note**: If the **quantity** of the item is greater than '1', this value represents the price of one unit, not the entire order. """ proposedPrice: AmountInput! """ The number of items being requested in the counteroffer. This value can not exceed the available quantity of the listing. """ quantity: Int = 1 } """ This type defines the business rule error that occurs when a counter offer amount is less than auto decline threshold. """ type CounterOfferLessThanAutoDeclinePrice implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when counter offers are not enabled for this offer/item. """ type CounterOfferNotEnabled implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ The union type for the **counterOffer** mutation. This type covers two possible scenarios: success or failure. If the **counterOffer** mutation succeeds, the counteroffer will be created information about the newly-created counteroffer will be returned. If the **counterOffer** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the counteroffer will not be created. If a mutation fails, there will always be at least one blocking error. """ union CounterOfferOutput = CounterOfferSent | OfferBusinessRulesViolated | ReferenceArgumentsNotFound """ This type is used for a successful **counterOffer** mutation. On success, details about the newly created counteroffer are returned, such as the counteroffer ID, status, and expiration date. """ type CounterOfferSent { """ This object returns details about the counteroffer created using the **counterOffer** mutation. This information includes the offer ID, status, and expiration date of the newly created counteroffer. """ offer: NegotiationOfferDetails! } """ This enumerated type contains a list of ISO 3166 standard two-letter codes that represent countries around the world. """ enum CountryAlpha2Code { """ Andorra. """ AD """ United Arab Emirates. """ AE """ Afghanistan. """ AF """ Antigua and Barbuda. """ AG """ Anguilla. """ AI """ Albania. """ AL """ Armenia. """ AM """ Angola. """ AO """ Antarctica. """ AQ """ Argentina. """ AR """ American Samoa. """ AS """ Austria. """ AT """ Australia. """ AU """ Aruba. """ AW """ Aland Islands. """ AX """ Azerbaijan. """ AZ """ Bosnia and Herzegovina. """ BA """ Barbados. """ BB """ Bangladesh. """ BD """ Belgium. """ BE """ Burkina Faso. """ BF """ Bulgaria. """ BG """ Bahrain. """ BH """ Burundi. """ BI """ Benin. """ BJ """ Burundi. """ BL """ Bermuda. """ BM """ Brunei Darussalam. """ BN """ Bolivia. """ BO """ Bonaire, Sint Eustatius and Saba. """ BQ """ Brazil. """ BR """ Bahamas. """ BS """ Bhutan. """ BT """ Bouvet Island. """ BV """ Botswana. """ BW """ Belarus. """ BY """ Belize. """ BZ """ Canada. """ CA """ Cocos (Keeling) Islands. """ CC """ Congo, The Democratic Republic of the. """ CD """ Central African Republic. """ CF """ Congo. """ CG """ Switzerland. """ CH """ Cote d'Ivoire. """ CI """ Cook Islands. """ CK """ Chile. """ CL """ Cameroon. """ CM """ China. """ CN """ Colombia. """ CO """ Costa Rica. """ CR """ Cape Verde. """ CV """ Curaçao. """ CW """ Christmas Island. """ CX """ Cyprus. """ CY """ Czech Republic. """ CZ """ Germany. """ DE """ Djibouti. """ DJ """ Denmark. """ DK """ Dominica. """ DM """ Dominican Republic. """ DO """ Algeria. """ DZ """ Ecuador. """ EC """ Estonia. """ EE """ Egypt. """ EG """ Western Sahara. """ EH """ Eritrea. """ ER """ Spain. """ ES """ Ethiopia. """ ET """ Finland. """ FI """ Fiji. """ FJ """ Falkland Islands (Malvinas). """ FK """ Federated States of Micronesia. """ FM """ Faroe Islands. """ FO """ France. """ FR """ Gabon. """ GA """ United Kingdom. """ GB """ Grenada. """ GD """ Georgia. """ GE """ French Guiana. """ GF """ Guernsey. """ GG """ Ghana. """ GH """ Gibraltar. """ GI """ Greenland. """ GL """ Gambia. """ GM """ Guinea. """ GN """ Guadeloupe. """ GP """ Equatorial Guinea. """ GQ """ Greece. """ GR """ South Georgia and the South Sandwich Islands. """ GS """ Guatemala. """ GT """ Guam. """ GU """ Guinea-Bissau. """ GW """ Guyana. """ GY """ Hong Kong. """ HK """ Heard Island and McDonald Islands. """ HM """ Honduras. """ HN """ Croatia. """ HR """ Haiti. """ HT """ Hungary. """ HU """ Indonesia. """ ID """ Ireland. """ IE """ Israel. """ IL """ Isle of Man. """ IM """ India. """ IN """ British Indian Ocean Territory. """ IO """ Iraq. """ IQ """ Iceland. """ IS """ Italy. """ IT """ Jersey. """ JE """ Jamaica. """ JM """ Jordan. """ JO """ Japan. """ JP """ Kenya. """ KE """ Kyrgyzstan. """ KG """ Cambodia. """ KH """ Kiribati. """ KI """ Comoros. """ KM """ Saint Kitts and Nevis. """ KN """ Republic of Korea. """ KR """ Kuwait. """ KW """ Cayman Islands. """ KY """ Kazakhstan. """ KZ """ Lao People's Democratic Republic. """ LA """ Lebanon. """ LB """ Saint Lucia. """ LC """ Liechtenstein. """ LI """ Sri Lanka. """ LK """ Liberia. """ LR """ Lesotho. """ LS """ Lithuania. """ LT """ Luxembourg. """ LU """ Latvia. """ LV """ Libyan Arab Jamahiriya. """ LY """ Morocco. """ MA """ Monaco. """ MC """ Republic of Moldova. """ MD """ Montenegro. """ ME """ SAINT MARTIN """ MF """ Madagascar. """ MG """ Marshall Islands. """ MH """ The Former Yugoslav Republic of Macedonia. """ MK """ Mali. """ ML """ Myanmar. """ MM """ Mongolia. """ MN """ Macao. """ MO """ Northern Mariana Islands. """ MP """ Martinique. """ MQ """ Mauritania. """ MR """ Montserrat. """ MS """ Malta. """ MT """ Mauritius. """ MU """ Maldives. """ MV """ Malawi. """ MW """ Mexico. """ MX """ Malaysia. """ MY """ Mozambique. """ MZ """ Namibia. """ NA """ New Caledonia. """ NC """ Niger. """ NE """ Norfolk Island. """ NF """ Nigeria. """ NG """ Nicaragua. """ NI """ Netherlands. """ NL """ Norway. """ NO """ Nepal. """ NP """ Nauru. """ NR """ Niue. """ NU """ New Zealand. """ NZ """ Oman. """ OM """ Panama. """ PA """ Peru. """ PE """ French Polynesia. Includes Tahiti. """ PF """ Papua New Guinea. """ PG """ Philippines. """ PH """ Pakistan. """ PK """ Poland. """ PL """ Saint Pierre and Miquelon. """ PM """ Pitcairn. """ PN """ Puerto Rico. """ PR """ Palestinian territory, Occupied. """ PS """ Portugal. """ PT """ Palau. """ PW """ Paraguay. """ PY """ Qatar. """ QA """ Reunion. """ RE """ Romania. """ RO """ Serbia. """ RS """ Russian Federation. """ RU """ Rwanda. """ RW """ Saudi Arabia. """ SA """ Solomon Islands. """ SB """ Seychelles. """ SC """ Sweden. """ SE """ Singapore. """ SG """ Saint Helena. """ SH """ Slovenia. """ SI """ Svalbard and Jan Mayen. """ SJ """ Slovakia. """ SK """ Sierra Leone. """ SL """ San Marino. """ SM """ Senegal. """ SN """ Somalia. """ SO """ Suriname. """ SR """ Sao Tome and Principe. """ ST """ El Salvador. """ SV """ Sint Maarten. """ SX """ Swaziland. """ SZ """ Turks and Caicos Islands. """ TC """ Chad. """ TD """ French Southern Territories. """ TF """ Togo. """ TG """ Thailand. """ TH """ Tajikistan. """ TJ """ Tokelau. """ TK """ Tokelau. """ TL """ Turkmenistan. """ TM """ Tunisia. """ TN """ Tonga. """ TO """ Turkey. """ TR """ Trinidad and Tobago. """ TT """ Tuvalu. """ TV """ Taiwan, Province of China. """ TW """ Tanzania, United Republic of. """ TZ """ Ukraine. """ UA """ Uganda. """ UG """ United States Minor Outlying Islands. """ UM """ United States. """ US """ Uruguay. """ UY """ Uzbekistan. """ UZ """ Holy See (Vatican City state). """ VA """ Saint Vincent and the Grenadines. """ VC """ Venezuela. """ VE """ Virgin Islands, British. """ VG """ Virgin Islands, U.S. """ VI """ Vietnam. """ VN """ Vanuatu. """ VU """ Wallis and Futuna. """ WF """ Samoa. """ WS """ Yemen. """ YE """ Mayotte. """ YT """ South Africa. """ ZA """ Zambia. """ ZM """ Zimbabwe. """ ZW } """ This scalar type is used to specify/indicate countries in the API. Countries are represented with the two-letter country codes that are defined in the **ISO 3166-1 alpha-2** standard. """ scalar CountryCode """ This type is used to indicate one or more marketplace-specific product compliance or takeback policies attached to the listing. Up to 6 product compliance policies may be set per marketplace, but only 1 takeback policy may be set per marketplace. """ type CountryPolicy { """ The country for which the take-back or product compliance policy applies to. """ country: CountryAlpha2Code """ This array contains the unique identifier(s) of the regional product compliance or take-back policies. **Note**: Only one take-back policy can be applied to any given country. """ policyIds: [ID!] } """ This error type indicates that one or more validation errors occurred while creating the in-store return request. """ type CreateInStoreReturnInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_CREATE_IN_STORE_VALIDATION_ERROR.` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [CreateInStoreReturnInputViolation!]! } """ This interface describes validation errors detected during create in-store return request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for creating in-store return (for example, exceeding the maximum allowed characters for a return note). Constraints are defined by eBay return policies and may vary by context, marketplace, or configuration. """ interface CreateInStoreReturnInputViolation { """ A machine-readable code identifying the specific approve return input violation. """ code: String! """ A human-readable message describing the approve return input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This input type defines the payload for the **createItemCommitmentCancellation** mutation, identifying the item commitment to cancel, providing a reason, and whether to relist. """ input CreateItemCommitmentCancellationInput { """ An enumerated value that indicates the reason for canceling the commitment (for example, `OUT_OF_STOCK` or `BUYER_REQUESTED`). """ contractCancellationReason: ContractCancellationSellerReasonInput! """ The unique identifier of the item commitment to be cancelled. """ itemCommitmentId: ID! """ This boolean field is used to indicate whether or not the line item(s) in the cancellation request should be relisted. **Note**: The value of this field must be `false` if the **contractCancellationReason** is `OUT_OF_STOCK`. **Default**: `false` """ relistItem: Boolean! = false } """ This union type defines the response payload for the **createItemCommitmentCancellation** mutation. On success, the response includes a **CreateItemCommitmentCancellationSuccess** type object and any warnings; on failure it returns an error indicating the reason that the create order cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union CreateItemCommitmentCancellationOutput = CreateItemCommitmentCancellationSuccess | ItemCommitmentCancellationEligibilityError | ItemCommitmentNotFoundError """ This type is returned when an item commitment cancellation is created successfully. """ type CreateItemCommitmentCancellationSuccess { """ The successfully created item commitment cancellation and its details. """ itemCommitmentCancellation: ItemCommitmentCancellation! } """ This type is used to provide auction-specific price settings for auction listings. Not applicable for multiple-SKU listings. """ input CreateListingAuctionPriceInput { """ This field is used to set the lowest price at which the seller is willing to sell an auction listing. A small fee is charged to use this feature. If the **reservePrice** field value is not met or surpassed during bidding, the auction will end without a winning bidder. This price must be higher than the **startingBidPrice**. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ reservePrice: Decimal """ This field is required for auction listings and sets the starting bid amount. The first bid must meet or exceed this value or it will be rejected. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ startingBidPrice: Decimal! } """ This type is used if the seller wishes to make the Best Offer feature available for a fixed price or auction listing. Optionally, 'auto accept' and/or 'auto decline' price thresholds can be set up so a Best Offer can be automatically accepted or declined based on the value of the Best Offer. """ input CreateListingBestOfferTermsInput { """ Include this field and set its value to a price at which Best Offers will be automatically accepted by the seller if they meet or exceed the price. For this field to have an effect, the listing category must support the Best Offer auto-accept feature and the corresponding **bestOfferEnabled** field must be included and set to `true`. """ autoAcceptThreshold: Decimal """ Include this field and set its value to a price at which Best Offers will be automatically declined by the seller if the price is at or below this value. For this field to have an effect, the listing category must support the Best Offer auto-decline feature and the corresponding **bestOfferEnabled** field must be included and set to true. """ autoDeclineThreshold: Decimal """ This field enables or disables the Best Offer feature for a fixed-price or auction listing. If set to `true`, the Best Offer feature is enabled, allowing potential buyers to make offers on the item. If set to `false`, or omitted, the Best Offer feature is disabled. **Note**: For auction listings, the Buy It Now and Best Offer features cannot be used simultaneously. **Note**: If Best Offer is enabled for an auction listing, it is automatically disabled as soon as the listing receives a qualifying bid, and any pending offers or counteroffers are invalidated. **Default**: false """ bestOfferEnabled: Boolean = false } """ This type is used to define the street address for a business entity such as the product manufacturer or responsible person. """ input CreateListingBusinessEntityAddressInput { """ This field sets the first line of the entity's street address. **Maximum length**: 180 characters """ addressLine1: String! """ This field sets the second line of the entity's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. **Maximum length**: 180 characters """ addressLine2: String """ This field sets the city of the entity's street address. **Maximum length**: 64 characters """ city: String! """ This field sets the two-letter ISO 3166-1 standard abbreviation of the country of the entity's address. """ country: CountryAlpha2Code! """ This field sets the postal code of the entity's street address. **Maximum length**: 9 characters """ postalCode: String! """ This field sets the state or province of the entity's street address. **Maximum length**: 64 characters """ stateOrProvince: String } """ This type is used to provide contact information for a product manufacturer or responsible person. At least one of the three fields in this type must be specified for a product manufacturer or responsible person. """ input CreateListingBusinessEntityContactInput { """ This field is used to specify the entity's URL for their online Contact Us/Support page. **Maximum length**: 250 characters """ contactUrl: HttpOrHttpsUrl """ This field is used to specify the entity's email address. **Maximum length**: 180 characters """ email: String """ This field is used to specify the entity's phone number. **Maximum length**: 64 characters """ phone: String } """ This type is used to block/disable a seller's account-level buyer restrictions and/or set a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ input CreateListingBuyerRestrictionsInput { """ This field can be included and set to `true` if the seller wishes to disable all buyer restrictions (that are set in the seller's account) for the listing. **Default**: false """ disableBuyerRestrictions: Boolean = false """ This field is used to set the maximum quantity of items that a single buyer may purchase during the duration of a fixed price listing (single or multiple-SKU). The buyer is blocked from the purchase if that buyer is attempting to purchase a quantity of items that will exceed this value. Previous purchases made by the buyer are taken into account. For example, if **quantityLimitPerBuyer** is set to `5` for a listing, and *Buyer1* purchases a quantity of three in a previous sale, *Buyer1* is only allowed to purchase an additional quantity of two in subsequent orders on the same listing. """ quantityLimitPerBuyer: Int } """ This type is used if the seller wishes to donate a set percentage of each sale on the listing to a non-profit organization that is registered to receive donations on eBay's platform. **Note**: **eBay for Charity** is only supported on the eBay US, eBay UK, eBay Germany, and eBay Canada marketplaces. """ input CreateListingCharityInput { """ The unique identifier of the non-profit organization that will benefit from the sale of the item. The [Charity API](https://developer.ebay.com/api-docs/commerce/charity/resources/methods) can be used to retrieve the numeric identifiers for the charities and to find out more about the organization. """ charityOrganizationId: ID! """ This field sets the percentage of the purchase price that the seller chooses to donate to the selected non-profit organization for each sale generated by the listing. An integer value is used here with supported values ranging from 10 to 100. Within this range, only increments of 5 can be used, so 15, 20, 25, etc. **Minimum value**: 10 **Maximum value**: 100 """ donationPercentage: Int! } """ This type is used to specify one or more country-specific product compliance or takeback policies. Up to 6 product compliance policies may be set per country, but only 1 takeback policy may be set per country. """ input CreateListingCountryPolicyInput { """ The two-letter ISO 3166-1 standard abbreviation for a country that hosts an eBay marketplace, a marketplace to which the corresponding policy or policies apply. The supported values are `GB`, `DE`, `FR`, `IT`, and `ES`. """ country: CountryAlpha2Code! """ This array is used to set one or more country-specific product compliance policy ID values or one takeback policy ID value that will apply to the corresponding country. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used to retrieve all policies defined for a seller's account. """ policyIds: [ID!]! } """ This type is used to specify global or country-specific product compliance and/or takeback policies for a listing. """ input CreateListingCustomPoliciesInput { """ This array is used to specify one or more global product compliance policies that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. The product compliance policies set with this array will apply to all countries where the seller operates. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies should be set with the **regionalProductCompliancePolicies** object instead. **Note**: The maximum number of product compliance policies allowed per listing is 6. """ productCompliancePolicyIds: [ID!] """ This object is used specify one or more country-specific product compliance policies that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies may be needed where countries might have special legal/regulatory requirements. For example, if you sell batteries in a country requiring disclosures that apply only to that country, a country-specific product compliance policy could contain this information. If country-specific policies are not needed, use the **productCompliancePolicyIds** array instead. **Maximum number of product compliance policies allowed per marketplace**: 6 (with supported countries being GB, DE, FR, IT, and ES) **Maximum number of product compliance policies allowed per listing**: 30 (6 per country) """ regionalProductCompliancePolicies: CreateListingRegionalProductCompliancePoliciesInput """ This object is used to specify one or more country-specific takeback policies that will be used for a listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The law in some countries may require sellers to take back a used product when the buyer buys a new product but wishes to dispose of it. Each country may only have one specific takeback policy. If a country-specific takeback policy is not needed, one global takeback policy is set with the **takebackPolicyId** field. **Maximum number of takeback policies allowed per marketplace**: 1 (with supported countries being GB, DE, FR, IT, and ES) **Maximum number of takeback policies allowed per listing**: 5 (1 per country) """ regionalTakebackPolicies: CreateListingRegionalTakebackPoliciesInput """ This field is used to set the global takeback policy to use for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The takeback policy set with this field will apply to all countries where the seller operates. Country-specific policies should be set with **regionalTakebackPolicies** object instead. **Maximum length of takeback policy ID**: 15 characters """ takebackPolicyId: ID } """ This type is used to provide Energy Efficiency Label related information for such categories as appliances, smart phones, and tablets. Note that these three category types will also need Rating and Range product aspects. See the [Energy efficiency information](https://developer.ebay.com/api-docs/sell/static/inventory/energy-efficiency.html) topic for more information. """ input CreateListingEnergyEfficiencyLabelInput { """ This field is used to provide a brief text-based summary of the information included on the Energy Efficiency Label for a product. The description should be concise and informative, providing key details about the energy efficiency of the product. If you provide `imageDescription`, then you need to provide `imageUrl`. **Maximum length**: 280 characters """ imageDescription: String """ This field is used to specify the URL to the Energy Efficiency Label image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ imageUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including energy efficiency labels.") """ The URL to the Product Information Sheet image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ productInformationSheetUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including product information sheets.") } """ This type is used to specify an eco-participation fee for item(s) in a listing. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ input CreateListingExtendedProducerResponsibilityInput { """ This is the fee paid for new items to the eco-organization (for example, *eco-organisme* in France). It is a contribution to the financing of the disposal of the item responsibly. In a multiple-SKU listing, this fee should be specified at the variation level and not in this field. The [getExtendedProducerResponsibilityPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getExtendedProducerResponsibilityPolicies) method can be used to see if a leaf category supports, requires, or recommends eco-participation fees at the listing or variation level. """ ecoParticipationFee: Decimal! } """ This type is used to provide details on how the item will be delivered to the buyer. The data in this type includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. """ input CreateListingFulfillmentTermsInput { """ This field should be included and set to `true` if the item is a digital item that can be downloaded via a link or delivered to the buyer via email. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see if a leaf category supports digital delivery. **Default**: false """ digitalDeliverySupported: Boolean = false """ This field can be included and set to `true` if the seller wishes to use eBay's Global Shipping Program (GSP) to ship items internationally. With GSP, the seller ships the item to eBay's shipping partner, and that shipping partner handles all logistics of the international shipping leg. GSP is only available for listings on the eBay GB (EBAY_GB) marketplace. eBay US (EBAY_US) has a similar program called eBay International Shipping, but there is currently no boolean field associated with this feature. **Default**: false """ globalShippingSupported: Boolean = false """ This object is used to provide information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. Package weight is required when calculated shipping is used, and shipping services generally have dimension and weight restrictions. """ packageSpecifications: CreateListingShippingPackageSpecificationsInput """ This object is used to provide information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ shippingTerms: CreateListingShippingTermsInput } """ This type is used to provide a Global Trade Item Number (GTIN) for the item. GTIN is a globally unique identifier for trade items used by companies to identify products. GTINs include UPCs, EANs, and ISBNs. Optionally, eBay will search for a catalog product against a provided GTIN if the **includeEbayProductDetails** field is included and set to `true`. If a matching eBay catalog product is found, the listing will automatically pick up product details of that catalog product, including product title, product description, product aspects, and stock photo(s). """ input CreateListingGlobalProductIdentifiersInput { """ This field is used to supply a European Article Number (EAN) for a product. It is a 13-digit barcode standard used internationally for retail product identification. Also known as International Article Number. Some leaf categories may require an EAN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this EAN, include the **includeEbayProductDetails** field and set its value to true. """ ean: ID """ This field is used to supply an International Standard Book Number (ISBN) for a product. It is a unique identifier for books and book-like products. Can be 10 digits (older format) or 13 digits (current format). Some leaf categories may require an ISBN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this ISBN, include the **includeEbayProductDetails** field and set its value to true. **Maximum length**: 13 characters """ isbn: ID """ This field is used to supply a Universal Product Code (UPC) for a product. It is a 12-digit barcode standard used primarily in North America for retail product identification. Some leaf categories may require a UPC, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this UPC, include the **includeEbayProductDetails** field and set its value to `true`. **Maximum length**: 12 characters """ upc: ID } """ This type is used to provide hazardous material related information about a product, including pictograms and statements. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend hazardous material information. """ input CreateListingHazardousMaterialInput { """ This field is used by the seller to provide component information for the listing. For example, component information can provide the specific material of Hazmat concern. **Maximum length**: 120 characters """ additionalInformation: String """ This array is used to specify one to four pictogram codes that represent the possible hazard(s) that a product poses. The pictograms that are stated on the product's Safety Data Sheet should be used. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the codes that can be passed into this array. The pictogram(s) that the code(s) represent will be painted on the created listing. **Maximum number of pictogram codes allowed**: 4 pictograms **Maximum length of each pictogram code**: 15 characters """ pictogramCodes: [ID!] """ This field is used to set the hazardous material signal word for the product. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the strings that can be passed into this array. **Maximum length**: 15 characters """ signalWordCode: ID """ This array is used to specify one to eight hazardous statement codes that are applicable to the product. These codes map to actual hazardous statement text. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the statement codes that can be passed into this array. The hazardous statements that the code(s) represent will be painted on the created listing. **Maximum of statement codes allowed**: 8 statements **Maximum length of each statement code**: 15 characters """ statementCodes: [ID!]! } """ The base request type for the **createListing** mutation. This type is used to provide product details, eBay marketplace, listing terms, and price and quantity information for each item available for sale in the listing. For multiple-SKU listings, the **listingVariations** type must also be included to define the common aspects of the multiple-SKU listing and unique variations that are available through that multiple-variation listing. """ input CreateListingInput { """ This field allows the user to provide a client-side idempotency key to help avoid duplicate listings when a **createListing** mutation is retried after a system failure. It must be 32 characters long, contain only hexadecimal characters (0–9 and A–F), and be unique for the seller across all eBay marketplaces. """ idempotencyKey: IdempotencyKey! """ An array of one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. **Note**: A SKU value is optional for a single-variation listing, but mandatory for a multiple-SKU listing. **Maximum number of items for a multi-SKU listing**: 250 """ listingItems: CreateListingItemsInput! """ This object is used to provide listing terms details for the listing, including listing format, listing duration, payment terms, return policy, fulfillment terms, and more. """ listingTerms: CreateListingTermsInput! """ This object is required for multiple-SKU listings and not applicable to single-SKU listings. This object provides details on the available product variations within the listing, and which traits are different for each of these variations. Products in a multiple-variation listing tend to vary by one or more traits such as color and size, and interested buyers need to select which variation they want to purchase. For example, the `Blue, Large` t-shirt. **Maximum number of variations per multiple-SKU listing**: 250 """ listingVariations: CreateListingVariationsInput """ This field is used to identify the eBay marketplace where the listing will be created. See [`ListingMarketplace`] for list of supported enumeration values. It determines the regional settings, currency, and other marketplace-specific configurations. """ marketplace: ListingMarketplace! """ This object allows a user to run a **createListing** mutation in validation mode, which means that the listing object will be validated, but a successful mutation will not create a listing. """ options: ListingOptionsInput """ This object is used to provide product data for the listing. Product data under this object includes title, description, product aspects, item condition, images, and more. """ product: CreateListingProductInput! """ This field is for the seller-defined Stock Keeping Unit (SKU) that identifies the entire listing. Providing a SKU at any level (listing or item) enables the listing to be tracked and managed by SKU. For **single-SKU listings**, this field provides the definitive SKU for the listing. If this field is omitted, the SKU provided on the single item within the `items` list can be used instead to identify the listing. For **multiple-SKU listings**, this field acts as an optional, overall identifier for the group of variations. Each individual variation must still have its own unique SKU. **Maximum length**: 50 characters """ sku: String } """ This type is used to provide the available quantity for a purchasable item. """ input CreateListingItemAvailabilityInput { """ The quantity available for an item. For auction listings, this value must always be 1. For a multiple-SKU listing, each item variation can have its own quantity value, allowing sellers to manage inventory for each variation independently. **Note**: For a multiple-SKU listing, the quantity for an item variation can be be set to 0 if the SKU is temporarily out of stock, but a seller wishes to retain the variation and restock inventory at a later time. """ quantityAvailable: Int! } """ This type is used to define motor vehicles or assemblies that are compatible with a **Parts & Accessories** item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input CreateListingItemCompatibilitiesInput { """ This array is used to define a set of compatible vehicles or assemblies through a set of name-value pairs such as *Year*, *Make*, and *Model*. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Maximum number of allowed compatibilities on the listing**: 3000 """ itemCompatibilities: [CreateListingItemCompatibilityInput!] } """ This type is used to define motor vehicles or assemblies that are compatible with a **Parts & Accessories** item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input CreateListingItemCompatibilityInput { """ This array is used to define a set of compatible vehicles or assemblies through a set of name-value pairs such as *Year*, *Make*, and *Model*. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Maximum number of allowed compatibilities on the listing**: 3000 **Maximum compatibility name length**: 65 **Maximum compatibility value length**: 65 """ compatibilities: [NameValuesPairInput!]! """ The seller may optionally enter any notes pertaining to the parts compatibility being specified. For example, if this Compatibility information applies to a vehicle, a seller may use this field to specify the placement of the part on a vehicle or the type of vehicle a part fits. **Maximum length**: 500 characters """ compatibilityNotes: String } """ This type is used to provide more item condition information through name-value pairs about single graded and ungraded trading cards in the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as `Near mint or better`. """ input CreateListingItemConditionDescriptorInput { """ This field can be used to provide additional information about a condition descriptor. One example is using this field to specify the **Certification Number** for a graded card. **Maximum length**: 30 characters """ additionalInformation: String """ This field is used to pass in the alphanumeric identifier of the condition descriptor that maps to the condition descriptor name. The IDs for condition descriptor names can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Condition descriptor names for graded cards include **Grader** and **Grade** (both required) and **Certification Number** (optional), and condition descriptor names for ungraded cards include **Card Condition**. """ name: ID """ This array is used to pass in the alphanumeric identifier of the condition descriptor value that maps to an actual value supported by the condition descriptor. For example, graded cards require **Grader** and **Grade** as condition descriptor names, so the value(s) in this array will show the organization that graded the card and the card's actual grade, which ranges from 1 to 10. The numeric IDs for condition descriptor values can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Locate the Condition descriptor name first in the response, and then look for the corresponding values in the **conditionDescriptorValues** array of that response. """ values: [ID!] } """ This type is used to express the condition of an item. A large majority of eBay categories require a condition, and this condition is specified through a numeric identifier in the **conditionId** field. For non-new items, it is highly recommended that the **conditionDescription** field be used to provide specific details about the item's condition or 'wear and tear'. The **conditionDescriptor** array is used to provide condition details of graded and ungraded trading cards in a structured manner. """ input CreateListingItemConditionInput { """ This field is used to provide additional details about a non-new item's physical state, including any defects, wear, or other characteristics that affect its condition. This field can be used for all categories except those that require the **conditionDescriptors** array. **Maximum length**: 1000 characters """ conditionDescription: String """ This array is used to provide more item condition information through name-value pairs about single graded and ungraded trading cards in the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as `Near mint or better`. """ conditionDescriptors: [CreateListingItemConditionDescriptorInput!] """ This field is used to set the item's condition using the numeric identifier for a condition. Some common condition IDs include *1000 New* and *3000 Used*. Supported conditions and the text used to describe the conditions vary by marketplace and leaf category. Use the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method to get the supported condition IDs and their descriptions for leaf categories. """ conditionId: ID } """ This type is used to create a specific purchasable item within a listing. It includes a unique combination of identifying characteristics such as global identifiers, listing terms, availability, price, and regulatory information requirements. Every listing contains at least one item, providing a unified approach that works transparently across simple single-SKU listings and complex multiple-SKU listing. """ input CreateListingItemInput { """ This object is used to specify the pricing information, available quantity, and eco-participation fee (if applicable) for a purchasable item. Each item should have price and quantity. """ itemTerms: CreateListingItemTermsInput! """ For either a single-SKU or a multiple-SKU listing, this object can be used to provide a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will prefill the listing being created. For a multiple-SKU listing, the **traits** array is required and identifies the unique traits of the variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are `Color` and `Size`. For example, a `Blue, Large` shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ product: CreateListingItemProductInput """ The seller-defined Stock-Keeping Unit (SKU) value uniquely identifies a purchasable item in the listing. Providing a SKU for any item ensures the entire listing can be managed by SKU. For single-SKU listings, this field acts as a fallback and its value is used only if a SKU is not provided at the top level (**CreateListingInput**) Otherwise, this field is ignored if provided. For multiple-SKU listings, however, this field is required and its value must be unique for each variation in the listing. **Maximum length**: 50 characters """ sku: String } """ This type is used to provide the item's physical location. Item location is required for every fixed price and auction listing. The **country** field is always required, and either the **postalCode** or **location** must also be provided, but not necessarily both. """ input CreateListingItemLocationInput { """ The two-letter country code, as defined in the ISO-3166 standard, must be specified in this field to indicate the country where the item is located. Please keep in mind that the item is often located in the same country as the listing marketplace, but this is not a requirement. """ country: CountryAlpha2Code! """ The field indicates the geographic location (city and state/province) where the listing is physically located. If you do not provide a value in this field, you must provide a value in the **postalCode** field and the field value will be derived from the postal code in the created listing. For the CLASSIFIED_AD format for Motor vehicles, the value provided in the field is used as item location only if the **addressLine1** and **addressLine2** fields of the **CreateListingSellerContactInput** are not provided. If the **addressLine1** and **addressLine2* fields of the **CreateListingSellerContactInput** are provided, the item location field value is ignored. **Maximum length**: 200 characters """ location: String """ The postal code (zip code) where the listing is physically located. Either the **location** field or the **postalCode** field must be specified or an error will occur. Postal/zip code format varies by region. e.g. US: 5-digit numeric codes (e.g., 12345), Australia: 4-digit numeric codes (e.g., 2000), GB: Variable-length alphanumeric codes with letters and numbers (e.g., SW1A 1AA). Other regions follow local postal service standards. **Maximum length**: 32 characters """ postalCode: String } """ This type is used to provide price data for an item in a listing, including the price for a fixed price listing or the 'Buy it Now' price for an auction listing. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. """ input CreateListingItemPricingTermsInput { """ This object is used to provide auction-specific price settings including starting bid price and reserve price. """ auctionPrice: CreateListingAuctionPriceInput """ This field sets the price of a fixed price item or the 'Buy it Now' price for an auction listing. This field is required for fixed price listings. The 'Buy it Now' option is disabled for an auction listing as soon as that listing has a qualifying bid. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ fixedPrice: Decimal """ This object is used to provide pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ marketingPrice: CreateListingMarketingPriceInput } """ This type can be used to provide a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will prefill the listing being created. For a multiple-SKU listing, the **traits** array is required and identifies the unique traits of the variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are `Color` and `Size`. For example, a `Blue, Large` shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ input CreateListingItemProductInput { """ This object is used to provide a Global Trade Item Number (GTIN) or an eBay product ID (ePID) for a product. If an eBay catalog product is found that maps to a GTIN or an ePID, product details of that eBay catalog product will be used to populate the listing. The product details in a catalog product include product title, product description, aspects, eBay leaf category, and stock photo. **Note**: If an eBay catalog product is found and used to prefill a listing, any other product-related details provided by the seller may be dropped. """ productIdentifiers: CreateListingProductIdentifiersInput """ This array is required for multiple-SKU listings and is used to provide the traits that make each item unique in context of the multiple-SKU listing. Each item in a multiple-SKU listing must have a unique combination of trait values, and the trait names and trait values specified here must be defined as available trait names and trait values in the **variationDetails** object. An error will be thrown if the specified traits do not match the variation traits defined in the **variationDetails** object. **Note**: The traits must match the marketplace's language and locale. **Maximum allowed traits**: 5 **Maximum length for trait names and values**: 65 characters """ traits: [NameValuePairInput!] } """ This type is used to provide an array of one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. Use the **items** field to provide the details for each product variation. """ input CreateListingItemsInput { """ This array is used to define a list of purchasable items to be created for the listing. For a single-SKU listing, this array must contain exactly one item object. For a multiple-SKU listing, it must contain one item object for each product variation (e.g. one for "Red / Large", one for "Blue / Small"). **Maximum number of items for a multiple-SKU listing**: 250. """ items: [CreateListingItemInput!]! } """ This type is used to provide quantity and pricing information for a purchasable item. All SKUs within a multiple-SKU listing must have their own quantity and price values. All SKUs may have the same price, but prices also may vary by SKU. This type is also used to provide an eco-participation fee if applicable for the item. """ input CreateListingItemTermsInput { """ This object is used to provide the available quantity for a purchasable item. This field is required for all purchasable items. """ availability: CreateListingItemAvailabilityInput! """ This object is used to specify an eco-participation fee for an item. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ extendedProducerResponsibility: CreateListingExtendedProducerResponsibilityInput """ This object is used to provide price data for the item, including the price for a fixed price item or the *Buy it Now* price for an auction item. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. **Note**: Each item within a multiple-SKU listing can have its own price, allowing for different pricing based on traits (e.g., larger sizes might cost more than smaller ones). """ pricingTerms: CreateListingItemPricingTermsInput! } """ This type is used to set the duration of the listing, and can also be used to set a future date when the listing will become active. """ input CreateListingLifecycleTermsInput { """ This field indicates the time duration of the listing. All fixed price listings must be set to `GTC`(Good 'til Cancelled), but the listing duration days of auction and ad listings may vary based on marketplace and category. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see supported durations for each leaf category. """ listingDurationInDays: ListingDurationInDays! """ This field is used if the user wishes to have the eBay listing go live at a later date/time and not immediately upon creating the listing. The timestamp specified in this field must be a future date. For more information on eBay scheduled listings, see the [Listing durations and timings](https://www.ebay.com/help/selling/listings/creating-managing-listings/selecting-listing-duration?id=4652) help topic. """ scheduledToStartAt: DateTime } """ This type is used to define the radius for a local listing, making it available to buyers within that specified area. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. """ input CreateListingLocalDistanceInput { """ The numeric value for the radius. The unit of measurement for this value is specified in the **distanceUnit** field. This value defines the radius of the area around the seller's location where the listing will be visible to local buyers. The user can call the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get supported distances. Look for the [localListingDistances](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies#response.motorsListingPolicies.localListingDistances) array in the response. """ distance: Int! """ The unit of measurement used for the **distance**. Currently, the only supported value is `MILES`. """ distanceUnit: DistanceUnit! } """ This type is used to provide the name and contact information for the manufacturer of the item. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ input CreateListingManufacturerInput { """ The street address for the product manufacturer is provided in this object. """ address: CreateListingBusinessEntityAddressInput """ This field specifies the name of the company that manufactured the product. This field is required if manufacturer information is supplied. **Maximum length**: 100 characters """ companyName: String! """ This object is used to provide the phone number, email address, and/or the Contact/Support page URL for the product manufacturer. At least one of the three is required if manufacturer information is supplied. """ contact: CreateListingBusinessEntityContactInput } """ This type provides pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ input CreateListingMarketingPriceInput { """ This field is used to set and display the **Made for Outlet** comparison price for a listing, and can only be used if the listing will be displayed on an eBay Outlet page. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ madeForOutletComparisonPrice: Decimal """ This field is used to set the Minimum Advertised Price (MAP) for a listing. MAP is an agreement between suppliers (or manufacturers (OEM)) and the retailers (sellers) stipulating the lowest price a listing is allowed to be advertised at. Sellers can offer prices below MAP by means of other discounts. This only applies to fixed price listings and auction listings with the 'Buy It Now' option. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ minimumAdvertisedPrice: Decimal """ This field is only applicable for the Minimum Advertised Price feature, and controls whether the discounted price is shown to buyers prior to checkout by the buyer clicking on a link on the View Item page, or the discounted price is shown just prior to checkout when the buyer has clicked the Buy button. See the [ListingMinimumAdvertisedPriceExposure] enum type for the list of possible values. **Default**: PRE_CHECKOUT """ minimumAdvertisedPriceExposure: ListingMinimumAdvertisedPriceExposure = PRE_CHECKOUT """ This field must be provided if a qualified seller is using the Strikethrough Price feature. The 'originalRetailPrice' price is the actual retail price set by the manufacturer (OEM). The price specified in this field should always be more than the price specified in the **fixedPrice** field. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ originalRetailPrice: Decimal """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOnEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. Set this field to `true` if the item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. **Default**: false """ soldOffEbay: Boolean = false """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOffEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. Set this field to `true` if the item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. **Default**: false """ soldOnEbay: Boolean = false } """ This type is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. """ input CreateListingMotorVehicleDepositInput { """ This field is used to set the due date (in days) for the buyer to pay off the full balance of the motor vehicle. The clock starts on the full payment due date as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The supported values here are `DAYS_3` `DAYS_7`, `DAYS_10`, and `DAYS_14`. **Default**: DAYS_7 """ daysToMakeFullPayment: ListingTimeDuration """ This field sets the required deposit amount to secure the purchase of a motor vehicle. This field is required if the seller is requiring a deposit. This deposit must be made immediately by the buyer if **immediatePay** is set to `true`, or within 24, 48, or 72 hours (set with **hoursToDeposit** field) if **immediatePay** is set to `false`. **Maximum value**: 2000 USD (non-immediate pay), 500 USD (immediate pay) """ depositAmount: Decimal """ This field is included and set to `true` if the seller requires a deposit to secure the purchase of a motor vehicle. **Default**: false """ depositRequired: Boolean = false """ This field is used to set the deadline (in hours) for the motor vehicle deposit. The deposit amount is specified in the **depositAmount** field. The clock starts on the deposit deadline as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The three supported integer values here are 24, 48, and 72 (hours). If **immediatePay** is `true`, and the listing qualifies for immediate payment (e.g. the 'Buy It Now' button is used), this field will not be applicable, since the buyer will be required to pay any deposit amount immediately (and not within 24, 48, and 72 hours). **Default**: 48 """ hoursToDeposit: Int } """ This type is needed for motor vehicle listings to provide the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ input CreateListingMotorVehicleIdentifierInput { """ The Vehicle Identifier Number (VIN) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. **Maximum length**: 17 characters """ vin: ID """ The Vehicle Registration Mark (VRM) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vrm: ID } """ This union type is used to represent the possible outcomes of the **createListing** mutation. Three possible results of a **createListing** mutation are: a listing object (and possibly one or more warnings); a listing object with validation success (listingId = 0) and possibly one or more warnings; or an array of blocking errors if the mutation fails and a new listing is not created. If a mutation fails, there will always be at least one blocking error, and there may also be one or more warning messages that are triggered. """ union CreateListingOutput = CreateListingSuccess | CreateListingValidationError | CreateListingValidationSuccess """ This type is used to override the shipping costs for one or more domestic or international shipping service options defined in the fulfillment business policy being used for the listing. The shipping costs provided will only affect the listing and will not update the fulfillment business policy. """ input CreateListingOverrideShippingOptionInput { """ This field is used to override the additional unit shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost when a buyer is purchasing multiple quantities of the same line item. Note that this value should never be higher than the base shipping cost. """ additionalUnitShippingCost: Decimal """ This field is used to specify if the shipping service option identified through the corresponding **rank** field is a shipping service. The value of this field should be set to `false` if the shipping service is a domestic shipping service, and `true` if it is an international shipping service. **Default**: false """ internationalShippingOption: Boolean = false """ The integer value specified here identifies the shipping service in the fulfillment business policy whose cost value(s) will be overridden. This should be a positive integer from 1 to 4 if overriding a domestic shipping service option or from 1 to 5 if overriding an international shipping service option. A rank value of `1` means it is the first shipping option displayed in the View Item page. """ rank: Int! """ This field is used to override the shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost for the line item. """ shippingCost: Decimal } """ This type is used to specify the dimensions of the shipping package according to the unit of measurement applicable to the marketplace. When specifying the dimensions of the shipping package, all three values (length, width, and height) are required. The precision of the dimension values is up to two decimal places. """ input CreateListingPackageDimensionsInput { """ The height (or depth) of the shipping package specified according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ height: Float! """ The length of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ length: Float! """ The width of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ width: Float! } """ This type is used to specify the weight of the shipping package according to the unit of measurement applicable to the marketplace. The weight of the shipping package is required when the listing is using the calculated shipping cost type. For English measurement system, the supported unit of measurement is pounds for **majorUnit** and ounces for **minorUnit**. For Metric measurement system, the supported unit of measurement is kilograms for **majorUnit** and grams for **minorUnit**. **Note**: When specifying the weight of the shipping package, at least one of the two values (major or minor) is required. """ input CreateListingPackageWeightInput { """ The major weight value of the shipping package according to the unit of measurement applicable to the marketplace. The major weight value is the whole number part of the weight. For English measurement system, the supported unit of measurement for **majorUnit** is pounds. For Metric measurement system, the supported unit of measurement for **majorUnit** is kilograms. **Note**: If the package weighs less than one pound or one kilogram, *0* can be used as the value for this field. **Minimum value**: 0 **Maximum value**: As allowed by the selected shipping service """ majorUnit: Int """ The minor weight value of the shipping package according to the unit of measurement applicable to the marketplace. The minor weight value is the decimal part of the weight. For English measurement system, the supported unit of measurement for **minorUnit** is ounces. For Metric measurement system, the supported unit of measurement for **minorUnit** is grams. **Minimum value**: 0 **Maximum value**: 15 for English measurement system (ounces); 999 for Metric measurement system (grams) """ minorUnit: Int } """ This type is used to provide various payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This type also has a **businessPolicyId** field that is used to associate a payment business policy with the listing. """ input CreateListingPaymentTermsInput { """ This field is used to specify a payment business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all payment settings are configured in the business policy instead. The [getPaymentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/payment_policy/methods/getPaymentPolicies) method can be used to retrieve all payment business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This field should be included and set to `true` if the seller wishes to require immediate payment for fixed price listings and auction listings where the 'Buy it Now' option is used. **Note**: This field is not applicable if the seller is using business policies. **Default**: false """ immediatePay: Boolean = false """ This object is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. **Note**: This object is not applicable if the seller is using business policies. """ motorVehicleDeposit: CreateListingMotorVehicleDepositInput """ This field is used if the seller has any instructions related to payment instructions. **Note**: This field is not applicable if the seller is using business policies. **Maximum length**: 500 characters """ paymentInstructions: String """ This array is used to specify one or more offline payment methods for listings that support offline transactions. Use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see the payment methods supported for a leaf category. **Note**: This array is not applicable if the seller is using business policies. """ paymentMethods: [ListingPaymentMethod!] } """ This type is used to provide the eBay category for the seller product, and optionally, a secondary eBay category and eBay store categories. If a seller has an eBay store and does not specify a store category ID, eBay will automatically put that listing into the default *Other* category in the seller's eBay store. """ input CreateListingProductCategoriesInput { """ The eBay category ID for the primary category of the listing. This field is required unless an eBay catalog product is used, and the eBay category is defined in that catalog product. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. """ primaryCategoryId: ID! """ The eBay category ID for the secondary category of the listing. This field is optional, but if specified, it must be a valid eBay leaf category. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. **Note**: The secondary category must be different from the primary category. """ secondaryCategoryId: ID """ The eBay store primary category ID of the listing. This field is optional, but if specified, it must be a valid eBay store category ID. If this field is not specified, the listing will be placed in the default *Other* category of the seller's eBay store. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storePrimaryCategoryId: ID """ The eBay store secondary category ID of the listing. This field is optional, but if specified, it must be a valid eBay store category ID. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storeSecondaryCategoryId: ID } """ This type is used to match to and leverage the product details of a product defined in eBay's product catalog. The user can directly provide the identifier of the eBay catalog product, or they can provide a GTIN value that can possibly be matched to an eBay catalog product. When an eBay catalog product is used, the product title, product description, item specifics, and stock photo defined for that product will be used in the resultant listing. """ input CreateListingProductIdentifiersInput { """ The unique identifier of an eBay catalog product. If this field is provided, the title, description, item specifics, and stock photo defined for that eBay product will be used in the resultant listing, overriding the seller provided information. The [search](https://developer.ebay.com/api-docs/commerce/catalog/resources/product_summary/methods/search) method of the **Catalog API** can be used to search for eBay catalog products and get their IDs. """ ebayProductId: ID """ This object is used to specify a UPC, EAN, or ISBN value for a product, and optionally, try to match the value to an eBay catalog product so that the product details of that catalog product can be prefilled in the resultant listing. Some leaf categories require a GTIN, and the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see if a leaf category requires a UPC, EAN, or ISBN. """ globalIdentifiers: CreateListingGlobalProductIdentifiersInput """ This field controls whether or not an eBay catalog product is leveraged to prefill a listing with that catalog product's details, including product title, product description, item specifics, and stock photo. If you want to use an eBay catalog product to populate your listing, you can either set this field to true or omit it entirely, as true is the default value. If you provide a GTIN (Global Trade Item Number) or eBay Product ID but do not want to use the corresponding eBay catalog product to prefill your listing, you must set this field to false. If set to false, you will be required to provide your own listing title, description, category, and at least one image. This is only applicable to single-SKU listings. **Default**: true """ includeEbayProductDetails: Boolean = true } """ This type is used to provide common product details for the listing, including title, description, listing category, condition, product aspects, images, and more. """ input CreateListingProductInput { """ This array is used to set name-value pairs that define the product aspects. Most leaf categories require at least a few aspects, and the listing will fail if these are not provided. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method can be used to see which aspects are required, recommended, or optional for a leaf category. This method also returns typical values for an aspect name and will indicate if an aspect name supports multiple values or just one value. For a multiple-SKU listing, only the common aspects will be specified in this array, and the pivoting aspects (aka traits) will be specified at the item level. **Maximum length**: 65 characters for each aspect name and value """ aspects: [NameValuesPairInput!] """ This object is used to provide the primary eBay category for the listing, and optionally, a secondary eBay category and eBay store categories. This object is required unless an eBay catalog product is used, and the eBay category is defined in that catalog product. **Note**: If a seller has an eBay store and does not specify a store category ID, eBay will automatically put that listing into the default *Other* category in the seller's eBay store. """ categories: CreateListingProductCategoriesInput """ This field is used to set the full description of the product or group of products. This field is required unless an eBay catalog product is being used and the product description is picked up from the catalog product instead. HTML markup and inline CSS can be used. However, a seller can not use any active content in their listing description. Active content includes animation or video via JavaScript, Flash, plug-ins, or form actions. All active content will be blocked/removed from a listing. Sellers are only allowed to provide links to product videos, freight shipping services, or other legally required information, and when providing these links in the listing description, the secure 'https' protocol must be used instead of 'http'. In addition, any valid links to sites outside of eBay should use the target="_blank" attribute in the a href tag so a new browser window will be loaded when the link is clicked instead of buyers being redirected off of eBay. **Maximum length**: 500,000 characters (including all markup tags/CSS) """ description: String """ This array is used to specify a list of image URLs that will become photos in the listing's photo gallery. Most eBay categories support up to 24 photos per listing at no extra charge. The URLs used in this array must use 'https'. Either all eBay Picture Services (EPS) or all self-hosted picture URLs may be used in this array, but not a combination of both. **Maximum images allowed on a listing**: 24 """ imageUrls: [HttpsUrl!] """ This object is used to express the condition of the item(s) in this listing. A large majority of eBay categories require a condition, and this condition is specified through a numeric identifier in the **conditionId** field. For non-new items, it is highly recommended that the **conditionDescription** field be used to provide specific details about the item's condition or 'wear and tear'. The **conditionDescriptor** array is used to provide condition details of graded and ungraded trading cards in a structured manner. """ itemCondition: CreateListingItemConditionInput """ This array is used to define the motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. Year, Make, and Model are typical aspects used to identify a motor vehicle. **Maximum compatibilities allowed on a listing**: 3000 """ listingCompatibilities: CreateListingItemCompatibilitiesInput """ This object is needed for motor vehicle listings to provide the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ motorVehicleIdentifier: CreateListingMotorVehicleIdentifierInput """ This field is used to add the product title displayed on the listing. This field is required unless the listing uses an eBay catalog product (in which case the title is obtained from the eBay catalog product) or if the listing is for a motor vehicle (in which case the vehicle’s Make, Model, and Year serve as the title). **Maximum length**: 80 characters """ title: String """ This array is used to add a seller's video to the listing. A unique identifier for a seller's video is passed into this array to add a product video to the listing. Although a video can be added to a listing before it is in the `LIVE` state, the video won't be available for viewing in the listing until it does reach this state. To know more about the video upload process and various states for a video, see the [Media API documentation](https://developer.ebay.com/api-docs/sell/media/overview). **Note**: Currently, only one video may be added to each listing. """ videoIds: [ID!] } """ This type is used to provide product safety information for an item, including product safety statements and pictograms. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend product safety information. """ input CreateListingProductSafetyInput { """ This free-form text field is used to provide additional product safety information that goes beyond what is expressed through the pictogram(s) and/or safety statements. **Note**: This field cannot be used without the **pictogramCodes** and/or **statementCodes** arrays. **Maximum length**: 120 characters """ additionalInformation: String """ This array is used to provide one to four product safety pictogram codes, and if successful, the pictogram(s) associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes, and this method will also return the URLs to the pictograms so that these pictograms can be previewed before adding them to a listing. **Maximum number of pictogram codes allowed**: 4 pictograms **Maximum length of each pictogram code**: 15 characters """ pictogramCodes: [ID!] """ This array is used to provide one to eight product safety statement codes, and if successful, the safety statements associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes and the safety statements associated with them. **Maximum number of statement codes allowed**: 8 statements **Maximum length of each statement code**: 15 characters """ statementCodes: [ID!] } """ This type is used to attach one or more country-specific product compliance policies. """ input CreateListingRegionalProductCompliancePoliciesInput { """ This array is used to specify one or more country-specific product compliance policies. **Note**: Up to 6 separate product compliance policies are allowed per country. """ countryPolicies: [CreateListingCountryPolicyInput!]! } """ This type is used to provide country-specific takeback policies. Each country may only have one specific takeback policy. """ input CreateListingRegionalTakebackPoliciesInput { """ This array is used to specify a country-specific takeback policy. Each country may only have one country-specific takeback policy. """ countryPolicies: [CreateListingCountryPolicyInput!]! } """ This type is used to provide various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ input CreateListingRegulatoryInput { """ This array is used to attach one or more documents to the listing using their unique identifiers. The **Media API** is used to upload documents to a seller's account. See the [DocumentTypeEnum](https://developer.ebay.com/api-docs/commerce/media/types/api:DocumentTypeEnum) type of the **Media API** for the full list of supported document types. **Maximum number of document IDs allowed**: 10 """ documentIds: [ID!] """ This object is used to provide Energy Efficiency Label related information for such category types as appliances, smart phones, and tablets. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend Energy Efficiency Label information. """ energyEfficiencyLabel: CreateListingEnergyEfficiencyLabelInput """ This object is used to provide hazardous material related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend hazardous material information. """ hazardousMaterial: CreateListingHazardousMaterialInput """ This object is used to provide the name and contact information for the manufacturer of the item. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ manufacturer: CreateListingManufacturerInput """ This object is used to provide product safety related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend product safety information. """ productSafety: CreateListingProductSafetyInput """ This field is used to provide the manufacturer's repair index score for a product. This value should be between 0.1 (extremely difficult to fix) to 10 (extremely easy to fix). A maximum of one digit to the right of the decimal point may be used. 0 or 0.0 should never be used as values as this would indicate that the product is not repairable. **Minimum value**: 0.1 **Maximum value**: 10.0 """ repairIndexScore: Float """ This array is used to provide the name and contact information for one or more responsible persons based in the EU. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide either the product manufacturer or responsible person(s) contact information in their eBay listings. This array is only necessary if the product manufacturer contact is not based in an EU country. **Maximum number of EU responsible persons allowed**: 5 """ responsiblePersons: [CreateListingResponsiblePersonInput!] } """ This type is used to provide the name and contact information for one or more responsible persons based in the EU. """ input CreateListingResponsiblePersonInput { """ This object is used to provide a street address for a responsible person. """ address: CreateListingBusinessEntityAddressInput """ This field is used to provide the company name associated with the responsible person. **Maximum length**: 100 characters """ companyName: String! """ This object is used to provide the phone number, email address, and/or the Contact/Support page URL for the responsible person. At least one of the three is required if a responsible person is supplied. """ contact: CreateListingBusinessEntityContactInput """ This array is required for each responsible person specified, and the only allowed value is `EU_RESPONSIBLE_PERSON`. **Maximum number of person types allowed**: 1 """ personTypes: [String!]! } """ This type is used to provide a domestic return policy or an international return policy (if the seller ships internationally) that is to be used for the listing. This type also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this type if the seller's account is opted into business policies. """ input CreateListingReturnTermsInput { """ This field is used to specify a return business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all return policy settings are configured in the business policy instead. The [getReturnPolicies](https://developer.ebay.com/api-docs/sell/account/resources/return_policy/methods/getReturnPolicies) method can be used to retrieve all return business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This object is used to state the seller's domestic return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Note**: If the listing only has a domestic return policy set up, but the item is shipped internationally, the settings in this object will also apply to international returns. **Note**: This object is not applicable if the seller is using business policies. """ domesticReturnTerms: CreateListingReturnTermsOptionsInput """ This object is used to state the seller's international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Note**: This object is not applicable if the seller is using business policies. """ internationalReturnTerms: CreateListingReturnTermsOptionsInput """ This free-form text field is used to provide more details about a seller's return policy. Currently, this field is only supported on the EBAY_DE, EBAY_AT, EBAY_FR, EBAY_IT, and EBAY_ES marketplaces. **Note**: This field is not applicable if the seller is using business policies. **Maximum length**: 8000 (for EBAY_DE, EBAY_AT); 5000 (for EBAY_FR, EBAY_IT, EBAY_ES) """ returnInstructions: String } """ This type is used to state the seller's domestic or international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. """ input CreateListingReturnTermsOptionsInput { """ This field specifies the refund method that will be used if the buyer returns the item. This field must be included if the seller accepts returns for the item. Currently, the only supported value for this field is `MONEY_BACK`. **Note**: Although `MONEY_BACK_OR_REPLACEMENT` is defined in the schema, replacement items are not currently supported in Returns flow, so `MONEY_BACK` is the only option. """ refundMethod: ListingRefundMethod """ This field must be included and set to `true` if the seller accepts returns for the item or `false` if the seller does not accept returns for the item. **Default**: false """ returnAccepted: Boolean = false """ This field specifies the amount of time the buyer has to return an item. The return duration begins when the item is marked 'delivered' at the buyer's specified ship-to location. This field must be included if the seller accepts returns for the item, and sets the number of days that a buyer has to return the item for a full refund. Supported values are `DAYS_14`, `DAYS_30`, and `DAYS_60`. The supported return periods can vary by category (with `DAYS_14` limited to just a few categories), and the [getReturnPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getReturnPolicies) method of the **Metadata API** can be used to see the supported return periods for a category. """ returnDuration: ListingTimeDuration """ This field specifies either the buyer or the seller as the party who pays for return shipping charges. This field must be included if the seller accepts returns for the item, and specifies the person responsible for return shipping costs if the item is returned due to a buyer remorse. See the [`Invoicee`] for the list of supported enumeration values. The seller is always responsible for return shipping costs when an item is being returned due to a Significantly not as described (SNAD) issue. """ returnShipmentInvoicee: Invoicee } """ This type is used to specify the days and times when a seller may be contacted regarding a classified ad listing. This type is used by the **primarySellerContactHours** and **secondarySellerContactHours** objects and the days specified here should not overlap between the two. """ input CreateListingSellerContactHoursInput { """ This field can be included and set to `true` if the seller is available the full 24 hours on the days specified through the **supportOnDays** field. If this field is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. **Default**: false """ anyTime: Boolean = false """ This field is used to indicate the end time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursEndAt** value should always be later than the **supportHoursStartAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursEndAt: Time """ This field is used to indicate the start time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursStartAt** value should always be earlier than the **supportHoursEndAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursStartAt: Time """ This field is used to specify the block of days that the support hours will apply to. See the [`ListingDaysCode`] for the list of supported enumeration values. """ supportOnDays: ListingDaysCode } """ This type is used for classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ input CreateListingSellerContactInput { """ This field is used to specify the first line of the street address of the seller. """ addressLine1: String """ This field is used to specify the second line of the seller's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. """ addressLine2: String """ This field is used to indicate whether potential buyers can contact the seller via email. A value of `true` in this field indicates that potential buyers can contact the seller of the listing via email. **Default**: false """ contactByEmailEnabled: Boolean = false """ Two-letter [ISO 3166 Country Codes](https://www.iso.org/iso-3166-country-codes.html) to indicate which country the seller is located. """ country: CountryAlpha2Code """ This field is used to specify the county where the seller resides. """ county: String """ This field is used to specify the seller's phone number. """ phone: String """ This object is used to provide the seller's primary support days and hours. This will generally be used to show support hours on weekdays. This object should always be provided to let potential buyers know when the seller may be contacted. """ primarySellerContactHours: CreateListingSellerContactHoursInput """ This object is used to provide the seller's secondary support days and hours. This will generally be used to show support hours on weekends if the support hours vary on weekends. """ secondarySellerContactHours: CreateListingSellerContactHoursInput } """ This type is used to provide information on domestic and international shipping, including the shipping cost type used (flat vs. calculated) and the shipping service options available to ship the item. There is also a field to specify a shipping rate table to use against the listings and fields to apply a shipping discount. """ input CreateListingShippingOptionsInput { """ This field is included to apply a specific flat or calculated shipping discount for the listing. The numeric identifier for the shipping discount is passed into this field. The [GetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetShippingDiscountProfiles.html) call can be used to retrieve the numeric IDs of the shipping discounts defined for the seller's account. The shipping cost type must match the shipping discount type being enabled or the shipping discount will not be active in the listing. """ combinedShippingRuleId: ID """ This field sets the shipping cost type for locations within marketplace and outside of marketplace shipping. If this field is not included, the shipping cost type will default to flat-rate shipping. Note that all of the specified shipping services should support the shipping cost type specified here. **Note**: To specify local pick only option for listings, set this field to `NOT_SPECIFIED`. **Default**: FLAT """ costType: ListingShippingType """ This field can be included if the seller applies a flat-rate handling cost for shipping. This cost is in addition to whatever the final shipping cost is based on the buyer's location and selected shipping service option. """ packageHandlingCost: Decimal """ This field is included and set to `true` to enable a seller's promotional shipping discount for the listing. A seller can only have one promotional shipping discount active on a marketplace. The [GetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetShippingDiscountProfiles.html) call can be used to retrieve the details of the promotional shipping discount, and the [SetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/SetShippingDiscountProfiles.html) call can be used to add/modify the promotional shipping discount. **Default**: false """ promotionalShipping: Boolean = false """ This field is included to apply a location within marketplace and outside of marketplace shipping rate table for the listing. Shipping rate tables let sellers customize flat-rate shipping costs based on buyer's location and selected shipping service level. The numeric identifier for the shipping rate table is passed into this field. The numeric IDs for a seller's shipping rate tables can be retrieved with the [getRateTables](https://developer.ebay.com/api-docs/sell/account/resources/rate_table/methods/getRateTables) method, and details on a specific shipping rate table can be retrieved with the [getRateTable](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/getRateTable) method. The [updateShippingCost](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/updateShippingCost) method can be used to modify the shipping costs for a shipping rate table. **Note**: The shipping cost type must be set to flat-rate to use a shipping rate table. """ shippingRateTableId: ID } """ This type is used to provide information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. """ input CreateListingShippingPackageSpecificationsInput { """ This field should be included and set to `true` if the package has an irregular or non-standard shape. A shipping carrier may charge additional handling fees for an irregular package. **Default**: false """ irregularPackage: Boolean = false """ The measurement system used by the marketplace for the package dimensions and weight. If the value is not supplied, the default measurement system for the marketplace will be used. See [`MeasurementSystem`] for the list of supported enumeration values. """ measurementSystem: MeasurementSystem """ This object is used to specify the dimensions of the shipping package. """ packageDimensions: CreateListingPackageDimensionsInput """ This field is used to indicate the type of package used to ship the item. See the [`ListingPackageType`] for the list of supported enumeration values. """ packageType: ListingPackageType """ This object is used to specify the weight of the shipping package. The weight of the shipping package is required when the listing is using the calculated shipping cost type. """ packageWeight: CreateListingPackageWeightInput } """ This type is used to set the list of domestic or international shipping service options that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. **Maximum number of domestic shipping services**: 4 **Maximum number of international shipping services**: 5 """ input CreateListingShippingServiceInput { """ This field sets the flat-rate shipping cost to ship each additional unit of the item using the corresponding shipping service. This field is required for multiple-quantity, fixed price listings using flat-rate shipping. The cost specified in this field must be the same or lower than the cost specified in the **shippingCost** field, with the idea being that multiple quantities of the line item might be shipped in the same shipping package, decreasing the per-unit cost for shipping. """ additionalUnitShippingCost: Decimal """ This array can be used to set the geographical regions or individual countries that the corresponding international shipping service operates in. """ includedShipToLocations: [ListingShippingLocationInput!] """ The integer value specified here controls the order in which the corresponding shipping service will be displayed in the View Item page. This should be a positive integer from 1 to 4 for a shipping service that ships within the marketplace or from 5 to 9 for a shipping service that ships outside of marketplace. A rank value of `1` means it is the first shipping option displayed in the View Item page. If this field is not used, the rank and hence order of the shipping services will depend on the order they are specified under the **shippingServices** array. """ rank: Int """ This field sets the flat-rate shipping cost to ship one unit of the item using the corresponding shipping service. This field is required for each shipping service if flat-rate shipping is being used. This field must still be included and set to `0.0` if the corresponding shipping service is offered free of charge to the buyer. """ shippingCost: Decimal """ This field identifies the domestic or international shipping service and is required for each specified shipping service. Use the [getShippingServices](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices) method to retrieve the full list of domestic and international shipping services supported on a marketplace. The enumeration values representing each shipping service option are returned in the [shippingService](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices#response.shippingServices.shippingService) fields of the **getShippingServices** response. """ shippingServiceCode: ID } """ This type is used to provide information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ input CreateListingShippingTermsInput { """ This field is used to provide information about the shipping business policy to be used for the listing. If this field is used, none of the other fields in CreateListingShippingTermsInput object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ businessPolicy: CreateShippingBusinessPolicyInput """ This field is only applicable to motor vehicle listings and indicates if the buyer is responsible for shipping or picking up the purchased vehicle. **Note**: This field is not needed if business policies are being used by the seller. **Default**: true """ buyerResponsibleForShipping: Boolean = true """ This array is used to specify locations where the seller will not ship the item. The values specified in this array can be continents, geographical regions, countries, or special locations within the marketplace. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Note**: This array is not needed if business policies are being used by the seller. """ excludedShipToLocations: [ListingShippingLocationInput!] """ This field indicates how many business days that the seller needs to ship the item after payment is made by the buyer. The handling time is required by most categories. Top-rated sellers typically set the handling time to 0 or 1 day, but longer handling times are supported. **Note**: This field is not needed if business policies are being used by the seller. """ handlingTimeDuration: ListingTimeDuration """ This array is used to specify locations where the seller will ship the item. The values specified in this array can be geographical regions or countries. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Note**: This array is not needed if business policies are being used by the seller. """ includedShipToLocations: [ListingShippingLocationInput!] """ This object is used to provide information on shipping options local to the country of the marketplace, including the shipping cost type used (flat vs. calculated). There is also a field to specify a shipping rate table to use against the listings and fields to apply a shipping discount. **Note**: This object is not needed if business policies are being used by the seller. """ marketplaceShippingOptions: CreateListingShippingOptionsInput """ This object is used to provide information on shipping options not local to the country of the eBay marketplace, including the shipping cost type used (flat vs. calculated). There is also a field to specify a shipping rate table to use against the listings and fields to apply a shipping discount. **Note**: This object is not needed if business policies are being used by the seller. """ nonMarketplaceShippingOptions: CreateListingShippingOptionsInput """ This array is used to provide information on one or more shipping services that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. **Note**: Up to 10 shipping service options may be specified per listing, with up to five 'marketplace' shipping options and up to five 'non-marketplace' shipping options. **Note**: This array is not needed if business policies are being used by the seller. """ shippingServices: [CreateListingShippingServiceInput!] } """ This type is used for a successful **createListing** mutation that is run in `EXECUTE` mode. It will show the complete details of the listing, and will also include a list of non-blocking warning messages if any occurred. """ type CreateListingSuccess { """ This object shows the complete details of the newly-created listing. """ listing: SellerListing! """ This array shows the type of discount(s) applied to the listing fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the new listing will incur. **Note**: Always consider the fee amounts to be estimated only. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings triggered by the mutation request, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to provide various tax information, including VAT rates, sales tax rates tor US territories and Canadian provinces, and special tax category codes. """ input CreateListingTaxTermsInput { """ This field is included and set to `true` if the seller wants the sales tax rate for the jurisdiction to apply to the cumulative amount of item cost and shipping charges. This field is only applicable if the **salesTaxPercentage** and **salesTaxJurisdictionId** fields are also set. **Default**: false """ salesTaxApplicableToShipping: Boolean = false """ This field is used to specify a US territory or a Canadian province that will be charged the sales tax rate specified in the **salesTaxPercentage** field. The supported US territories are `AS` (America Samoa), `GU` (Guam), `MP` (Northern Mariana Islands), `PW` (Palau), and `VI` (US Virgin Islands). The two-letter codes for Canadian provinces can be found here on the [Government of Canada](https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/completing-slips-summaries/financial-slips-summaries/return-investment-income-t5/provincial-territorial-codes.html) website. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxJurisdictionId: String """ This field is used along with **salesTaxJurisdictionId** field to set the sales tax rate for a specific US territory or a Canadian province. The percentage set here will be applied to sale price as the sales tax for the line item. The value passed in is stored with a precision of 1 digits after the decimal point. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxPercentage: Decimal """ This field is included and set to `true` if the seller has an account level sales tax table set up and wishes to use the sales tax rates set up in that table. If this field is set to `true`, the values contained in the other sales tax fields (if set) in this object will be overridden by the values set in the sales tax table. **Default**: false """ salesTaxTableUsed: Boolean = false """ This field is used to provide a special category of tax such as a recycling fee or disposal tax. """ thirdPartyTaxCategoryCode: String """ This field is used to set the VAT (Value-added Tax) percentage rate that will be charged to buyers when an item is purchased from the listing. VAT is not applicable to all countries, including the US. Allowed VAT percentage rates can vary by region/country, so sellers should be aware of the rates they are legally required/allowed to charge, and they are responsible for charging the correct VAT rate. Only one digit is allowed to the right of the decimal point. """ vatPercentage: Decimal """ This field should be included and set to `true` if the seller is registered on the listing site as a Business Seller and intends to use listing features that are offered to business users only. This field must be included and set to `true` if the **vatRestrictedToBusinessUser** field is also included and set to `true`. **Default**: false """ vatRecognizedBusinessSeller: Boolean = false """ This field is included and set to `true` if a business seller wishes to make the listing exclusively available to potential buyers registered on eBay as business users. This feature is only applicable to business sellers residing in Germany, Austria, or Switzerland who are listing in a B2B VAT-enabled category on the eBay Germany (EBAY_DE), Austria (EBAY_AT), or Switzerland (EBAY_CH) marketplaces. To set this field as `true`, the **vatRecognizedBusinessSeller** field must also be included and set to `true`. **Default**: false """ vatRestrictedToBusinessUser: Boolean = false } """ This type is used to provide listing terms details for the listing, including listing format, listing duration, item location, return policy, fulfillment terms, and more. """ input CreateListingTermsInput { """ This object is used for classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ adsSellerContact: CreateListingSellerContactInput """ This object is used if the seller wishes to make the **Best Offer** feature available for a fixed price or auction listing. Optionally, 'auto accept' and/or 'auto decline' price thresholds can be set up so a **Best Offer** can be automatically accepted or declined based on the value of the **Best Offer**. **Note**: Auction listings can use both the 'Buy it Now' or 'Best Offer' feature, but both cannot be used at the same time. """ bestOfferTerms: CreateListingBestOfferTermsInput """ This object is used to block/disable a seller's account-level buyer restrictions and/or set a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ buyerRestrictions: CreateListingBuyerRestrictionsInput """ This object is used if the seller wishes to donate a set percentage of each sale on the listing to a non-profit organization that is registered to receive donations on eBay's platform. **Note**: eBay for Charity is only supported on the eBay US, eBay UK, eBay Germany, and eBay Canada marketplaces. """ charity: CreateListingCharityInput """ This object is used to specify global or country-specific product compliance and/or takeback policies for a listing. """ customPolicies: CreateListingCustomPoliciesInput """ This object is used to provide details on how the item will be delivered to the buyer. The data under this object includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. This object also has a **businessPolicyId** field that is used to associate a fulfillment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. """ fulfillmentTerms: CreateListingFulfillmentTermsInput """ This field can be included and set to `true` if the seller wishes to make the listing private. With private listings, the eBay user and feedback scores for bidders and buyers are obfuscated to everyone except for the seller. **Default**: false """ hideParticipation: Boolean = false """ This array can be used if the seller wishes to add or modify site visibility settings. With site visibility, sellers can choose to actively display their listing on one or more other eBay marketplaces for a small fee. Currently, this feature can only be used on the EBAY_US, EBAY_CA, EBAY_GB, and EBAY_IE marketplaces. EBAY_US and EBAY_CA listings can specify `UNITED_KINGDOM` in this array to have their listing displayed on the EBAY_GB and EBAY_IE marketplaces, and EBAY_GB and EBAY_IE listings can specify `NORTH_AMERICA` in this array to have their listing display on the EBAY_US and EBAY_CA marketplaces. """ internationalSiteVisibility: [CrossBorderTradingRegion!] """ This required object sets the actual physical location of the item(s) in this listing. The **country** field is always required, and then either the **location** or **postalCode** must be provided, but not necessarily both. """ itemLocation: CreateListingItemLocationInput! """ This object is used to set the duration of the listing, and can also be used to set a future date when the listing will become active. All listings require a **listingDurationInDays** value. """ lifecycleTerms: CreateListingLifecycleTermsInput! """ This required field sets the listing format. See [`ListingFormatType`] for the list of supported enumeration values. """ listingFormat: ListingFormatType! """ This object is needed if the seller is selling a motor vehicle through a Motors Local Listing. The value supplied in the **distance** field sets the radius of the area in which the vehicle will be available and exposed to interested local buyers. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. You can use the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get the supported listing distance values for a leaf category. Seller provide the unit of measurement for the **distance** value through the **distanceUnit** field. """ localListingDistance: CreateListingLocalDistanceInput """ This field is needed if the seller is selling a set of two or more similar/related items as a part of one listing. An example of a lot listing might be a collection of children's clothes. The value specified in this field will be the number of distinct items in the lot. Not all leaf categories support lot listings, and the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see which leaf categories do support lot listings. **Minimum value**: 2 **Maximum value**: 450,000 """ lotSize: Int """ A reference identifier used to attribute the source of data across API families. This ID is returned in the response of the **listingPreviewsCreationTaskById** query of the **Inventory Mapping API**. To ensure continuity and traceability of the data flow, it is strongly recommend that you include this reference ID in any create, update, or relist mutation. Using this ID associates any mutations with the listing preview referenced to create or update the listing. **Maximum length**: 25 """ mappingReferenceId: String """ This object is used to provide various payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This object also has a **businessPolicyId** field that is used to associate a payment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. This object is optional for sellers not opted into business policies. """ paymentTerms: CreateListingPaymentTermsInput """ This object is used to provide various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ regulatory: CreateListingRegulatoryInput """ This object is used to provide a domestic return policy and an international return policy (if the seller ships internationally) that is to be used for the listing. This object also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. With the exception of a few categories, this object is generally required even if the seller's *return policy* is to not accept returns. """ returnTerms: CreateListingReturnTermsInput """ This field is used by the seller to provide custom, application-specific data associated with the listing. The string specified here is stored by eBay with the listing but it is not used by eBay in any way other than that. **Maximum length**: 32 """ sellerCustomData: String """ This object is used to provide various tax information, including VAT rates, sales tax rates to US territories and Canadian provinces, and special tax category codes. """ taxTerms: CreateListingTaxTermsInput """ This object is used to enable listing upgrades such as bold titles in search results, Gallery Plus, or an added subtitle. Each of these listing upgrades will incur a small fee. """ visualEnhancements: CreateListingVisualEnhancementsInput } """ This type is used when the **createListing** mutation fails due to one or more blocking validation errors. A list of validation rule violations that must be fixed before retrying will be shown, and one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type CreateListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ The idempotency key provided with the **createListing** request. Use this value to correlate this validation error response with the original create request and to safely reason about retried requests. """ idempotencyKey: IdempotencyKey """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type is used for a successful **createListing** mutation that is run in `VALIDATE` mode, and the listing object is successfully validated without any errors. The results of the validation will be shown, including warnings if any occurred. """ type CreateListingValidationSuccess { """ This object shows the complete details of the validated listing object. """ listing: SellerListing! """ This array shows the type of discount(s) applied to the expected fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the listing object would occur if published. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings generated during the validation, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to identify the main trait by which SKUs within a multiple-SKU listing differ, and to provide image URLs demonstrating the variations of this trait for each item variation. """ input CreateListingVariationImagesVaryByTraitInput { """ The trait name by which pictures of the item variations vary. The specified trait will be used to determine which images to display when a buyer selects a variation in the View Item page. For example, if the trait is `Color`, then a corresponding product image in the **traitValueImages** array will be displayed when that color is selected in the View Item page. The trait name specified here must be one of the variation traits specified in the **variationTraits** array. """ traitName: String! """ This array is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the *traitImageUrls** array. """ traitValueImages: [CreateListingVariationTraitValueImageInput!]! } """ This type is used to define name-value pairs for the traits where each SKU within a multiple-SKU listing differs, such as `Color` and `Size`. Each available color and each available size will be listed through the **variationTraits** array. If the listing featured t-shirts, each variation within that listing would have a unique color and size combination such as `Blue, Large`. """ input CreateListingVariationsInput { """ This object identifies the main trait by which variations differ, and provides image URLs demonstrating the variations of this trait for each variation. For example, the varying trait may be `Color`, and image URLs would be provided showcasing the different color of each variation. """ imagesVaryByTrait: CreateListingVariationImagesVaryByTraitInput """ This array provides the names of the varying traits and the available values for each of these traits. For example, one trait might be `Color`, and all of the available colors would be specified in the corresponding **values** array. Another trait might be `Size`, and all of the available sizes would be specified in the corresponding **values** array. If the multiple-SKU listing has two varying traits such as `Color` and `Size`, each variation would have a different combination of each of these traits, such as a `Large, Red` shirt. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method of the **Taxonomy API** can be used to retrieve aspects that are optional, recommended or required for a specific category. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method in the **Taxonomy API** works similarly but is processed asynchronously and provides optional, recommended or required aspects every leaf category on an eBay marketplace. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method can be paired up with the **Taxonomy SDK** to help maintain an up-to-date list of aspects for each leaf category. **Maximum number of traits**: 5 **Maximum values per trait**: 50 **Maximum length of each trait name and value**: 65 characters """ variationTraits: [NameValuesPairInput!]! } """ This type is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImageUrls** array. """ input CreateListingVariationTraitValueImageInput { """ An array of one or more images that demonstrate the corresponding **traitValue**. For example, if the **traitName** is `Color` and the **traitValue** is `Red`, the image(s) would show a red variation of the product. Depending on the product, one image per variation may be enough, but multiple images may be specified for each **traitValue**. For example, it is possible that a seller would want to show the front and back of each shirt in each color. **Note**: All images, whether they are hosted by eBay Picture Server (EPS) or self-hosted, must comply with eBay picture requirements. eBay Picture Server (EPS) and self-hosted picture URLs should not be mixed, and all URLs must use 'https' and not 'http'. **Maximum number of images per trait value**: 12 """ traitImageUrls: [HttpsUrl!]! """ The trait value of the corresponding image(s) in the **traitImageUrls** array. If the **traitName** is `Color`, values in this field may include *Red*, *Blue*, *Green*, etc. At least one of the variations within the multiple-SKU listing must have this value. **Maximum length**: 65 characters """ traitValue: String! } """ This type is used to enable listing upgrades such as bold titles in search results, Gallery Plus, or an added subtitle. Each of these listing upgrades will incur a small fee. """ input CreateListingVisualEnhancementsInput { """ This field is included and set to `true` if the seller wants the listing title to be in boldface type in search results for greater visibility. Applicable listing fees apply. **Note**: This feature cannot be enabled for a motor vehicle listing as motor vehicle listing titles are automatically generated by eBay based on Year, Make, Model, and other aspects of the vehicle such as engine type and trim. **Default**: false """ boldTitle: Boolean = false """ This field is included and set to `true` if the seller wants to use the Gallery Plus feature. With Gallery Plus, a larger gallery image of the item is displayed in search results. **Note**: This feature cannot be enabled for a motor vehicle listing. **Default**: false """ galleryPlus: Boolean = false """ This field is used to provide a customized subtitle for the listing. By using a subtitle, more keywords can be provided and search results may be improved. **Maximum length**: 55 characters """ subtitle: String } """ This input type defines the payload for the **createOrderCancellation** mutation, identifying the order to cancel, providing a reason, and whether to relist all items. """ input CreateOrderCancellationInput { """ The reason for canceling the order (for example, `OUT_OF_STOCK` or `BUYER_REQUESTED`). """ contractCancellationReason: ContractCancellationSellerReasonInput! """ The unique identifier of the order to cancel. """ orderId: ID! """ This boolean field controls whether or not to relist all line items from the canceled order. **Note**: This value must be `false` if the **contractCancellationReason** is set to `OUT_OF_STOCK`. **Default**: `false` """ relistAllItems: Boolean! = false } """ This union type defines the response payload for the **createOrderCancellation** mutation. On success, the response includes a **CreateOrderCancellationSuccess** type object and any warnings; on failure it returns an error indicating the reason that the create order cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union CreateOrderCancellationOutput = CreateOrderCancellationSuccess | OrderCancellationEligibilityError | OrderLineItemCancellationEligibilityError | OrderNotFoundError | RefundAuthorizationFailedError | RefundBlockedByPaymentDisputeError | RefundInstrumentDeclinedError | RefundInstrumentInsufficientFundsError | RefundInstrumentInvalidError | RefundProcessingError """ This type is returned when an order cancellation is created successfully. It includes the order ID, and any non-blocking warnings. """ type CreateOrderCancellationSuccess { """ The created order cancellation and its details. """ orderCancellation: OrderCancellation! """ A list of one or more non-blocking warnings encountered during cancellation creation. These do not prevent the cancellation from being created, but may require attention or follow-up to proceed with subsequent steps. This list is only returned when warnings are present. """ warnings: [ContractCancellationWarning!] } """ The base request type for the **createOrReplaceUserNote** mutation. This type is used to define the content of the new or updated user note, and the item or order line item for which the user note will be attached. The specified item ID or order line item ID will create a new user note; if a note already exists for a specified value, it will be replaced. """ input CreateOrReplaceUserNoteInput { """ The unique identifier of the purchasable item in a single-SKU or multiple-SKU listing for which the user note is being created or updated. If the item is part of a multi-SKU listing, the identifier of the variation is required. """ itemId: ID! """ The unique identifier of the order line item for which the user note is being created or updated. """ orderLineItemId: ID """ The text content of the user note being created or updated. **Maximum length**: 255 characters """ userNote: String! } """ The union type for the **createOrReplaceUserNote** mutation. This type covers two possible scenarios: success or failure. If the **createOrReplaceUserNote** mutation succeeds, a **userNote** object that returns the newly created or updated user note will be returned. If the **createOrReplaceUserNote** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the user note will not be created or updated. If a mutation fails, there will always be at least one blocking error. """ union CreateOrReplaceUserNoteOutput = CreateOrReplaceUserNoteSuccess | ReferenceArgumentsNotFound """ This type is used for a successful **createOrReplaceUserNote** mutation. On success, the new or updated user note is returned. """ type CreateOrReplaceUserNoteSuccess { """ This object returns the user note that was successfully created or updated. This object will return the order line item ID if the note is for an order line item. """ userNote: UserNote! } """ This type is used when a business error occurs with a **createPurchaseQuote** mutation. """ type CreatePurchaseQuoteBusinessError implements BusinessError { """ The unique identifier of the specific error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. **Maximum length**: 40 characters **Format**: Alphanumeric characters and underscores, in UPPER_CASE format """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! """ This boolean indicates whether or not the user should try to create the purchase quote again. If this field is returned as `true`, the user can make another attempt to create the purchase quote. """ retryable: Boolean! } """ This input type defines the payload for the **createPurchaseQuoteCancellation** mutation, identifying the purchase quote to cancel, providing a reason, and whether to relist all items. """ input CreatePurchaseQuoteCancellationInput { """ An enumerated value that provides the reason for canceling the purchase quote (for example, `OUT_OF_STOCK` or `BUYER_REQUESTED`). """ contractCancellationReason: ContractCancellationSellerReasonInput! """ The unique identifier of the purchase quote to cancel. """ purchaseQuoteId: ID! """ This boolean field controls whether or not to relist all line items from the canceled purchase quote. **Note**: This value must be `false` if the **contractCancellationReason** is set to `OUT_OF_STOCK`. **Default**: `false` """ relistAllItems: Boolean! = false } """ This union type defines the response payload for the **createPurchaseQuoteCancellation** mutation. On success, the response includes a **CreatePurchaseQuoteCancellationSuccess** type object; on failure it returns an error indicating the reason that the create purchase quote cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union CreatePurchaseQuoteCancellationOutput = CreatePurchaseQuoteCancellationSuccess | PurchaseQuoteCancellationEligibilityError | PurchaseQuoteNotFoundError """ This type represents the successful creation of a purchase quote cancellation. """ type CreatePurchaseQuoteCancellationSuccess { """ The successfully created purchase quote cancellation. """ purchaseQuoteCancellation: PurchaseQuoteCancellation! } """ This input is used by seller to create a new purchase quote when using the **createPurchaseQuote** mutation. """ input CreatePurchaseQuoteInput { """ This boolean field is used to control whether or not the seller should receive an email copy of the new purchase quote sent to the buyer. If this field is included and set to 'true', the seller will receive a copy of the new purchase quote in their eBay Inbox. **Default value**: false """ emailCopyToSeller: Boolean = false """ This array is used to provide two or more item commitment identifiers that will become a part of the new purchase quote. A comma is used as a delimiter for each item commitment identifier. """ lineItems: [PurchaseQuoteItemInput!]! """ This object is used to add or modify available shipping or pickup logistics options provided by the seller. """ logisticsOptions: PurchaseQuoteLogisticsOptionInput! """ This field allows the seller to provide a custom message to the buyer regarding the new purchase quote. **Maximum length**: 512 characters """ messageToBuyer: String """ This object is used to add or modify handling charges and/or a shipping discount for a purchase quote. """ total: PurchaseQuoteTotalsInput } """ This union type is used to represent the possible outcomes of the **createPurchaseQuote** mutation. """ union CreatePurchaseQuoteOutput = CreatePurchaseQuoteBusinessError | CreatePurchaseQuoteSuccess """ This base output type is used for a successful **createPurchaseQuote** mutation, and shows the details of the successfully created purchase quote. """ type CreatePurchaseQuoteSuccess { """ This object shows the successfully created purchase quote. """ purchaseQuote: PurchaseQuote } """ The base type of the **createSecondChanceListing** mutation. A Second Chance Offer is an offer that a seller makes to a buyer who was a competitive bidder on a recently ended auction listing. """ input CreateSecondChanceListingInput { """ This object is used to identify a recently ended listing from which a Second Chance listing will be derived from. The user can either identify the ended listing using its **listingId** value or the item's **sku** value (if defined). """ listingIdentifier: ListingIdentifierInput! """ This object is used to set the duration of the Second Chance listing. For auctions involving motor vehicles or other high-priced items where the Reserve Price was never met and there was no winning bidder, the **fixedPrice** should be included. Otherwise, the Second Chance listing price automatically defaults to the recipient user's highest bid during the ending auction and the **fixedPrice** should not be included. """ listingTerms: SecondChanceListingTermsInput! """ The marketplace identifier of the listing. See [`ListingMarketplace`] enum for supported values. """ marketplace: ListingMarketplace! """ This object allows a user to run a **createSecondChanceListing** mutation in validation mode, which means that the listing object will be validated, but a successful mutation will not create the Second Chance Offer. """ options: ListingOptionsInput """ The eBay User ID of the bidder who will receive the Second Chance Offer. This user must have made at least one qualifying bid in the ended auction listing. """ recipientUserId: ID! """ This field can be used if the seller wishes to share a message with the buyer about why the offer is being made and perhaps highlighting the conditions of the offer. The recipient will get this offer in eBay Inbox, and the text provided here will be included in that email. **Note**: The provided message can not contain HTML markup, asterisks, or quotes. **Maximum length**: 1000 characters """ sellerMessage: String } """ This union type is used to represent the possible outcomes of the **createSecondChanceListing** mutation. Three possible results of a **createSecondChanceListing** mutation are: a listing object (and possibly one or more warnings); a listing object with validation success and possibly one or more warnings; or an array of blocking errors if the mutation fails and a Second Chance Offer is not created. If a mutation fails, there will always be at least one blocking error, and there may also be one or more warning messages that are triggered. """ union CreateSecondChanceListingOutput = CreateSecondChanceListingSuccess | CreateSecondChanceListingValidationError | CreateSecondChanceListingValidationSuccess """ This type is used for a successful **createSecondChanceListing** mutation that is run in `EXECUTE` mode. It will show the complete details of the listing, and will also include a list of non-blocking warning messages if any occurred. """ type CreateSecondChanceListingSuccess { """ This object provides the full listing details of a successfully created Second Chance Offer. This object will be generated unless one or more blocking errors were triggered. """ listing: SellerListing! """ This array shows any non-blocking warnings generated during the processing of the **createSecondChanceListing** mutation. **Note**: This array is returned as empty if there are no warnings. """ warnings: [ListingWarning!] } """ This type is used when the **createSecondChanceListing** mutation fails due to one or more blocking validation errors. A list of validation rule violations that must be fixed before retrying will be shown, and one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type CreateSecondChanceListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type is used for a successful **createSecondChanceListing** mutation that is run in `VALIDATE` mode, and the listing object is successfully validated without any errors. The results of the validation will be shown, including warnings if any occurred. """ type CreateSecondChanceListingValidationSuccess { """ This object shows the full listing details of the successfully validated Second Chance listing object. """ listing: SellerListing! """ This array shows the list of non-blocking warnings generated during the validation, if any occurred. **Note**: This array is returned as empty if there are no warnings. """ warnings: [ListingWarning!] } """ This input type is used to provide information of shipping business policy to be used for the listing. If this field is used, none of the other fields in **CreateListingShippingTermsInput** object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ input CreateShippingBusinessPolicyInput { """ This field is used to specify a fulfillment business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID! """ This array is used to override the shipping costs for one or more shipping service options defined in the fulfillment terms being used for the listing. """ overrideShippingOptions: [CreateListingOverrideShippingOptionInput!] } """ This type is used when the mutation fails due to one or more blocking validation errors. A list of one or more validation rule violations that must be fixed before retrying will be shown. A list of one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type CreateSubsidiaryListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type is used to identify Credit Card as the payment method. """ type CreditCard implements PaymentMethodType { """ The unique identifier of the credit card payment method. """ code: ID! """ The descriptive name of the credit card payment method. """ descriptiveName: String! """ The display name of the credit card payment method. """ displayName: String! } """ This type represents a decision outcome where the seller is credited for a refund charge. This type is used in cases where eBay absorbs the cost and compensates the seller. """ type CreditSellerForRefundChargeDecisionOutcome implements PostPurchaseCaseDecisionOutcome { """ A machine-readable code indicating the type of outcome. """ code: String! """ The credited amount paid out to the seller. """ decisionAmount: AmountSet! """ The human-readable text of the case decision outcome. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type is used to enable active cross-border trading. In active cross-border trading, sellers selling on eBay US, eBay Canada, eBay UK, and eBay Ireland marketplaces can pay a small fee to have their listing exposed on other eBay marketplaces. """ enum CrossBorderTradingRegion { """ This enumerated value is used by sellers selling on the eBay UK and eBay Ireland marketplaces if they want their listing to be exposed on North America marketplaces, including eBay US, US Motors, and eBay Canada (English and French versions) for a fee. """ NORTH_AMERICA """ This enumerated value is used by sellers selling on the eBay US and eBay Canada (English and French versions) marketplaces if they want their listing to be exposed on eBay UK and eBay Ireland marketplaces for a fee. """ UNITED_KINGDOM } """ This enumerated type provides ISO 4217 three-letter currency codes. Each code represents an officially recognized national or supranational currency. **Note**: A supranational currency is a monetary unit issued or managed by a multi-country union or a central authority, rather than by a single country (for example, the euro). """ enum CurrencyAlpha3Code { """ This three-letter code indicates the currency is the United Arab Emirates Dirham. """ AED """ This three-letter code indicates the currency is the Afghan Afghani. """ AFN """ This three-letter code indicates the currency is the Albanian Lek. This value replaced ALK code. """ ALL """ This three-letter code indicates the currency is the Armenian Dram. """ AMD """ This three-letter code indicates the currency is the Angolan Kwanza. """ AOA """ This three-letter code indicates the currency is the Argentine peso. """ ARS """ This three-letter code indicates the currency is the Australian dollar. """ AUD """ This three-letter code indicates the currency is the Aruban florin. """ AWG """ This three-letter code indicates the currency is the Azerbaijani manat. """ AZN """ This three-letter code indicates the currency is the Bosnia and Herzegovina Convertible Mark. """ BAM """ This three-letter code indicates the currency is the Barbadian dollar. """ BBD """ This three-letter code indicates the currency is the Bangladesh taka. """ BDT """ This three-letter code indicates the currency is the Bulgarian lev. """ BGN """ This three-letter code indicates the currency is the Bahraini dinar. """ BHD """ This three-letter code indicates the currency is the Burundian franc. """ BIF """ This three-letter code indicates the currency is the Bermudian dollar. """ BMD """ This three-letter code indicates the currency is the Brunei Dollar. """ BND """ This three-letter code indicates the currency is the Boliviano (the currency of Bolivia). """ BOB """ This three-letter code indicates the currency is the Brazilian real. """ BRL """ This three-letter code indicates the currency is the Bahamian dollar. """ BSD """ This three-letter code indicates the currency is the Bhutanese ngultrum. """ BTN """ This three-letter code indicates the currency is the Botswana Pula. """ BWP """ This three-letter code indicates the currency is the Belarusian Ruble. """ BYN """ This three-letter code indicates the currency is the Belize Dollar. """ BZD """ This three-letter code indicates the currency is the Canadian Dollar. """ CAD """ This three-letter code indicates the currency is the Congolese Franc (official currency of the Democratic Republic of the Congo) . """ CDF """ This three-letter code indicates the currency is the Swiss Franc. """ CHF """ This three-letter code indicates the currency is the Chilean peso. """ CLP """ This three-letter code indicates the currency is the Chinese yuan (also known as renminbi). """ CNY """ This three-letter code indicates the currency is the Colombian Peso. """ COP """ This three-letter code indicates the currency is the Costa Rican colon. """ CRC """ This three-letter code indicates the currency is the Cuban Peso. """ CUP """ This three-letter code indicates the currency is the Cape Verdean escudo (official currency of Cabo Verde island). """ CVE """ This three-letter code indicates the currency is the Czech Koruna. """ CZK """ This three-letter code indicates the currency is the Djiboutian franc. """ DJF """ This three-letter code indicates the currency is the Danish krone (official currency of Denmark, Greenland, and the Faroe Islands). """ DKK """ This three-letter code indicates the currency is the Dominican Peso (official currency of the Dominican Republic). """ DOP """ This three-letter code indicates the currency is the Algerian Dinar. """ DZD """ This three-letter code indicates the currency is the Egyptian Pound. """ EGP """ This three-letter code indicates the currency is the Eritrean nakfa. """ ERN """ This three-letter code indicates the currency is the Ethiopian Birr. """ ETB """ This three-letter code indicates the currency is the Euro, the currency used by countries in the European Union. """ EUR """ This three-letter code indicates the currency is the Fijian dollar. """ FJD """ This three-letter code indicates the currency is the Falkland Islands Pound, which is pegged to the British Pound Sterling (GBP). """ FKP """ This three-letter code indicates the currency is the British Pound Sterling (also known as Great British Pound). """ GBP """ This three-letter code indicates the currency is the Georgian lari. """ GEL """ This three-letter code indicates the currency is the Ghana Cedi. """ GHS """ This three-letter code indicates the currency is the Gibraltar Pound, which is pegged to the British Pound Sterling (GBP). """ GIP """ This three-letter code indicates the currency is the Gambian dalasi (official currency of The Gambia). """ GMD """ This three-letter code indicates the currency is the Guinean Franc (official currency of Guinea). """ GNF """ This three-letter code indicates the currency is the Guatemalan Quetzal. """ GTQ """ This three-letter code indicates the currency is the Guyanese Dollar. """ GYD """ This three-letter code indicates the currency is the Hong Kong dollar. """ HKD """ This three-letter code indicates the currency is the Honduran lempira. """ HNL """ This three-letter code indicates the currency is the Haitian gourde. """ HTG """ This three-letter code indicates the currency is the Hungarian forint. Hungary is a EU country, but is not using the Euro. """ HUF """ This three-letter code indicates the currency is the Indonesian Rupiah. """ IDR """ This three-letter code indicates the currency is the Israeli Shekel. """ ILS """ This three-letter code indicates the currency is the Indian Rupee. """ INR """ This three-letter code indicates the currency is the Iraqi dinar. """ IQD """ This three-letter code indicates the currency is the Iranian Rial. """ IRR """ This three-letter code indicates the currency is the Icelandic Króna. """ ISK """ This three-letter code indicates the currency is the Jamaican dollar. """ JMD """ This three-letter code indicates the currency is the Jordanian dinar. """ JOD """ This three-letter code indicates the currency is the Japanese Yen. """ JPY """ This three-letter code indicates the currency is the Kenyan Shilling. """ KES """ This three-letter code indicates the currency is the Kyrgyzstani som. """ KGS """ This three-letter code indicates the currency is the Cambodian riel. """ KHR """ This three-letter code indicates the currency is the Comoro Franc (the official currency of the Comoros islands in East Africa). """ KMF """ This three-letter code indicates the currency is the South Korean won. """ KRW """ This three-letter code indicates the currency is the Kuwaiti dinar. """ KWD """ This three-letter code indicates the currency is the Cayman Islands Dollar. """ KYD """ This three-letter code indicates the currency is the Kazakhstani tenge. """ KZT """ This three-letter code indicates the currency is the Laotian kip. """ LAK """ This three-letter code indicates the currency is the Lebanese Pound. """ LBP """ This three-letter code indicates the currency is the Sri Lankan Rupee. """ LKR """ This three-letter code indicates the currency is the Liberian Dollar. """ LRD """ This three-letter code indicates the currency is the Lesotho loti (the official currency of the Kingdom of Lesotho). """ LSL """ This three-letter code indicates the currency is the Libyan Dinar. """ LYD """ This three-letter code indicates the currency is the Moroccan Dirham. """ MAD """ This three-letter code indicates the currency is the Moldovan Leu. """ MDL """ This three-letter code indicates the currency is the Malagasy Ariary (the official currency of Madagascar). """ MGA """ This three-letter code indicates the currency is the Macedonian Denar (the official currency of North Macedonia). """ MKD """ This three-letter code indicates the currency is the Myanmar Kyat. """ MMK """ This three-letter code indicates the currency is the Mongolian Tögrög. """ MNT """ This three-letter code indicates the currency is the Macanese Pataca (the official currency of Macau). """ MOP """ This three-letter code indicates the currency is the Mauritanian ouguiya. """ MRU """ This three-letter code indicates the currency is the Mauritian rupee (the official currency of Mauritius). """ MUR """ This three-letter code indicates the currency is the Maldivian rufiyaa (the official currency of the Maldives). """ MVR """ This three-letter code indicates the currency is the Malawian Kwacha. """ MWK """ This three-letter code indicates the currency is the Mexican peso. """ MXN """ This three-letter code indicates the currency is the Malaysian Ringgit. """ MYR """ This three-letter code indicates the currency is the Mozambican metical. """ MZN """ This three-letter code indicates the currency is the Namibian Dollar. """ NAD """ This three-letter code indicates the currency is the Nigerian naira. """ NGN """ This three-letter code indicates the currency is the Nicaraguan Córdoba Oro. """ NIO """ This three-letter code indicates the currency is the Norwegian krone. """ NOK """ This three-letter code indicates the currency is the Nepalese Rupee. """ NPR """ This three-letter code indicates the currency is the New Zealand dollar. """ NZD """ This three-letter code indicates the currency is the Omani rial. """ OMR """ This three-letter code indicates the currency is the Panamanian Balboa. """ PAB """ This three-letter code indicates the currency is the Peruvian Sol. """ PEN """ This three-letter code indicates the currency is the Papua New Guinean kina. """ PGK """ This three-letter code indicates the currency is the Philippine Peso. """ PHP """ This three-letter code indicates the currency is the Pakistani Rupee. """ PKR """ This three-letter code indicates the currency is the Polish zloty. """ PLN """ This three-letter code indicates the currency is the Paraguayan guaraní. """ PYG """ This three-letter code indicates the currency is the Qatari riyal. """ QAR """ This three-letter code indicates the currency is the Romanian New Leu. """ RON """ This three-letter code indicates the currency is the Serbian dinar. """ RSD """ This three-letter code indicates the currency is the Russian Ruble. """ RUB """ This three-letter code indicates the currency is the Rwandan franc. """ RWF """ This three-letter code indicates the currency is the Saudi riyal. """ SAR """ This three-letter code indicates the currency is the Solomon Islands dollar. """ SBD """ This three-letter code indicates the currency is the Seychellois Rupee, the official currency of the Seychelles. """ SCR """ This three-letter code indicates the currency is the Sudanese Pound. """ SDG """ This three-letter code indicates the currency is the Swedish Krona. """ SEK """ This three-letter code indicates the currency is the Singapore Dollar. """ SGD """ This three-letter code indicates the currency is the Saint Helena Pound, the official currency in Saint Helena and Ascension Island . """ SHP """ This three-letter code indicates the currency is the Sierra Leonean Leone. """ SLE """ This three-letter code indicates the currency is the Somalian Shilling. """ SOS """ This three-letter code indicates the currency is the Surinamese Dollar. """ SRD """ This three-letter code indicates the currency is the South Sudanese Pound. """ SSP """ This three-letter code indicates the currency is the São Tomé and Príncipe dobra. """ STN """ This three-letter code indicates the currency is the Syrian Pound. """ SYP """ This three-letter code indicates the currency is the Eswatini Lilangeni, the official currency of Eswatini (formerly Swaziland). """ SZL """ This three-letter code indicates the currency is the Thai Baht. """ THB """ This three-letter code indicates the currency is the Tajikistani somoni. """ TJS """ This three-letter code indicates the currency is the Turkmenistan manat. """ TMT """ This three-letter code indicates the currency is the Tunisian Dinar. """ TND """ This three-letter code indicates the currency is the Tongan paʻanga. """ TOP """ This three-letter code indicates the currency is the Turkish lira. """ TRY """ This three-letter code indicates the currency is the Trinidad and Tobago Dollar. """ TTD """ This three-letter code indicates the currency is the New Taiwan dollar. """ TWD """ This three-letter code indicates the currency is the Tanzanian Shilling. """ TZS """ This three-letter code indicates the currency is the Ukrainian hryvnia. """ UAH """ This three-letter code indicates the currency is the Ugandan shilling. """ UGX """ This three-letter code indicates the currency is the United States dollar. """ USD """ This three-letter code indicates the currency is the Uruguayan peso. """ UYU """ This three-letter code indicates the currency is the Uzbekistani som. """ UZS """ This three-letter code is no longer valid, and was replaced by VED to represent the Bolívar Digital, the official currency of Venezuela. """ VES """ This three-letter code indicates the currency is the Vietnamese đồng. """ VND """ This three-letter code indicates the currency is the Vanuatu vatu. """ VUV """ This three-letter code indicates the currency is the Samoan tala. """ WST """ This three-letter code indicates the currency is the Central African CFA franc, which is the official currency for six Central African countries that form the Economic and Monetary Community of Central Africa (CEMAC). """ XAF """ This three-letter code indicates the currency is the Eastern Caribbean dollar, the official currency shared by eight island countries and territories in the Eastern Caribbean. """ XCD """ This three-letter code refers to the West African CFA franc, which is the official currency for eight West African countries that form the West African Economic and Monetary Union (UEMOA). """ XOF """ This three-letter code refers to the CFP franc (franc Pacifique or Pacific franc), the official currency used in three French overseas collectivities in the Pacific Ocean. """ XPF """ This three-letter code indicates the currency is the Yemeni rial. """ YER """ This three-letter code indicates the currency is the South African rand. """ ZAR """ This three-letter code indicates the currency is the Zambian kwacha. """ ZMW } """ This type defines the unique identifier of a custom list and the reason the custom list operation failed. """ type CustomListFailure { """ The unique identifier of the custom list that failed to be retrieved. """ customListId: ID! """ The reason the custom list failed to be retrieved. """ reason: CustomListFailureReason! } """ This enumerated type contains the reason a custom list operation failed. """ enum CustomListFailureReason { """ This value indicates that the specified custom list cannot be found. """ CUSTOM_LIST_NOT_FOUND } """ This type defines an individual item within a user's custom list. This type contains the item details along with custom list-specific metadata like the price of the item when added to a custom list. """ type CustomListItem { """ The date and time this item was added to this specific custom Watchlist. **Format**: ISO 8601 date-time string (`YYYY-MM-DDTHH:mm:ss.sssZ`) **Timezone**: UTC """ addedAt: DateTime! """ This object returns information for an item in this custom list. """ item: Item! } """ This type defines the paginated response containing items from a specific custom list and provides efficient access to large collections of custom list items. """ type CustomListItems { """ This object returns pagination information for navigating through multiple pages of custom list items. """ pagination: Pagination """ This array returns a list of items in the custom list. Items are ordered by the date they were added to the custom list with the most recent first. This array may be empty if the custom list has no items or if the requested page is beyond available data. """ results: [CustomListItem!]! } """ This type is used to specify the input parameters for retrieving items from a specific custom Watchlist. **Note**: All parameters are optional. If not provided, default values will be used. """ input CustomListItemsInput { """ This object can be used to specify optional pagination settings used to control page size and navigate through multiple pages of results. If pagination settings are not provided through this input, default pagination parameters will be applied. """ pagination: PageInfoInput } """ This type shows any global or marketplace-specific product compliance and/or takeback policies enabled for a listing. """ type CustomPolicies { """ An array of one to six product compliance policy ID values, representing one or more product compliance policies that are applicable to the listing. Product compliance policies provide buyers with important information and disclosures about products. The product compliance policies in this array will apply to all countries where the seller ships the item. Marketplace-specific product compliance policies are indicated with the **regionalProductCompliancePolicies** field. """ productCompliancePolicyIds: [ID!] """ The set of marketplace-specific product compliance policies that are associated with the listing. Product compliance policies provide buyers with important information and disclosures about products. For example, if you sell batteries in a country requiring disclosures that apply only to that marketplace, a marketplace-specific product compliance policy could contain this information. Each listing may have up to six (6) product compliance policies for each of the following countries: `GB`, `DE`, `FR`, `IT`, and `ES`. Global product compliance policies are indicated with the **productCompliancePolicyIds** array. """ regionalProductCompliancePolicies: RegionalProductCompliancePolicies """ The set of marketplace-specific take-back policies that are associated with the listing. The law in some countries may require sellers to take back a used product when the buyer buys a new product. Each marketplace may only have one specific take-back policy. A global take-back policy should be set with the **takebackPolicyId** field instead. Each listing may include one (1) marketplace-specific take-back policy for each of the following countries: `GB`, `DE`, `FR`, `IT`, and `ES`. """ regionalTakeBackPolicies: RegionalTakeBackPolicies """ The unique identifier of a global take-back policy. The take-back policy set with this field will apply to all countries where the seller operates. Region-specific policies are set with the **regionalTakeBackPolicies** field. """ takeBackPolicyId: ID } """ This type indicates the item is returned because it was damaged when received. Displays as **Damaged item received**. """ type DamagedItemReceived implements ReturnReason { """ A machine-readable reason code: `DAMAGED_ITEM_RECEIVED`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the item was received damaged, likely during shipping. """ type DamagedItemReturned implements PostPurchaseCaseReferralReason { """ A machine-readable reason code: `RECEIVED_DAMAGED_ITEM`. """ code: String! """ A human-readable case referral reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ An RFC-3339 compliant date-time scalar for precise timestamp representation. **Format**: ISO 8601 format following RFC-3339 specifications (YYYY-MM-DDThh:mm:ss.sssZ or with timezone offset). **Usage**: Used for representing exact moments in time including timezone information. **Example**: '2023-04-01T14:30:00.000Z' or '2023-04-01T10:30:00-04:00' **Note**: At runtime, this scalar converts to **java.time.OffsetDateTime** objects, preserving timezone information. """ scalar DateTime """ This type is used to set the time range if a **dateRange** filter is used. All item commitments either created or updated within this time range are retrieved. """ input DateTimeRangeInput { """ An ISO 8601 standard timestamp, using UTC time zone. All item commitments created or updated on this or before this date, and after or on the date in the **startDateTime** field are retrieved. **Note**: This date must be a later date than the date in the **startDateTime** field or an error will occur. **Format**: YYYY-MM-DDTHH:MM:SSZ **Example**: 2025-12-16T14:30:00Z """ endDateTime: DateTime! """ An ISO 8601 standard timestamp, using UTC time zone. All item commitments created or updated on this or after this date, and before or on the date in the **endDateTime** field are retrieved. **Note**: This date must be an earlier date than the date in the **endDateTime** field or an error will occur. **Format**: YYYY-MM-DDTHH:MM:SSZ **Example**: 2025-12-12T14:30:00Z """ startDateTime: DateTime! } """ A scalar representing precise decimal numeric values. **Format**: String-encoded decimal value with arbitrary precision (e.g., `10.99`, `1000.00`, `0.001`). **Usage**: Used for monetary amounts, measurements, and other values requiring decimal precision. **Example**: `19.99` for a price, `1.75` for a weight or measurement. **Note**: Preserves exact decimal representation without floating-point rounding errors, making it suitable for financial calculations and other precision-sensitive values. """ scalar Decimal """ This input type provides the fulfillment details used to support and explain declining the cancellation. """ input DeclineCancellationFulfillmentDetailsInput { """ The tracking number provided by the shipping carrier for this fulfillment. """ shipmentTrackingDetails: [DeclineCancellationShipmentTrackingDetailsInput!] """ The optional timestamp when the seller shipped the item. """ shippedAt: DateTime } """ This error type is returned when the decline cancellation request contains validation rule violations. """ type DeclineCancellationInputValidationError implements BusinessError { """ The globally unique error code for this business error. For this type, the value is `CNCL_DECLINE_REQ_VALIDATION_RULE_VIOLATION`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more validation violations for the decline cancellation request. This list is only returned when a violation is present. """ violations: [DeclineCancellationViolation!]! } """ This input type provides the shipment tracking details for a declined cancellation. """ input DeclineCancellationShipmentTrackingDetailsInput { """ The tracking number provided by the shipping carrier for this shipment. Ensure accuracy as the buyer will use this number to track the shipment and the number cannot be verified by eBay. Required if you include the **shippingCarrierCode** field. **Format**: Alphanumeric **Maximum length**: 512 characters """ shipmentTrackingNumber: String! """ The code or identifier for the shipping carrier handling the shipment. Required if you include the **shipmentTrackingNumber** field. """ shippingCarrierCode: String! } """ This interface represents the validation violations encountered when attempting to decline a cancellation. """ interface DeclineCancellationViolation { """ A machine-readable code identifying the validation rule that was violated. """ code: String! """ A developer-facing, human-readable string description of the violated validation rule. This message is intended for debugging and logs, not for displaying to end users. This string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type, available for the seller, is used to decline cancellation action on the contract. """ type DeclineContractCancellationAction implements ContractCancellationAction { """ The machine-readable cancellation action code for this use case. For this type, the value is `DECLINE`. """ code: String! """ A human-readable message explaining the cancellation action code. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **declineContractCancellation** mutation. It specifies the cancellation to decline and optionally includes fulfillment information. """ input DeclineContractCancellationInput { """ The unique identifier of the contract cancellation request to decline. """ cancellationId: ID! """ Optional additional fulfillment details for the contract cancellation decline, such as the dates shipped and tracking information. """ fulfillmentDetails: DeclineCancellationFulfillmentDetailsInput } """ This union type defines the response payload for the **declineContractCancellation** mutation. On success, the response includes a **DeclineContractCancellationSuccess** type object; on failure it returns an error indicating the reason that the cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union DeclineContractCancellationOutput = ContractCancellationActionNotPermittedError | ContractCancellationNotFoundError | DeclineCancellationInputValidationError | DeclineContractCancellationSuccess """ This type is returned when a contract cancellation has been successfully declined. """ type DeclineContractCancellationSuccess { """ The successfully declined contract cancellation. """ contractCancellation: ContractCancellation! } """ The base request type for the **declineOffer** method. This type defines the input information needed for declining an active offer. This includes the item ID and offer ID associated with the offer being declined, as well as an optional message explain why the offer was not accepted. """ input DeclineOfferInput { """ The unique identifier of the purchasable item for which the offer is being declined. """ itemId: ID! """ An optional message explaining the reason the offer was declined. This message will be visible to the seller and can be used to explain why the offer was not accepted. **Maximum length**: 250 characters """ message: String """ The unique identifier of the offer being declined. The offer must have the 'PENDING' status and the user must be authorized to decline it. """ offerId: ID! } """ The union type for the **declineOffer** mutation. This type covers two possible scenarios: success or failure. If the **declineOffer** mutation succeeds, the offer will be declined and information about the declined offer will be returned. If the **declineOffer** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the offer will not be declined. If a mutation fails, there will always be at least one blocking error. """ union DeclineOfferOutput = DeclineOfferSent | OfferBusinessRulesViolated | ReferenceArgumentsNotFound """ This type is used for a successful **declineOffer** mutation. On success, details about the declined offer are returned, such as the offer ID and updated status. """ type DeclineOfferSent { """ This object returns details about the offer that was declined using the **declineOffer** mutation. This information includes the offer ID and updated status ('DECLINED') of the offer being declined. """ offer: NegotiationOfferDetails! } """ This action type is used by a seller declining a return request. """ type DeclineReturnAction implements ReturnAction { """ A machine-readable return action code: `DECLINE_RETURN`. """ code: String! """ a human-readable text for decline return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **declineReturn** mutation which is used by the sender to decline a return with comments. """ input DeclineReturnInput { """ The optional text to include in the reply (from the sender to the buyer) regarding the overall decline. The message is stored as provided and not localized. **Minimum length:** 1 character **Maximum length**: 500 characters """ declinationNote: String """ The unique identifier of the return request to decline. This must be a valid return ID that the seller has permission to access. """ returnId: ID! } """ This error type indicates that one or more validation errors occurred while declining the return request. """ type DeclineReturnInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_DECLINE_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [DeclineReturnInputViolation!]! } """ This interface represents input violations detected during decline return request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for declining the return, such as rules that may include the maximum allowed characters for declination note. Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface DeclineReturnInputViolation { """ A machine-readable code identifying the specific decline return input violation. """ code: String! """ A human-readable message describing the decline return input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **declineReturn** mutation includes the result of the mutation and any errors encountered. """ union DeclineReturnOutput = DeclineReturnInputValidationError | OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError """ This type indicates the item is returned because it is defective. Displays as **Defective**. """ type Defective implements ReturnReason { """ A machine-readable reason code: `DEFECTIVE`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **deleteSellerReturnRule** mutation, which deletes a rule. Once deleted: - the rule is no longer active and will not be evaluated - the rule cannot be modified or re-enabled """ input DeleteSellerReturnRuleInput { """ The unique identifier of the rule to delete. **Note**: Deletion is permanent. Once deleted, the rule is no longer active, will not be evaluated, and cannot be modified or re-enabled. """ ruleId: ID! } """ This base response union type for the **deleteSellerReturnRule** mutation which indicates whether the seller's automation rule status was successfully deleted or if an error occurred that prevented the deletion: - the provided **ruleId** does not exist - the return rules feature is not enabled for the seller - """ union DeleteSellerReturnRuleOutput = DeleteSellerReturnRuleSuccess | ReturnRuleFeatureNotEnabledError | ReturnRuleNotFoundError """ This type defines a successfully deleted return rule and contains its name and ID. """ type DeleteSellerReturnRuleSuccess { """ The name of the deleted return rule. """ name: String! """ The unique identifier of the deleted return rule. """ ruleId: ID! } """ The base request type for the **deleteUserNote** mutation. This type defines the item or order line item for which the user note will be deleted. The input must specify the exact same item ID or order line item ID specified when creating the user note. If not, the mutation will fail. """ input DeleteUserNoteInput { """ The unique identifier of the purchasable item in a single-SKU or multiple-SKU listing for which the user note is being deleted. """ itemId: ID! """ The unique identifier of the order line item for which the user note is being deleted. This field must be used if the user note being deleted is associated with a specific order line item. """ orderLineItemId: ID } """ The union type for the **deleteUserNote** mutation. This type covers two possible scenarios: success or failure. If the **deleteUserNote** mutation succeeds, a **userNote** object that returns the user note that was successfully deleted will be returned. If the **deleteUserNote** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the user note will not be deleted. If a mutation fails, there will always be at least one blocking error. """ union DeleteUserNoteOutput = DeleteUserNoteSuccess | ReferenceArgumentsNotFound """ This type is used for a successful **deleteUserNote** mutation. On success, user note that was successfully deleted is returned. """ type DeleteUserNoteSuccess { """ This object returns the user note that was successfully deleted. This object will also return the order line item ID if the note is for an order line item. """ userNote: UserNote! } """ This type indicates the buyer is returning the item due to personal preference (they did not like the item). Displays as **Did not like item**. """ type DidNotLikeItem implements ReturnReason { """ A machine-readable reason code: `DID_NOT_LIKE_ITEM`. """ code: String! """ A human-readable return reason that is intended for display only. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type provides details about a digital delivery step in progress, and includes the digital delivery step state and completion date (if complete). """ type DigitalDeliveryExecution { """ This timestamp shows the actual time that the digital delivery step was completed. This field is returned if applicable and available. """ completedAt: DateTime """ This object shows the current state of fulfillment that this digital delivery step is contributing towards. """ fulfillmentState: LogisticsFulfillmentState! } """ This type provides details about a planned digital delivery step prior to execution. """ type DigitalDeliveryPlan { """ This timestamp shows the latest acceptable time by which the digital delivery step should be completed. This field is returned if applicable and available. """ sendBy: DateTime } """ This union type is used by the **DigitalDeliveryPlan** type to provide details about a planned digital delivery step and by the **DigitalDeliveryExecution** type to provide details about a digital delivery step in progress. """ union DigitalDeliveryPlanOrExecution = DigitalDeliveryExecution | DigitalDeliveryPlan """ This type is used to convey information about a digital delivery logistics point involved in a fulfillment plan. """ type DigitalDeliveryPoint implements LogisticsPoint { """ The shipping address associated with this digital delivery logistics point, if applicable. This may be returned `null`. """ address: PurchaseAddress """ The user-friendly name of the digital delivery logistics point (for example `Customer Email Address`). """ name: String! """ The recipient of the item via digital delivery. This will either be an email address if the item is delivered to an external address, or a public username if the item is delivered to the buyer's eBay InBox. """ recipient: DigitalUser! """ The functional role of the digital delivery logistics point in the logistics flow (for example, `DIGITAL_SOURCE` or `DIGITAL_DESTINATION`). """ type: DisplayableId! } """ This type convey details of a digital delivery logistics step involved in a fulfillment plan. """ type DigitalDeliveryStep implements LogisticsStep { """ This object shows details of the digital delivery location, which is typically an email address. """ deliveryPoint: LogisticsPoint! """ This object shows the user-friendly description and unique identifier of the party responsible for handling this digital delivery logistics step. """ handler: DisplayableId """ This object shows the user-friendly description and unique identifier of the digital delivery logistics step, for example `Email Delivery`. """ methodName: DisplayableId! """ The information shown in this object is dependent on the state of the logistics step. If the logistics step has not yet started and there is no hold associated with the logistics step, it may get returned as empty or null. If the logistics step is active or completed, the state and full details for this digital delivery step will be shown. """ planOrExecution: DigitalDeliveryPlanOrExecution! } """ This type is used to identify the email address of the recipient of a digital item. """ type DigitalEmailUser { """ The email address of the recipient of a digital item. """ email: String! } """ This type is used to identify the eBay username of the recipient of a digital item. This type is used if a digital item will be delivered to the eBay InBox of the recipient. """ type DigitalSiteUser { """ The eBay username of the recipient of a digital item. """ name: String! } """ This union type is used by the **DigitalEmailUser** type and the **DigitalSiteUser** type to identify the recipient of a digital item. """ union DigitalUser = DigitalEmailUser | DigitalSiteUser """ This enumeration type consists of the units of measurement that are used to specify shipping package dimensions. """ enum DimensionUnitType { """ This enumeration value indicates that the shipping package dimensions are measured in centimeters. """ CENTIMETER """ This enumeration value indicates that the shipping package dimensions are measured in feet. """ FEET """ This enumeration value indicates that the shipping package dimensions are measured in inches. """ INCH """ This enumeration value indicates that the shipping package dimensions are measured in meters. """ METER } """ This type is used by multiple types that require a unique identifier and a human-readable name. """ type DisplayableId { """ A human-readable name or description of the identifier entity . **Maximum length**: 100 characters """ displayName: String! """ The unique identifier of the entity. """ id: ID! } """ This enumeration type defines the supported units for measurement of distance . """ enum DistanceUnit { """ This enumeration value indicates that distance is measured in miles. """ MILES } """ This type defines the external reference that creates an order. For example, if an order is created by the RequestTotal, the **identifier**: `1234` and the **domain**: `RequestTotal`. """ type DomainIdentifier { """ The domain of the external reference. """ domain: ID! """ The unique identifier for the external reference. """ identifier: ID! } """ This type defines the priceline for Domestic Shipping Price. """ type DomesticShippingPrice implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `DOMESTIC_SHIPPING_PRICE`. """ name: String! } """ This type defines the priceline for Domestic Shipping Tax. """ type DomesticShippingTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `DOMESTIC_SHIPPING_TAX`. """ name: String! } """ This type represents a snapshot of the item associated with the donation. """ type DonationItem { """ The details of the non-profit organization. """ nonProfitOrganization: NonProfitOrganization! """ The name of the organization receiving the donation. """ organizationName: String! """ The legal residence or principal place of business of the seller, e.g., US. """ sellerDomicile: DisplayableId! } """ This scalar represents the duration in ISO-8601 format. For example, `PT1H30M` for 1 hour and 30 minutes. """ scalar Duration """ This type is used to identify eBay balance as the payment method. """ type EbayBalance implements PaymentMethodType { """ The unique identifier of the eBay balance payment method. """ code: ID! """ The descriptive name of the eBay balance payment method. """ descriptiveName: String! """ The display name of the eBay balance payment method. """ displayName: String! } """ This type represents an eBay liability account used for fund transfers. """ type EbayLiabilityAccount implements FundAccount { """ The unique identifier of the domain or type of the account. Value: `EBAY`. """ domain: ID! """ A unique identifier for this liability account, used when performing fund transfers. """ identifier: ID! } """ This type contains detailed information about the eBay plus addon service associated with an order line item. """ type EbayPlusAddOnService { """ This field identifies the party responsible for this service. """ poweredBy: ID! } """ This type represents an eBay revenue account used for managing and transferring funds. """ type EbayRevenueAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! } """ This type is used to provide the cost and vault fulfillment type used for an item that is located within the PSA Vault. """ type EbayVaultAddOnService { """ This field specifies the vault fulfillment type that will be used to deliver the item to the buyer. """ fulfillmentType: EbayVaultFulfillmentType! """ The associated cost of the vault service. This object can be null when there is no cost associated with the fulfillment. """ serviceCost: AmountSet } """ This union type represents the type of fulfillment for items stored in eBay Vault. """ union EbayVaultFulfillmentType = SellerToVault | VaultToBuyer | VaultToVault """ This type is used to specify which listing to end and the reason for ending it. """ input EndListingInput { """ The field is used to provide the seller's reason to end the listing. See the [`EndListingReason`] for the list of supported enumeration values. """ endListingReason: EndListingReason! """ This object is used to identify the listing to be ended. It can either be identified with the **listingId** or the SKU value if defined in the active listing. """ listingIdentifier: ListingIdentifierInput! } """ This union type is used for the response of an **endListing** mutation. Two possible results of a **endListing** mutation will be a **listing** object (and possibly one or more **warnings**), or an array of blocking errors if the mutation fails and the listing is not ended successfully. If a mutation fails, there will always be at least one blocking error, and there may also be one or more warning messages that are triggered. """ union EndListingOutput = EndListingSuccess | EndListingValidationError """ This enumeration type is used to define the enumeration values that can be used/returned as a reason why a seller is ending an eBay listing before its scheduled end date. """ enum EndListingReason { """ This enumeration value indicates that the seller is ending an auction listing to sell the item to the current high bidder. This ending reason and action could not be taken if there were less than 12 hours before the end of the auction. """ END_AUCTION_AND_SELL """ This enumeration value indicates that the seller is ending a listing due to the item being out-of-stock. """ END_ITEM_ON_ZERO_QUANTITY """ This enumeration value indicates that the seller is ending a listing due to a non-price related error. """ ERROR_IN_LISTING """ This enumeration value indicates that the seller is ending a listing due to a price-related error. """ ERROR_IN_PRICE """ This enumeration value indicates that the seller is ending a listing because the item is lost or broken/damaged. """ LOST """ This enumeration value indicates that the seller is ending a listing because the seller no longer wishes to sell the item. """ NOT_AVAILABLE """ This enumeration value indicates that the seller is ending a classified ad listing because the item has been sold. This value only applies to motor vehicle classified ad listings. """ SOLD_VEHICLE } """ This output type is used when an **endListing** mutation is successful, and shows the full details of the listing that was just ended, and will also show one or more warnings if any occurred during the processing of the mutation. """ type EndListingSuccess { """ This object shows the full details of the listing that was just successfully ended. """ listing: SellerListing! """ This array shows any non-blocking warnings generated during the processing of the **endListing** mutation. **Note**: This array is returned as empty if there are no warnings. """ warnings: [ListingWarning!] } """ This type is used when the **endListing** mutation fails due to one or more blocking validation errors. A list of validation rule violations that must be fixed before retrying will be shown, and one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type EndListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type provides information about the energy efficiency for certain durable goods """ type EnergyEfficiencyLabel { """ The Energy Efficiency Label image that is applicable to an item. This field is required if an Energy Efficiency Label is provided. The URL provided must be an eBay Picture Services (EPS) URL only. """ image: ListingImage """ A brief verbal summary of the information included on the Energy Efficiency Label for an item. """ imageDescription: String """ The URL to the Product Information Sheet image that is applicable to an item. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. """ productInformationSheetUrl: HttpsUrl @deprecated(reason: "refer listingTerms.regulatory.documents field instead.") } """ This type represents the eBay Product ID (e.g. ePID), which is the unique identifier of an eBay catalog product. """ scalar Epid """ This union type represents possible parties involved in an escalation. """ union EscalationPendingParty = EscalationPendingPartyBuyer | EscalationPendingPartyCustomerService | EscalationPendingPartySeller """ This type indicates the buyer is the party pending escalation. """ type EscalationPendingPartyBuyer implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type indicates customer service team is the party pending escalation. """ type EscalationPendingPartyCustomerService implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type indicates seller is the party pending escalation. """ type EscalationPendingPartySeller implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type is used to show a monetary amount that is converted to a different currency, such as the buyer's or seller's currency. The **amount** and **exchangeRate** values are only estimates or projections if the actual conversion has not happened yet. """ type ExchangeAmount { """ The converted monetary amount in the buyer's or seller's currency. **Note**: This value is only an estimate or projection if the actual conversion has not happened yet. """ amount: Amount! """ The timestamp indicates when the currency conversion happened at the rate found in the **exchangeRate** field. **Note**: Will be null if currency conversion has not happened or if the timestamp is unavailable. """ exchangeAt: DateTime """ The exchange rate that was used or will be used for the currency conversion. **Note**: This rate fluctuates until the currency conversion has taken place, but currency conversion happens, the rate no longer changes. """ exchangeRate: Decimal } """ The values in this enumeration type are used to indicate if the corresponding monetary amount is being shown in the buyer's or seller's currency. """ enum ExchangeAmountScenario { """ This value indicates that the corresponding monetary amount is being shown in the buyer's currency. """ BUYER_CURRENCY """ This value indicates that the corresponding monetary amount is being shown in the seller's currency. """ SELLER_CURRENCY } """ This union type is used by the **ExchangeAmount** type in the case of a successful conversion and by the **InvalidExchangeScenarioInputError** in the case of a failed conversion. """ union ExchangeScenarioResult = ExchangeAmount | InvalidExchangeScenarioInputError """ This type contains details about exports addon service related information. """ type ExportsAddOnService { """ The unique identifier of the party that will handle the return if a return happens. As of now, the only valid value is `EBAY`. """ returnManagedBy: ID! """ The location where the service is to be provided or performed. """ serviceLocation: ID } """ This type is used to indicate an eco-participation fee for item(s) in a listing. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ type ExtendedProducerResponsibility { """ This is the fee paid for new items to the eco-organization (for example, eco-organisme in France). It is a contribution to the financing of the disposal of the item responsibly. """ listingEcoParticipationFee: ConvertedAmount } """ This type represents the specifics of a single external product. These details are used to create eBay Listing Previews. """ type ExternalProductDetails { """ An array of product aspect name-value pairs for an external product. """ aspects: [ExternalProductDetailsAspect!] """ The full path to the listing category of the external product, such as `/Electronics/Cell Phones & Accessories/Smart Watches` This field will be returned as null if not provided for an external product. """ category: String """ This object shows the Global Trade Identifier Number (GTIN) for an external product. This object will be returned as null if not provided for an external product. """ externalProductIdentifier: ExternalProductIdentifier """ An array of URLs pointing to images of the product. """ images: [HttpOrHttpsUrl!] """ Represents the seller-defined Stock Keeping Unit (SKU) of the external product. If the SKU was not provided for an external product, this field returns null. """ sku: String """ The title of the external product. This field will be returned as null if not provided for an external product. """ title: String } """ This type is used to represent a specific feature or aspect of an external product. Each aspect is defined by a name and a list of one or more values. """ type ExternalProductDetailsAspect { """ The name of the aspect for the external product. """ name: String! """ A list of one or more corresponding values for the aspect. """ values: [String!]! } """ This type is used to specify product aspect name-value pairs of an external product. Each aspect is defined by a name and a list of one or more values. The maximum number of aspects allowed is 50. """ input ExternalProductDetailsAspectInput { """ The name of the aspect for the external product. **Maximum length**: 100 characters """ name: String! """ An array of one or more corresponding values for the aspect. **Maximum length**: 100 characters """ values: [String!]! } """ This type is used to provide details of external products. Product details include title, images, product identifiers, product aspects, category name, and SKU value. If product aspects are provided, a category name must also be provided or a listing preview cannot be generated for that external product. A SKU is optional, but it is highly recommended as it acts as a key to track/identify different external products. Include as many fields as possible to increase chances of creating higher-quality eBay listing previews. """ input ExternalProductDetailsInput { """ An array of product aspect name-value pairs for the external product. If the array is included, it is required that it contain no null entries. Some aspects will only have one value and other aspects will have multiple values. **Example** `[{"name":"Color","values":["Black","Red"]},{"name":"Storage Capacity","values":["64GB"]}]` """ aspects: [ExternalProductDetailsAspectInput!] """ The listing category of the external product. A simple category name can be supplied here such as "Smart Watches", or you can provide the path to the category, such as /Electronics/Cell Phones & Accessories/Smart Watches.` """ categoryName: String """ This object is used to provide a Global Trade Identifier Number (GTIN) for an external product. If a GTIN value is provided for an external product, no other data under **externalProductDetails** shall be provided. """ externalProductIdentifierInput: ExternalProductIdentifierInput """ An array of image URLs provided for the external product. Each provided image must be a valid URL that uses 'https'. If the array is included, it is required that it contain no null entries. **Maximum images**: 24 """ images: [HttpOrHttpsUrl!] """ The SKU (Stock Keeping Unit) of the external product. This value is a seller-defined identifier for the product. This is an optional field, but it is highly recommended as it acts as a key to track/identify different external products. """ sku: String """ The title of the external product. The title field should not contain HTML or JavaScript code. Any HTML characters will be treated as plain text. The title should be a string of characters, with support for all characters in the Unicode character set. An example of a title is **`Apple iPhone 11 Pro Max`**. **Maximum length**: 250 characters """ title: String } """ This type is used to show the Global Trade Identifier Number (GTIN) for an external product. """ type ExternalProductIdentifier { """ The GTIN value of the external product, corresponding to the GTIN type specified in the **productType** field. This field will be returned as null if a GTIN was not provided for the external product. """ productId: String! """ The GTIN type of the external product. `UPC`, `ISBN`, and `EAN` are the supported values. This field will be returned as null if a GTIN was not provided for the external product. """ productType: ExternalProductIdentifierEnum! } """ An enumerated type defining values for different external product types. """ enum ExternalProductIdentifierEnum { """ A European Article Number (EAN) is a unique 8 or 13-digit identifier code that identifies products worldwide. The EAN values are typically used across Europe. """ EAN """ An International Standard Book Number (ISBN) is a unique numeric commercial book identifier. Both 10 and 13-character ISBNs are supported. """ ISBN """ Manufacturer Part Number (MPN) values are currently not supported, so please don't specify this value in the **productType** field. """ MPN """ A Universal Product Code (UPC) is a unique numerical identifier for commercial products. UPC values are typically used in the US and Canada. """ UPC } """ This type is used to provide a Global Trade Identifier Number (GTIN) for an external product. """ input ExternalProductIdentifierInput { """ The GTIN value of the external product, corresponding to the GTIN type specified in the **productType** field. The pattern of characters in this field should match the **productId** type. """ productId: String! """ The GTIN type of the external product. `UPC`, `ISBN`, and `EAN` are the supported values and one of these should be specified in this field. """ productType: ExternalProductIdentifierEnum! } """ This enumerated types defines the supported document file extensions for uploads related to the inquiry process. Examples include evidence documents or shipping proofs. Only the listed formats are supported. """ enum FilenameExtension { """ This enum value indicates that the Microsoft Word document (.doc) format is supported. """ DOC """ This enum value indicates that the Microsoft Word document (.docx) format is supported. """ DOCX """ This enum value indicates that the GIF image format is supported. """ GIF """ This enum value indicates that the JPEG image format is supported. """ JPG """ This enum value indicates that the PDF document format is supported. """ PDF } """ This type indicates that the Parts & Accessory item is being returned as the item does not fit the buyer's vehicle and displays as **Fit compatibility issue**. """ type FitCompatibilityIssue implements ReturnReason { """ A machine-readable reason code: `FIT_COMPATIBILITY_ISSUE`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the item is returned because the buyer found a better price. Displays as **Found better price**. """ type FoundBetterPrice implements ReturnReason { """ A machine-readable reason code: `FOUND_BETTER_PRICE`. """ code: String! """ A human-readable return reason that is intended for display only. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the cancellation reason was that a cheaper price from a different seller was found. """ type FoundCheaperPriceCancellation implements ContractCancellationReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `FOUND_CHEAPER_PRICE`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type contains detailed information on the fulfillment addon service associated with an order line item. """ type FulfillmentAddOnService { """ This field indicates the party that is handling fulfillment of the order line item. """ fulfilledBy: ID! } """ This type is used to indicate that fulfillment is completed. """ type FulfillmentCompleted implements Labeled { """ This timestamp indicates the date and time when fulfillment completed. """ completedAt: DateTime """ The human-readable label representing a fulfillment that has completed (e.g. "Completed"). **Maximum length**: 100 characters """ label: String! } """ This type indicates that the fulfillment is currently in progress. """ type FulfillmentInProgress implements Labeled { """ The human-readable label representing a fulfillment that is in progress (e.g. "In Progress"). **Maximum length**: 100 characters """ label: String! """ This timestamp indicates the date and time when fulfillment began. """ startedAt: DateTime! } """ This type indicates that fulfillment has not started. """ type FulfillmentNotStarted implements Labeled { """ The human-readable label representing a fulfillment that has not started (e.g. "Not Started"). **Maximum length**: 100 characters """ label: String! } """ This type is used to indicate that fulfillment has partially started, meaning that the fulfillment of some line items has started, while the fulfillment process on other line items has not started. """ type FulfillmentPartiallyStarted implements Labeled { """ The human-readable label representing a fulfillment that has partially started (e.g. "Partially Started"). **Maximum length**: 100 characters """ label: String! """ This array shows the list of line items for which fulfillment has not yet started. """ lineItemsNotStarted: [LineItemReference!]! """ This array shows the list of line items for which fulfillment has started. """ lineItemsStarted: [LineItemReference!]! } """ This type is used to provide details on how the item will be delivered to the buyer. The data in this type includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. """ type FulfillmentTerms { """ This field should be included and set to true if the item is a digital item that can be downloaded via a link or delivered to the buyer via email. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see if a leaf category supports digital delivery. """ digitalDeliverySupported: Boolean """ This boolean specifies whether the seller wants to offer free shipping. To see if a specific shipping service is free, look at **ShippingServiceDetails.shippingCost**. If it is set to zero, the shipping is free for that service. """ freeShippingAvailable: Boolean """ This field can be included and set to `true` if the seller wishes to use eBay's Global Shipping Program (GSP) to ship items internationally. With GSP, the seller ships the item to eBay's shipping partner, and that shipping partner handles all logistics of the international shipping leg. GSP is only available for listings on the eBay UK marketplace. eBay US has a similar program called eBay International Shipping, but there is currently no boolean field associated with this feature. """ globalShippingSupported: Boolean """ This field is only applicable to sellers enabled to sell 'Buy online, pick up in store' (BOPIS) inventory. This field is included and set to `true` if the seller wishes to make the item available for pickup at a store location within close proximity to the buyer's location. See the [In-store pickup ](https://developer.ebay.com/api-docs/sell/static/inventory/in-store-pickup.html) topic for information on setting up BOPIS, including how to create store locations and load inventory to those stores. """ inStorePickupSupported: Boolean """ This object provides information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. Package weight is required when calculating shipping is used, and shipping services generally have dimension and weight restrictions. """ packageSpecifications: ShippingPackageSpec """ This object provides information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ shippingTerms: ShippingTerms } """ This union type is used by the **FulfillmentTerms** and **BusinessPolicy** type to display fulfillment terms for a listing, including shipping cost model, available shipping services, shipping costs, handling time, combined shipping rules, and excluded shipping locations. """ union FulfillmentTermsPolicy = BusinessPolicy | FulfillmentTerms """ This interface is used to identify a source payment account for a payer or a destination payment account for a payee. """ interface FundAccount { """ A unique identifier that identifies the domain or type of account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! } """ This type includes detailed gift information if the order or line item was wrapped as a gift. It captures elements such as the card template, gift message, image, and sender/recipient details. """ type GiftSummary { """ The card template, referring to the design or layout of the gift card. """ cardTemplate: String """ The message included with the gift. """ giftMessage: String """ The URL of the image representing the gift. """ imageUrl: String """ The recipient address details. """ recipient: [PurchaseAddress!] """ The address details of the sender. """ sender: [PurchaseAddress!] } """ This type is used to indicate which party handles shipment through the Global Shipping Program. """ type GlobalShippingAddOnService { """ The unique identifier of the party that will handle fulfillment through the Global Shipping Program. As of now, the only valid value is `EBAY`. """ poweredBy: ID! } """ This type is used to identify Google Pay as the payment method. """ type GooglePay implements PaymentMethodType { """ The unique identifier of the Google Pay payment method. """ code: ID! """ The descriptive name of the Google Pay payment method. """ descriptiveName: String! """ The display name of the Google Pay payment method. """ displayName: String! } """ This type stores information related to government-issued IDs associated with the business and/or user for whom information is being returned. """ type GovernmentIssuedId { """ The type of government-issued ID (e.g., BRN, CRN, ABRN, etc.,) associated with the user for whom information is being returned. """ idType: String """ The government ID number corresponding to the specified type of government-issued ID. """ idValue: String } """ This type is used by the seller to provide hazardous material information for the listing. """ type HazardousMaterial { """ Additional information seller provides about the hazardous material in this listing. """ additionalInformation: String """ This array specifies one or more pictogram codes that represent the possible hazards that a product poses. The pictograms that are stated on the product's Safety Data Sheet should be used. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the codes that can be provided in this array. The pictogram(s) that the code(s) represent are painted on the listing. **Maximum number of pictogram codes allowed**: 4 pictograms """ pictogramCodes: [ID!] """ The signal word for hazardous materials in the listing. If your product contains hazardous substances or mixtures. **Example Value**: Danger, Warning """ signalWordCode: ID """ This object is used by the seller to provide hazard statements for the listing. This field is required if hazmat information is supplied. This field is an empty list if there are no hazard statements. This should not be null unless an error has occurred. Please see the error section of the response for more details """ statementCodes: [ID!] } """ This type indicates that the item is currently held at customs. """ type HeldAtCustoms implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `HELD_AT_CUSTOMS`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ A scalar representing a valid HTTP or HTTPS URL string value. """ scalar HttpOrHttpsUrl """ A scalar representing a valid HTTPS URL string value that enforces secure URL protocols. **Format**: Must begin with 'https://' followed by a valid domain name and optional path components. - Protocol must be HTTPS (not HTTP) - Must contain a valid domain name - May include an optional port number - May include optional path, query parameters, and fragments - Special characters in the URL must be properly encoded """ scalar HttpsUrl """ A scalar representing a unique identifier for idempotency purposes. **Maximum length**: 32 characters. """ scalar IdempotencyKey """ This type defines the priceline for Import Tax. """ type ImportTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `IMPORT_TAX`. """ name: String! } """ This type indicates the incorrect payment method that was used when the contract was created. """ type IncorrectPaymentMethodCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `INCORRECT_PAYMENT_METHOD`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the incorrect shipping address was provided when the contract was created. """ type IncorrectShippingAddressCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `INCORRECT_SHIPPING_ADDRESS`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the incorrect shipping method was selected when the contract was created. """ type IncorrectShippingMethodCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `INCORRECT_SHIPPING_METHOD`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type stores detailed personal information for the user for whom information is being returned. **Note**: If the user requesting this data is not authorized to view some of the requested information, those fields containing sensitive/confidential information will be masked or return null values. """ type IndividualIdentityProfile { """ The primary personal email address associated with the user. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ email: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.email.readonly"]) """ The first/given name of the user. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ firstName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ The last/family name of the user. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ lastName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly"]) """ The middle name of the user, if provided. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ middleName: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly"]) """ The primary personal telephone number of the user. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ primaryPhone: Phone @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.phone.readonly"]) """ The address of the user that was provided during account registration. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ profileAddress: ProfileAddress @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.address.readonly"]) } """ This type represents the range of allowed percentage values for an input field. """ type InputPercentageRange { """ The maximum allowed value for percentage. """ maxValue: Int! """ The minimum allowed value for percentage. """ minValue: Int! } """ This common type represents the length constraints for text input fields and is used across multiple violation types to define allowed character limits. """ type InputTextLengthRange { """ The maximum number of characters allowed for input text. """ maxLength: Int! """ The minimum number of characters required for input text. """ minLength: Int! } """ This type represents a shipping carrier used for order inquiry. It includes the eBay-standard carrier code and, when applicable, the name of an unsupported carrier. """ input InquiryShipmentCarrierInput { """ The eBay-standard code representing the shipping carrier. This value must match one of the supported eBay **carrierCodes**. If the carrier is not officially supported or recognized by eBay Marketplace, use the special value `UNSUPPORTED`. In that case, provide the carrier name in the **unsupportedCarrierName** field. """ carrierCode: String! """ The carrier name as provided by the user, when the carrier is not recognized by eBay Marketplace. **Note**: This field is only applicable if **carrierCode** is set to `UNSUPPORTED`. """ unsupportedCarrierName: String } """ This type is used to provide carrier and tracking details for the shipment associated with an order inquiry. """ input InquiryShipmentTrackingInput { """ The standardized carrier code associated with the shipment (e.g., `UPS`, `USPS`, `FEDEX`). """ shippingCarrier: InquiryShipmentCarrierInput! """ The tracking number provided by the shipping carrier. **Maximum length**: 500 """ trackingNumber: String! } """ This type defines the priceline for International Shipping Price. """ type InternationalShippingPrice implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `INTERNATIONAL_SHIPPING_PRICE`. """ name: String! } """ This type defines the priceline for International Shipping Tax. """ type InternationalShippingTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `INTERNATIONAL_SHIPPING_TAX`. """ name: String! } """ This type is used when currency conversion fails, provides details on why it failed. """ type InvalidExchangeScenarioInputError implements BusinessError { """ The unique identifier of the error, which will be `INVALID_EXCHANGE_SCENARIO_INPUT` when the input is invalid. """ errorCode: String! """ A human-readable description of the validation failure. """ errorMessage: String! } """ This type provides details of an external product that could not be used to create an eBay listing preview. Each invalid product includes a **description** field that explains why the external product details were unsuitable for creating a listing preview. The description is not localized and may change over time. This field is intended as a debugging aid for humans—-do not use **description** for client-side handling logic. """ type InvalidExternalProductDetails { """ The external product details originally provided through the mutation request. """ clientProvidedProductDetails: ExternalProductDetails! """ A human-readable description of why the external product details could not be used to create an eBay listing preview. This field is intended as a debugging aid for humans--do not use description for client-side handling logic. """ description: String! } """ This type defines the business rule error that occurs when an offer message includes invalid content. """ type InvalidOfferMessage implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ A scalar representing the payee for a transaction. **Format**: String-encoded identifier for the payee. **Usage**: Used to specify the payee in various transaction contexts. Example: `BUYER` for the buyer and `SELLER` for the seller. """ scalar Invoicee """ This type represents an item, which is a specific, purchasable configuration within a listing. It includes a unique combination of identifying characteristics such global identifiers, listing terms, availability, price, and regulatory requirements necessary to complete a transaction. Every listing contains at least one item, providing a unified approach that works transparently across simple single-sku listings and complex multi-sku listing. """ type Item { """ When present, the item is an auction with the contained details. When absent, the item is not available as an auction. """ auctionDataSummary: AuctionDataSummary """ This field identifies a purchasable item in a single-SKU or multiple-SKU listing. """ itemId: ID! """ This object provides comprehensive access to all offer activity related to this item. This includes offer history, active offers requiring attention, current conversation statuses, and key statistics such as total offer count and the last accepted offer amount. """ itemOfferOverview: ItemOfferOverview """ The unique REST-based identifier of a purchasable item within an eBay listing. This identifier is used in eBay REST APIs to identify a purchasable item. Format: - `v1||` for multisku - `v1||0` for single sku """ itemIdRestReference: ID """ This object provides a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID) if defined for the item. For a multiple-SKU listing, the **traits** array is mandatory and identifies the unique traits of the variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are `Color` and `Size`. For example, a `Blue, Large` shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ itemSellerProduct: ItemSellerProduct """ This object provides the pricing information, available quantity, and eco-participation fee (if applicable) for a purchasable item. """ itemTerms: ItemTerms """ The seller-defined Stock-Keeping Unit (SKU) value that is used to uniquely identify a purchasable item in the listing. This field is mandatory for each variation defined for a multiple-variation listing, but it is optional for a single-SKU listing. If a seller would like the option to perform an action against a single-SKU listing using its SKU value instead of its listing ID, then they must include this value for the item. """ sku: String """ A list of user notes associated with this item. An empty list is returned if no user notes currently exist for this item. """ userNotes: [UserNote!]! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.usernote"]) } """ Input object for **itemBiddingActivity** query. """ input ItemBiddingActivityInput { """ The unique identifier of the item for which the auction details are being requested. """ itemId: ID! } """ This type is used by the base response payload for **itemBiddingActivity** query. """ type ItemBiddingActivityOutput { """ This object provides bidding activity for the requested auction listing. """ itemBiddingActivity: AuctionData! } """ This type provides all details of an item commitment. An item commitment represents a buyer's confirmed intent to purchase an eBay item. This type includes key details such as the unique identifier of the item commitment, buyer information, seller information, price, and status. """ type ItemCommitment { """ The unique identifier of an item commitment. """ itemCommitmentId: ID! """ This array returns any automated payment schedule details associated with the item commitment. **Note**: This object will only be exposed to the seller if applicable. """ autoPaymentScheduleDetails: [AutoPaymentScheduleDetails!] """ The buyer who committed to purchasing the item. """ buyer: User! """ This object is only returned if the item commitment has been cancelled, and includes the unique identifier of the cancellation. """ cancellation: ItemCommitmentCancellation """ The unique identifier of the eBay marketplace where the item commitment was created. """ committedMarketplace: Marketplace! """ The exact date and time when the item commitment was initially created in the system. This marks the start of the item commitment lifecycle. **Note**: This object will never be returned `null`. """ createdAt: DateTime! """ This object shows any additional services related to the item commitment added by the buyer or seller. """ itemCommitmentAddOnService: ItemCommitmentAddOnService """ This object show details of the line item associated with the item commitment, including the identifier of the item, purchase quantity, how the item was purchased, and SKU value if defined. """ lineItem: ContractListingItem! """ This object shows detailed logistics information associated with the item commitment, describing how the purchased item(s) will be fulfilled, delivered, or made available to the buyer. **Note**: This object may be null or empty until the buyer selects one of the options under the **logisticsOptions** array. """ logistics: PurchaseLogistics! """ This array shows the set of logistics options available to the buyer for this item commitment. Each option includes method, cost, and estimated delivery time. """ logisticsOptions: [ItemCommitmentLogisticsOptions!] """ This object shows detailed information on any and all monetary transactions that occurred for the item commitment between any combination of buyer, seller, and eBay. Each entry represents a distinct payment-related detail within the item commitment lifecycle. """ monetaryDetails: MonetaryDetails """ This field is returned with a unique identifier of an order if there is an order associated with the item commitment. Unless an item commitment is cancelled or abandoned, an item commitment will become a paid order either directly or as part of a purchase quote. """ order: Order """ This array shows the payment methods available to the buyer for this item commitment. """ paymentOptions: [ItemCommitmentPaymentOption!] """ This array is returned if the item commitment is associated with any purchase quote, which is a collection of two or more item commitments that will be paid for with one payment. """ purchaseQuote: [PurchaseQuote!] """ This object is only returned if there is a refund associated with the item commitment and includes the unique identifier of the refund. """ refunds: [Refund!] """ This object is only returned if there is a return request associated with the item commitment and includes the unique identifier of the return request. """ returns: [OrderReturn!] """ This field represents the seller who owns the eBay listing that originated the item commitment. """ seller: User! """ This object provides information on the current state of the item commitment. The information that one will see here will be dependent on the state of the item commitment. """ state: ItemCommitmentState! """ This object shows any item commitment tags added by the seller to the item commitment. **Note**: Item commitment tags can only be added by seller, so this object will only be exposed to the seller if the item commitment has one or more item commitment tags. """ tags: PurchaseTags """ This object shows total sales price of the eBay item associated with the item commitment, including any deposit for a motor vehicle. These monetary values will be shown in multiple currencies if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ totals: ItemCommitmentTotals! """ This object provides the exact date and time when the item commitment was last modified or updated in the system. This timestamp captures any changes made to the item commitment after initial creation, including change in state. **Note**: This object is guaranteed to be non-null. """ updatedAt: DateTime! } """ This type is used to express the state of an abandoned item commitment. An abandoned item commitment will not be fulfilled. This is a terminal, closed state, and no further action or modification is permitted. """ type ItemCommitmentAbandoned implements Labeled { """ The human-readable label representing an abandoned item commitment (e.g. `Abandoned`). **Maximum length**: 100 characters """ label: String! } """ This type is used to express various state details of an active item commitment. """ type ItemCommitmentActive implements Labeled { """ This object indicates the current cancellation status of the item commitment. **Note**: This object is only applicable and returned if the item commitment is associated with a cancellation request. """ cancelState: ContractCancelState """ This object indicates the current fulfillment status of the item commitment. """ fulfillmentState: LogisticsFulfillmentState! """ This object indicates the current payment status of the item commitment. """ fundingState: PaymentsState! """ The human-readable label representing an active item commitment (e.g. `Active`). **Maximum length**: 100 characters. """ label: String! """ This object indicates the current return status of the item commitment. **Note**: This object is only applicable and returned if the item commitment is associated with a return request. """ returnState: ItemCommitmentReturnState } """ This type is used to indicate extra or special features or services that were added by the buyer or seller to the item commitment. """ type ItemCommitmentAddOnService { """ This object is returned to indicate that the shipment/delivery of a trading card will involve the PSA vault. """ eBayVault: EbayVaultAddOnService """ This object is returned to indicate if the eBay International Shipping program will be used by the seller to ship the item(s). """ exports: ExportsAddOnService """ This object is returned to indicate if eBay managed shipping will be used to ship the item(s). """ fulfillment: FulfillmentAddOnService """ This object is returned to indicate if the Global Shipping Program will be used by the seller to ship the item(s). """ globalShipping: GlobalShippingAddOnService """ This object is returned to indicate that the buyer of a motor vehicle is purchasing additional services for the vehicle such as financing or insurance. """ motorPurchase: MotorPurchaseAddOnService } """ This type represents the cancellation of an **ItemCommitment** contract. The original commitment is available in the **ItemCommitmentCancellation.itemCommitment** field. """ type ItemCommitmentCancellation implements ContractCancellation { """ The buyer involved in the cancellation. """ buyer: User! """ Actions presently available to the buyer for this cancellation request, including the primary action and deadline. This field will not be set unless there is an action available. """ buyerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.cancellation.read" "https://api.ebay.com/oauth/api_scope/buy.cancellation" ]) """ The unique identifier of the item commitment cancellation. """ cancellationId: ID! """ The timestamp when the item commitment cancellation was closed. If the status is not closed, this field will not be set. """ closedAt: DateTime """ The original item commitment for which the order was created. """ itemCommitment: ItemCommitment! """ The line-level entries included in this commitment cancellation. """ lineItems: [ItemCommitmentCancellationLineItem!]! """ The reason for the cancellation. """ reason: ContractCancellationReason! """ An array of refunds resulting from this cancellation. Present only if refund processing was initiated; otherwise, null. """ refunds: [Refund!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.refund.read" "https://api.ebay.com/oauth/api_scope/sell.refund.read" ]) """ The timestamp when the cancellation was submitted. """ requestedAt: DateTime! """ The party that initiated the cancellation. For example, the `BUYER`. """ requester: PostPurchaseActorRole! """ The note provided with the cancellation request. Available if the requester provided a note; otherwise, null. """ requesterNote: String """ The seller involved in the cancellation, which may be the initiating party. """ seller: User! """ Actions presently available to the seller for this cancellation request, including the primary action and deadline. This field will not be set unless there is an action available. """ sellerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ The present status of this cancellation. """ status: ContractCancellationStatus! } """ This type represents an ineligibility reason indicating that the cancellation window on an item commitment had elapsed. """ type ItemCommitmentCancellationConflictWithWindowElapsed implements ItemCommitmentCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_WINDOW_ELAPSED`. """ code: String! """ Human-readable message of the eligibility failure reason. For this type, the value is `It's too late to cancel this item commitment. Please contact the buyer to see if you can work something out.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the item commitment whose cancellation was blocked by item commitment level eligibility rules. """ itemCommitmentId: ID! } """ This type describes the commitment-level ineligibility reasons that prevented the cancellation of an item commitment. The `ineligibilityReasons` field contains the specific commitment-level failure reasons, explaining why the cancellation cannot be performed at this time. **Note**: Clients should use **errorCode** and **ineligibilityReasons** for programmatic handling; **errorMessage** is intended for display. """ type ItemCommitmentCancellationEligibilityError implements BusinessError { """ The machine-readable error code for this business error. For this type, the value is `CNCL_ITEM_COMMITMENT_ELIGIBILITY_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more item commitment-level contract cancellation ineligibility reasons that block creation of a cancellation. For example, `CancellationExistsConflict` applies when the whole order is already cancelled or a cancellation is in progress. This field is required and contains at least one reason when this error is returned. """ ineligibilityReasons: [ItemCommitmentCancellationIneligibilityReason!]! } """ This type represents an ineligibility reason indicating that the requested item commitment already has a cancellation on file. """ type ItemCommitmentCancellationExistsConflict implements ItemCommitmentCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_EXISTS_CONFLICT`. """ code: String! """ Human-readable message of the eligibility failure reason. For this type, the value is `You cannot cancel this item commitment because a cancellation exists on this contract.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the item commitment for which cancellation is ineligible. """ itemCommitmentId: ID! } """ This interface type represents reasons at the item-commitment level that make the cancellation ineligible, thereby blocking creation of a cancellation. **Note**: Additional interfaces may be added to this union in the future; clients should handle unrecognized interfaces gracefully. """ interface ItemCommitmentCancellationIneligibilityReason { """ The machine-readable eligibility failure code. """ code: String! """ Human-readable message of the eligibility failure reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the item commitment whose cancellation was blocked by commitment level eligibility rule(s). """ itemCommitmentId: ID! } """ This type represents the line item in an **ItemCommitment** cancellation. **Note**: This type does not expose the contract line item since the root cancellation already references the `itemCommitment`. """ type ItemCommitmentCancellationLineItem implements ContractCancellationLineItem { """ Unique identifier of this cancellation line item. """ cancellationLineItemId: ID! """ Quantity cancelled for original item commitment. This field is present only when the item commitment cancellation has been completed. """ cancelledQuantity: Int """ The reference for cancelled item reference. """ item: ContractCancellationItemReference """ The restock details for the cancelled listing. Present only when listing restock is requested through cancellation mutations. This can be a list in case we will support restock for individual listing inside one item bundle. """ listingRestockTasks: [PostPurchaseListingRestockTask!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ Quantity requested for cancellation on original item commitment. """ requestedQuantity: Int! } """ This type represents an ineligibility reason indicating an item commitment cancellation was blocked by an eligibility policy. """ type ItemCommitmentCancellationReasonNotAllowed implements ItemCommitmentCancellationIneligibilityReason { """ The applicable cancellation reasons for current actor (user). """ availableReasons: [ContractCancellationReason]! """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_REASON_NOT_ALLOWED`. """ code: String! """ A human-readable description of the eligibility failure reason: `The cancellation reason you selected is not allowed by policy. Please choose a different reason and try again.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the item commitment whose cancellation was blocked by item commitment level eligibility rule(s). """ itemCommitmentId: ID! } """ This type is used to express the state and details of a cancelled item commitment. A cancelled item commitment will not be fulfilled. """ type ItemCommitmentCancelled implements Labeled { """ This object provides details on the cancellation state of the item commitment. """ cancelState: ContractCancelState """ This timestamp indicates the date and time when the item commitment was cancelled. **Note**: This field is only returned for completed cancellations. """ cancelledAt: DateTime! """ The human-readable label representing a cancelled item commitment (e.g. "Cancelled"). **Maximum length**: 100 characters. """ label: String! """ This field shows the reason provided for the cancellation. This may be system-generated or user-specified. **Note**: May not be returned if no reason was given or generated. """ reason: String } """ This type is used to express the state of a completed item commitment. An item commitment in this state means that the item commitment has been fulfilled and closed, and no further action or modification is expected. """ type ItemCommitmentCompleted implements Labeled { """ The human-readable label representing a completed item commitment (e.g. `Completed`). **Maximum length**: 100 characters. """ label: String! } """ This type is used to express the state of a locked item commitment. **Note**: An item commitment may enter a locked state during checkout when the item commitment is being validated, authorized for payment, or undergoing internal processing. The item commitment may be individually locked or indirectly locked as part of a purchase quote that is in checkout progress. """ type ItemCommitmentLocked implements Labeled { """ The human-readable label representing a locked item commitment (e.g. `Locked`). **Maximum length**: 100 characters. """ label: String! } """ This interface is used by types that convey available logistics options available for an item commitment. """ interface ItemCommitmentLogisticsOptions { """ The total logistics cost for the item if the corresponding logistics option is used. Multiple values/currencies will be shown if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ cost: AmountSet """ The user-friendly description of the logistics option. **Maximum length**: 100 characters """ displayName: String } """ This error type indicates that the specified item commitment cannot be found. """ type ItemCommitmentNotFoundError implements BusinessError { """ The globally unique error code for this business error. For this type, the value is `ITEM_COMMITMENT_NOT_FOUND` """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the item commitment that was not found. """ itemCommitmentId: ID! } """ This type is used to shows the payment methods available to the buyer for this item commitment. """ type ItemCommitmentPaymentOption { """ This object shows the enumeration value and user-friendly description of the available payment method. """ paymentMethod: DisplayableId } """ This type is used to provide details about a closed return request associated with an item commitment. """ type ItemCommitmentReturnClosed implements Labeled { """ The human-readable label representing the state of the return request. **Maximum length**: 100 characters. """ label: String! } """ This type is used to provide details about an open return request associated with an item commitment. """ type ItemCommitmentReturnRequested implements Labeled { """ The human-readable label representing the state of the return request. **Maximum length**: 100 characters. """ label: String! } """ This union type is used to provide details about an open or closed return request associated with an item commitment. """ union ItemCommitmentReturnState = ItemCommitmentReturnClosed | ItemCommitmentReturnRequested """ This is the base input type used for **itemCommitments** queries. The **sellerItemCommitments** object is used when queries are being made on behalf of an authenticated seller, and the **buyerItemCommitments** object is used when queries are being made on behalf of an authenticated buyer. """ type ItemCommitments { """ This object is used to retrieve item commitments for an authenticated buyer. Filters are available to allow the user to include or exclude item commitments in specific states. A user can also retrieve item commitment(s) for a specific listing. Pagination parameters are also available that let a user control the number of item commitments returned per page of results and to retrieve a specific page of results based on a **pageCursor** value. """ buyerItemCommitments(input: ItemCommitmentsInput!): PaginatedItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" ]) """ This object is used to retrieve item commitments for an authenticated seller. Filters are available to allow the user to include or exclude item commitments in specific states. A user can also retrieve item commitment(s) for a specific listing. Pagination parameters are also available that let a user control the number of item commitments returned per page of results and to retrieve a specific page of results based on a **pageCursor** value. """ sellerItemCommitments(input: ItemCommitmentsInput!): PaginatedItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) } """ This output type is used when an **itemCommitmentsByIds** query fails, and none of the item commitments were successfully retrieved. The **failures** array will show the identifiers of the item commitments that failed to be retrieved, and the error fields will provide more details on the issue(s) that caused the query to fail. """ type ItemCommitmentsByIdsCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show ITEM_COMMITMENTS_BY_IDS_COMPLETE_FAILURE. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array contains the unique identifiers of all item commitments that were not successfully retrieved, and the error(s) that caused them not to be retrieved. """ failures: [ItemCommitmentsByIdsError!]! } """ This type displays the unique identifiers of all item commitments that were not successfully retrieved, and the error(s) that caused them not to be retrieved. """ type ItemCommitmentsByIdsError { """ A user-friendly, non-localized message describing the error. """ displayMessage: String! """ The unique identifier of the error. Below are the two errors that may occur: - INVALID_INPUT: This error indicates that the item commitment ID is not recognized or it doesn't belong to the authenticated eBay user. - TEMPORARILY_NOT_AVAILABLE: This error indicates that a system error occurred. This error may occur with a complete failure, and the user can try again after a short period of time. """ errorCode: String! """ The unique identifier of the item commitment that failed to be retrieved. """ inputItemCommitmentId: ID! """ This boolean indicates whether or not the user should try to retrieve the corresponding item commitment again. If this field is returned as `true`, the user can make another attempt to retrieve the item commitment. """ retryable: Boolean! } """ This input type is used to specify up to 100 item commitment identifiers to retrieve those item commitments. """ input ItemCommitmentsByIdsInput { """ This array accepts up to 100 item commitment identifiers, each delimited by a comma. """ itemCommitmentIds: [ID!]! } """ This union type is used to represent the possible outcomes of the **itemCommitmentsByIds** query. """ union ItemCommitmentsByIdsOutput = ItemCommitmentsByIdsCompleteFailure | ItemCommitmentsByIdsPartialFailure | ItemCommitmentsByIdsSuccess """ This output type is used when an **itemCommitmentsByIds** query is partially successful, where one or more item commitments were successfully retrieved, but one or more other item commitments failed to be retrieved. The **itemCommitments** array will display all item commitments that were successfully retrieved, the **failures** array will show the identifiers of the item commitments that failed to be retrieved, and the error fields will provide more details on the issue(s) that caused the query to only be partially successful. """ type ItemCommitmentsByIdsPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show ITEM_COMMITMENTS_BY_IDS_PARTIAL_FAILURE. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array contains the unique identifiers of all item commitments that were not successfully retrieved, and the error(s) that caused them not to be retrieved. **Note**: There will always be at one object in this array. """ failures: [ItemCommitmentsByIdsError!]! """ This array contains all of the successfully retrieved item commitments. """ itemCommitments: [ItemCommitment!] } """ This output type is used when an **itemCommitmentsByIds** query is successful and all specified item commitments are found, and displays detailed information on each of the retrieved item commitments. """ type ItemCommitmentsByIdsSuccess { """ This array contains all of the successfully retrieved item commitments. """ itemCommitments: [ItemCommitment!] } """ This type is used when the **dateRange** filter is used in a query. A starting and ending time sets the date range, and all item commitments either created or updated within this time range are retrieved. """ input ItemCommitmentsDateRangeInput { """ This object is used to set the time range. All item commitments either created or updated within this time range are retrieved. """ dateTimeRange: DateTimeRangeInput! """ The enumeration value here controls whether retrieved item commitments are item commitments that were created within this date range or updated within this date range. The supported values are: - `CREATED` - `UPDATED` """ dateType: ItemCommitmentsDateType! } """ This enumeration type list the values that can be used in the **dateType** field if the user uses a date range filter in a **sellerItemCommitments** or **buyerItemCommitments** query. """ enum ItemCommitmentsDateType { """ If this value is used in the **dateType** field of a query, only item commitments created within the specified date range are returned. """ CREATED """ If this value is used in the **dateType** field of a query, only item commitments updated within the specified date range are returned. """ UPDATED } """ This input type includes the filters that can be used for an **itemCommitments** query. The **listingId** field can be used to retrieve item commitment(s) for a specific listing, or one or more of the boolean fields can be used to retrieve item commitments in certain states. **Note**: The default value for the **includeActive** boolean fields is `true`, but the default value for all other boolean fields is `false`. """ input ItemCommitmentsFilterInput { """ Include this field and set to `true` to include abandoned item commitments in the output, or set to `false` (or omit field) to exclude abandoned item commitments. **Default**: false """ includeAbandoned: Boolean! = false """ Include this field and set to `true` (or omit field) to include active item commitments in the output, or set to `false` to exclude active item commitments. **Default**: true """ includeActive: Boolean! = true """ Include this field and set to `true` to include cancelled item commitments in the output, or set to `false` (or omit field) to exclude cancelled item commitments. **Default**: false """ includeCancelled: Boolean! = false """ Include this field and set to `true` to include completed item commitments in the output, or set to `false` (or omit field) to exclude completed item commitments. **Default**: false """ includeCompleted: Boolean! = false """ Include this field and set to `true` to include locked item commitments in the output, or set to `false` (or omit field) to exclude locked item commitments. **Default**: false """ includeLocked: Boolean! = false """ Use this field to restrict results to item commitments that are associated with a specific eBay listing. """ listingId: ID } """ This type is used to provide one or more filters for the query, including a **listingId** filter, a date range filter, and filters based on states. Sort parameters are also available. """ input ItemCommitmentsFirstFilterInput { """ This object is used to set a date range filter. Only item commitments created or updated within this date range are returned. """ dateRange: ItemCommitmentsDateRangeInput! """ This object includes the filters that can be used for an **itemCommitments** query. The **listingId** field can be used to retrieve item commitment(s) for a specific listing, or one or more of the boolean fields can be used to retrieve item commitments in certain states. **Note**: The default value for the **includeActive** boolean field is `true`, but the default value for all other boolean fields is `false`. """ filter: ItemCommitmentsFilterInput! = { includeAbandoned: false includeActive: true includeCancelled: false includeCompleted: false includeLocked: false } """ This object is used to control how item commitments are sorted in the query response. """ sort: ItemCommitmentsSortInput! } """ This type is used in a **sellerItemCommitments** or **buyerItemCommitments** query to provide one or more filters and to control the amount of item commitments that are returned per page of results. """ input ItemCommitmentsFirstPageInput { """ This object is used to provide one or more filters for the query, including a **listingId** filter, a date range filter, and filters based on states. Sort parameters are also available. """ filter: ItemCommitmentsFirstFilterInput! """ This field is used to control the amount of item commitments that are returned per page of results. If this field is not used, up to 200 item commitments are returned per page. **Minimum value**: 1 **Maximum value**: 200 """ maxPageSize: Int! } """ This type is used to provide details on a shipping-related logistics available to the buyer to receive the item. Information included for each shipping logistics option includes seller-specified or calculated shipping cost, both the user-friendly description and enum value associated with the shipping service, and the estimated delivery time window (in hours). """ type ItemCommitmentShippingLogisticsOption implements ItemCommitmentLogisticsOptions { """ The total shipping cost for the item if the corresponding shipping service is used. Multiple values/currencies will be shown if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ cost: AmountSet """ The user-friendly description of the shipping service option. **Maximum length**: 100 characters """ displayName: String """ This field will indicate the latest estimated delivery time that the buyer can expect to receive the item if the corresponding shipping service is used. The value returned here will be a positive integer value representing hours. This value will generally be in 24-hour increments indicating the longest amount of business days in which the buyer could receive the item. Estimated delivery times consider the seller's stated handling time plus the expected transit time range of the shipping service. **Note**: Sellers generally do not ship items until the buyer's payment has cleared, so this delivery window should really only be considered after payment has been made by the buyer. """ maxDeliveryTimeInHours: String """ This field will indicate the earliest estimated delivery time that the buyer can expect to receive the item if the corresponding shipping service is used. The value returned here will be a positive integer value representing hours. This value will generally be in 24-hour increments indicating the shortest amount of business days in which the buyer could receive the item. Estimated delivery times consider the seller's stated handling time plus the expected transit time range of the shipping service. **Note**: Sellers generally do not ship items until the buyer's payment has cleared, so this delivery window should really only be considered after payment has been made by the buyer. """ minDeliveryTimeInHours: String """ The enumeration value associated with the shipping service. In Listing and Business Policy APIs, the enumeration values of shipping services are specified to set the shipping services that are available to ship the item. """ shippingServiceCode: ID } """ This input type is used when retrieving item commitments for an authenticated seller or buyer. The **itemCommitmentsFirstPage** object is used for an initial search of item commitments, and includes parameters to retrieve item commitments in specific states and/or from a specific listing, as well as a field to control the number of item commitments retrieved per page of results. The **itemCommitmentsPage** object is used for a subsequent search of item commitments, and allows the user to retrieve the next or previous page of results if the query produced multiple pages of results. **Note**: Either the **itemCommitmentsFirstPage** object or the **itemCommitmentsPage** object may be used, but not both. """ input ItemCommitmentsInput { """ This object is used for the initial query of item commitments, and includes parameters to retrieve item commitments in specific states and/or from a specific listing, as well as a field to control the number of item commitments retrieved per page of results. """ itemCommitmentsFirstPage: ItemCommitmentsFirstPageInput """ This object is used for a subsequent search of item commitments, and allows the user to retrieve the next or previous page of results if the query produced multiple pages of results. """ itemCommitmentsPage: PageInfoInput } """ This is the base output type used for **itemCommitments** queries. The **sellerItemCommitments** object is used when queries are being made on behalf of an authenticated seller, and the **buyerItemCommitments** object is used when queries are being made on behalf of an authenticated buyer. """ type ItemCommitmentsOutput { """ This object shows all item commitments that match the search criteria for an authenticated buyer. """ buyerItemCommitments(input: ItemCommitmentsInput!): PaginatedItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" ]) """ This object shows all item commitments that match the search criteria for an authenticated seller. """ sellerItemCommitments(input: ItemCommitmentsInput!): PaginatedItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) } """ This enumeration type contains the sort values that may be used when configuring sorting for a **sellerItemCommitments** or a **buyerItemCommitments** query. """ enum ItemCommitmentsSortField { """ If this value is used, item commitments are sorted according to creation date. """ CREATED_AT """ If this value is used, item commitments are sorted according to the last time they were updated. """ UPDATED_AT } """ This type is used to control how item commitments are sorted in the query response. """ input ItemCommitmentsSortInput { """ The enumeration value here controls whether item commitments are sorted according to creation date or last update action. The supported values are: - CREATED_AT - UPDATED_AT **Default**: CREATED_AT """ sortField: ItemCommitmentsSortField! """ The enumeration value here controls whether item commitments are sorted in descending (most recent first) or ascending order. The supported values are: - DESC - ASC **Default**: DESC """ sortOrder: SortOrder! } """ This union type is used to express the different states of item commitments. """ union ItemCommitmentState = ItemCommitmentAbandoned | ItemCommitmentActive | ItemCommitmentCancelled | ItemCommitmentCompleted | ItemCommitmentLocked """ This type is used to shows total sales price of the eBay item associated with the item commitment, including any deposit for a motor vehicle. These monetary values will be shown in multiple currencies if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ type ItemCommitmentTotals { """ The total sales price for the item. Multiple values/currencies will be shown if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ committedTotal: AmountSet! """ This object will show the amount of any deposit that the buyer is required to make as part of a motor vehicle down payment. Multiple values/currencies will be shown if the buyer or seller use a different currency than the default currency of the eBay marketplace. """ deposit: AmountSet } """ This type defines a list of parts compatibility information specified as name and value pairs. Describes an assembly with which a part is compatible (i.e., compatibility by application). """ type ItemCompatibility { """ A name-value pair describing a single compatible application. The allowed names and values are specific to the primary category in which the item is listed. For example, when listing in a **Parts & Accessories** category, where the applications are vehicles, the allowed names might include **Year**, **Make**, and **Model**, and the values would correspond to specific vehicles in eBay's catalog. """ compatibilities: [NameValuesPair] """ The seller may optionally enter any notes pertaining to the parts compatibility being specified. For example, if this Compatibility information applies to a vehicle, a seller may use this field to specify the placement of the part on a vehicle or the type of vehicle a part fits. """ compatibilityNotes: String } """ This type defines the fields that describe a specific item condition within a category. """ type ItemCondition { """ This field returns information about the category associated with the item condition. """ category: Category! """ This array returns the condition descriptors applicable to the specified item condition. **Note**: This array is only returned for categories that support condition descriptors. """ descriptors: [ConditionDescriptor!]! """ The display name for the item condition. **Note**: This name is localized for the specified marketplace by default. The **Accept-Language** header can be used to provide a translation to a different language from the marketplace default language. """ displayName: String! """ The unique identifier of the item condition. """ itemConditionId: ID! """ The short display name for the item condition. This field can be returned as null if no short name is available. **Note**: This text is localized for the specified marketplace by default. The **Accept-Language** header can be used to provide a translation to a different language from the marketplace default language. """ shortDisplayName: String """ A concise version of the help text providing brief guidance about the item condition. Shorter and more digestible than the full helpText field. Returns null if no short help text is available. **Note**: This field uses the **Accept-Language** header to determine which language variant of the short help text to return. If the header is not provided, the marketplace default language is used. """ shortHelpText: String """ This field is used to provide additional details about a non-new item's physical state, including any defects, wear, or other characteristics that affect its condition. This field can be used for all categories except those that require the **conditionDescriptors** array. **Maximum length**: 1000 characters """ conditionDescription: String """ This array is used to provide more item condition information through name-value pairs about single graded and ungraded trading cards in the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as 'Near mint or better'. If there are no condition descriptors, this array will be empty. This field will be null if there is an error. You can find more details in the errors section of the response. """ conditionDescriptors: [ListingConditionDescriptor!] } """ This type indicate the geographical location of the item. """ type ItemLocation { """ The two-letter country code, as defined in the ISO-3166 standard, must be specified in this field to indicate the country where the item is located. Please keep in mind that the item is often located in the same country as the listing marketplace, but this is not a requirement. This field will be null if there was an error. You can find more details in the errors section of the response """ country: CountryAlpha2Code """ The field indicates the geographic location (city, state, or province) where the listing is physically located. This field will be empty if a postal code is provided This will be null if there was an error. You can find more details in the errors section of the response """ location: String """ The postal code (ZIP code) where the listing is physically located. This may be empty if location is provided instead. Either the postal code or location will be available. This will be null if there was an error The postal/zip code format varies by region: - **US**: 5-digit numeric codes (e.g., 12345). - **Australia**: 4-digit numeric codes (e.g., 2000). - **UK**: Variable-length alphanumeric codes with letters and numbers (e.g., SW1A 1AA). Other regions follow local postal service standards. """ postalCode: String } """ This type indicates the item is being returned to the seller after the authentication partner deemed that the item was miscategorized. Displays as **Item miscategorized**. """ type ItemMiscategorized implements ReturnReason { """ A machine-readable reason code: `ITEM_MISCATEGORIZED`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to define an item’s negotiations in the user-scoped view. - `item` is the negotiated item - `negotiations` are ordered by most-recent activity in descending order """ type ItemNegotiation { """ This object returns details about the item being negotiated. """ item: Item! """ This object specifies the list of negotiation threads for the item. Each negotiation exposes the latest offer per thread. Negotiations are ordered by most-recent activity in descending order. """ negotiations: [Negotiation!]! } """ This type defines the business rule error that occurs when offers are not enabled for this item. """ type ItemNotEligibleForOffer implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type indicates the item is returned because the buyer did not pick up the item. Displays as **Item not picked up**. """ type ItemNotPickedUp implements ReturnReason { """ A machine-readable reason code: `ITEM_NOT_PICKED_UP`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents an Item Not Received (INR) inquiry. The fields in this type capture the full inquiry lifecycle — from initiation through buyer and seller interactions, shipment tracking events, participants, refund processing, and final resolution. This type implements the OrderInquiry interface and specializes it for the INR Inquiry. """ type ItemNotReceivedInquiry implements OrderInquiry { """ This array returns a list of the post-purchase cases associated with this INR inquiry. **Note**: This array is only returned when the inquiry has been referred to eBay. """ cases: [PostPurchaseCase!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.resolution.read" "https://api.ebay.com/oauth/api_scope/sell.resolution.read" ]) """ The timestamp when the INR inquiry was closed. **Note**: This object will be returned `null` if the inquiry is still open. """ closedAt: DateTime """ The timestamp when the INR inquiry was created. """ createdAt: DateTime! """ The actor who originally initiated the INR inquiry (e.g., buyer). """ initiator: PostPurchaseActorRole! """ This array returns a list of all actors who have inquired about the same subject within this inquiry — starting with the original initiator, and including any other parties (e.g., buyer, seller, participant, or system) who later engaged. For example, the system might initiate the inquiry after handling time + 1 business day to prompt a seller response, and the buyer might inquire later on EDD + 1 day. Both actors would be listed here as having inquired about the same issue. **Note**: This field is required and will always contain at least one actor. """ inquirers: [PostPurchaseActorRole!]! """ The unique identifier of the INR inquiry. """ inquiryId: ID! """ This array returns a list of line items associated with this INR inquiry. **Note**: This list is guaranteed to be non-null but may be empty in certain valid cases. In most typical cases, it will contain at least one line item. """ lineItems: [OrderInquiryLineItem!]! """ This array returns a list of information or evidence provided by inquiry participants in response to system or CS requests. This includes user-submitted files, text notes, or structured responses. **Note**: This array may be an empty list if no additional information was provided. """ providedInformation: [OrderInquiryInformation!]! """ This array returns a list of refunds associated with the INR inquiry. **Note**: This array will only be present if there are refunds associated with the inquiry. """ refunds: [Refund!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.refund.read" "https://api.ebay.com/oauth/api_scope/sell.refund.read" ]) """ This array returns a list of information or evidence requests made during the inquiry lifecycle. These requests may be generated by the system or manually initiated by participants and are typically used to collect supporting documentation or clarifications from one or more involved parties (e.g., buyer or seller). Examples include requests for tracking details, signature confirmation, proof of delivery or other relevant evidence. **Note**: This list may be empty if no additional information was requested. """ requestedInformation: [OrderInquiryInformationRequested!] """ This field will return eBay's estimated date for resolving this inquiry. It will not be returned if it is not yet know or otherwise unavailable. """ resolutionEstimate: DateTime """ The user or party expected to respond to the INR inquiry (e.g., seller or eBay agent). """ responder: PostPurchaseActorRole! """ A list of actions currently available to the seller for this INR inquiry. This object may be returned `null` if: - The viewer is not a participant. - No actions are currently available based on the inquiry state and role. - The inquiry is in a terminal state (e.g., `CLOSED` or `RESOLVED`). """ sellerAvailableActions: OrderInquiryActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.inquiry.read" "https://api.ebay.com/oauth/api_scope/sell.inquiry" ]) """ The current overall status of the INR inquiry (e.g., `OPEN`, `CLOSED`). """ status: OrderInquiryStatus! """ The refund estimation for the inquiry entity. If **refundEstimate** is not requested on an order, this will not be calculated and provided. """ refundEstimate: RefundEstimate } """ This type defines the fields that detail and summarize offer negotiation information specific to an item. Each item may have one or more negotiation threads, and each negotiation consists of multiple offers exchanged between participants. This entity provides both a summary and detailed history of those negotiations and includes information such as the total number of offers across all negotiations and the last accepted offer amount for the item. """ type ItemOfferOverview { """ This field specifies the total number of unique negotiations for this item. **Note**: This count is computed at the item level and is not affected by the role of the querying user (buyer or seller). """ negotiationCount: Int! """ The complete history of all negotiation threads and associated offer details. For sellers, this response includes a list of negotiations for which the user has the 'SELLER' role. For buyers, this response includes a list of negotiations for which the user has the 'BUYER' role. Results are ordered in descending order from newest to oldest and support pagination. To retrieve specific subsets of negotiation history, use `NegotiationHistoryFilters`. """ negotiationHistory(filters: NegotiationHistoryFilters): NegotiationHistoryResult! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.offer" "https://api.ebay.com/oauth/api_scope/buy.offer.read" "https://api.ebay.com/oauth/api_scope/sell.offer" "https://api.ebay.com/oauth/api_scope/sell.offer.read" ]) } """ This type defines the priceline for Item Price. """ type ItemPrice implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `ITEM_PRICE`. """ name: String! } """ This type represents the constraints defined for item price refund withhold input. """ type ItemPriceRefundWithholdConstraint { """ This object provides the allowed percentage range. """ allowedPercentageRange: InputPercentageRange! } """ This type represents input violations related to item price refund withholding. This indicates that the seller attempted to withhold the item price refund exceeding the allowed percentage range. """ type ItemPriceRefundWithholdViolation implements ProcessReturnRefundInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example, `ITEM_PRICE_REFUND_WITHHOLD_VIOLATION`). """ code: String! """ The constraints defined for item price refund withhold input. """ constraint: ItemPriceRefundWithholdConstraint! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type is used to provide a Global Trade Item Number (GTIN) or an eBay product ID (ePID) for a product. It is also used to provide the unique traits of a variation within a multiple-SKU listing. """ type ItemSellerProduct { """ This object is used to display a Global Trade Item Number (GTIN) or an eBay product ID (ePID) for a product. If an eBay catalog product is found that maps to a GTIN or an ePID, product details of that eBay catalog product will be used to populate the listing. The product details in a catalog product include product title, product description, aspects, eBay leaf category, and stock photo. """ productIdentifiers: ListingProductIdentifiers """ This array of name-value pairs identify a variation's unique combination of trait values. For example, if a particular variation was the `Red, Large` version of the product, `Color` would be one of the name values with its corresponding value value being `Red`, and the other name value would be `Size` with it corresponding value value being `Large`. """ traits: [NameValuePair!] } """ This type is used to provide the seller-defined or store SKU (Stock-Keeping Unit) of a purchasable item. """ type ItemSku { """ The seller-defined SKU (Stock-Keeping Unit) of a purchasable item. """ sellerSku: String """ The store-defined SKU (Stock-Keeping Unit) of a purchasable item. """ storeSku: String } """ This type defines the priceline for Item Tax. """ type ItemTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `ITEM_TAX`. """ name: String! } """ This type is used to display quantity and pricing information for a purchasable item. All SKUs within a multiple-SKU listing must have their own quantity and price values. All SKUs may have the same price, but prices also may vary by SKU. This type is also used to provide an eco-participation fee if applicable for the item. """ type ItemTerms { """ This object displays the available quantity for a purchasable item. **Note**: This will only be null if an error has occurred. """ availability: ListingItemAvailability """ This object displays an eco-participation fee for an item. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ extendedProducerResponsibility: ExtendedProducerResponsibility """ This object displays price data for the item, including the price for a fixed price item or the *Buy it Now* price for an auction item. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. **Note**: Each item within a multiple-SKU listing can have its own price, allowing for different pricing based on traits (e.g., larger sizes might cost more than smaller ones). **Note**: This will only be null if an error has occurred. Please see the errors array for more details. """ pricingTerms: ListingItemPricingTerms } """ This type provides details of the partial refund term for negotiation. """ type KeepItemPartialRefundTerm { """ The percentage of the item's price to refund (1–99). This optional field is only present when the partial offer is specified as a percentage of the item price. """ itemPriceRefundPercentage: Int """ This indicates whether the original outbound shipping charge is waived for this item as part of the offer. This optional field is only present when the partial offer includes waiving the shipping charge. """ itemShippingPriceWaived: Boolean """ The total refund amount computed based on the proposed term. """ refundAmount: AmountSet! """ The return line item to which these terms apply. """ returnLineItem: ReturnLineItem! } """ This type defines the terms for a partial-refund on a specific return line item in a keep-item offer. """ input KeepItemPartialRefundTermInput { """ The percentage of the item's price to refund (1–99). For example, if `20`, this means refund the seller to refund 20% of the item price if the buyer accepts and keeps the item. """ itemPriceRefundPercentage: Int! """ If `true`, the original outbound shipping charge for this item as part of the offer is waived; if `false`, it is not waived. """ itemShippingPriceWaived: Boolean! = false """ The unique identifier of the return line item ID to which these terms apply. """ returnLineItemId: ID! } """ This type is used to identify KlarnaInstallment as the payment method. """ type KlarnaInstallment implements PaymentMethodType { """ The unique identifier of the KlarnaInstallment payment method. """ code: ID! """ The descriptive name of the KlarnaInstallment payment method. """ descriptiveName: String! """ The display name of the KlarnaInstallment payment method. """ displayName: String! } """ This type is used to identify KlarnaInvoice as the payment method. """ type KlarnaInvoice implements PaymentMethodType { """ The unique identifier of the KlarnaInvoice payment method. """ code: ID! """ The descriptive name of the KlarnaInvoice payment method. """ descriptiveName: String! """ The display name of the KlarnaInvoice payment method. """ displayName: String! } """ This interface is used to provide a human-readable identifier for the state of an entity. """ interface Labeled { """ The human-readable label representing the state of an entity. **Maximum length**: 100 characters. """ label: String! } """ This type represents an amount being withheld from the refund due to the cost of a shipping label. """ type LabelPurchaseWithholding implements RefundWithholding { """ The monetary amount being withheld from the refund. """ amount: AmountSet! """ The name of the withholding. **Note**: In this case, the name will always be returned as `RETURN_LABEL_PURCHASE`. """ name: String! } """ This type indicates the cancellation reason is late delivery of the item. """ type LateDeliveryCancellation implements ContractCancellationReason { """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `LATE_DELIVERY`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type provides optional add-on features or services associated with an order line item. """ type LineItemAddOnService { """ This field is returned when a third-party authenticator performs the authentication verification inspection add-on service on the order line item. The returned value indicates if the item passed or failed the inspection. """ authenticityVerification: AuthenticityVerificationAddOnService """ This field provides information about the selected eBay vault program for the order. This is returned only for those items that are eligible for the eBay Vault add-on service. """ eBayVault: EbayVaultAddOnService """ This field provides export details for orders using an international shipping add-on service. """ exports: ExportsAddOnService """ This field provides details about an order line item handled by fulfillment add-on service. """ fulfillment: FulfillmentAddOnService """ This field provides information about the Global Shipping Program. """ globalShipping: GlobalShippingAddOnService """ This field provides details for a line item that uses the motor purchase add-on service. """ motorPurchase: MotorPurchaseAddOnService } """ This union type is used by the **ItemCommitment**, **PurchaseQuoteLineItem**, and **OrderLineItem** types to provide the unique identifier of a line item within any one of those three different entities. """ union LineItemReference = ItemCommitment | OrderLineItem | PurchaseQuoteLineItem """ This error type represents details about a specific line item retrieval failure. """ type LineItemsByIdsError { """ A human-readable description of the error message. This string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The machine-readable error code for this business error. For this type, the available values are: - `INVALID_INPUT`: The input data is invalid; retry will not succeed. - `TEMPORARILY_NOT_AVAILABLE`: The service is temporarily unavailable; retry may succeed. """ errorCode: String! """ The unique identifier of the line item that could not be retrieved. """ inputLineItemId: ID! """ When `true`, the operation can be retried and may succeed. When `false`, a retry will not succeed. """ retryable: Boolean! } """ This interface type represents a set of monetary totals related to a line item, shared across different contexts like orders, purchase quotes, or item commitments. """ interface LineItemTotals { """ LineItemTotal refers to the total cost of all items. """ lineItemTotal: AmountSet! """ Subtotal refers to the total cost of all items before any additional charges or discounts are applied """ subtotal: AmountSet! } """ This type represents linked line item (a wrapper for reuse across entities). """ type LinkedLineItem { """ Linked line item detail information; may be null if data is not available. """ linkedLineItem: LineItemReference """ The unique identifier of the order that the linked line item belongs to. """ linkedOrderId: String! """ The unique identifier of the linked line item. """ linkedOrderLineItemId: String! } """ This type provides for the category information of the item listed in current listing. """ type ListingCategory { """ The unique identifier of the eBay primary category. A primary category is always required. """ primaryCategory: Category! """ The unique identifier of the eBay secondary category. This field is only returned if a secondary category is specified by the seller. """ secondaryCategory: Category """ The unique identifier of a primary custom store category in which to list the item. A custom category is a category that the seller created in their eBay store. This field is only returned if a primary store category is set. **Note**: the store category must be a leaf category with no child categories. """ storePrimaryCategory: StoreCategory """ The unique identifier of a secondary custom store category in which to list the item. A custom category is a category that the seller created in their eBay store. This field is only returned if a secondary store category is set. **Note**: the store category must be a leaf category with no child categories. """ storeSecondaryCategory: StoreCategory } """ This type defines the details of the item condition descriptors and associated values. """ type ListingConditionDescriptor { """ This field provides additional information about a condition descriptor. One example is using this field to specify the **Certification Number** for a graded card. """ additionalInformation: String """ The name of the condition descriptor. """ conditionDescriptor: ConditionDescriptor """ This array has the value(s) of the corresponding condition descriptor. """ conditionDescriptorValues: [ConditionDescriptorValue!] } """ This enumeration type contains the values that indicate the block of days when a classified ad seller can be contacted by potential buyers to answer questions about an item. """ enum ListingDaysCode { """ This enumeration value indicates that the corresponding support hours are effective each day of the week. If the **anyTime** boolean field is `true`, that would indicate that the seller may be contacted 24 x 7. """ EVERYDAY """ This enumeration value indicates that the corresponding support hours are effective each weekday (Monday through Friday). """ WEEKDAYS """ This enumeration value indicates that the corresponding support hours are effective on weekends (Saturday and Sunday). """ WEEKENDS } """ This type is used to indicate the radius for a Motors local listing, making it available to buyers within that specified area. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. """ type ListingDistance { """ The numeric value for the radius. The unit of measurement for this value is specified in the **distanceUnit** field. This value defines the radius of the area around the seller's location where the listing will be visible to local buyers. """ distance: Int """ The unit of measure for the distance. """ distanceUnit: DistanceUnit } """ This enumeration type contains the listing duration values that can be used for listings. Supported listing duration times can vary be eBay marketplace, eBay category, and listing type. """ enum ListingDurationInDays { """ This enumeration value indicates that the listing duration is one day (24 hours). This duration time is common for auction listings. """ DAYS_1 """ This enumeration value indicates that the listing duration is ten days. This duration time is common for auction listings. """ DAYS_10 """ This enumeration value indicates that the listing duration is 120 days. """ DAYS_120 """ This enumeration value indicates that the listing duration is 14 days. """ DAYS_14 """ This enumeration value indicates that the listing duration is 21 days. """ DAYS_21 """ This enumeration value indicates that the listing duration is three days. This duration time is common for auction listings. """ DAYS_3 """ This enumeration value indicates that the listing duration is 30 days. This duration time is common for classified ad listings. """ DAYS_30 """ This enumeration value indicates that the listing duration is five days. This duration time is common for auction listings. """ DAYS_5 """ This enumeration value indicates that the listing duration is 60 days. """ DAYS_60 """ This enumeration value indicates that the listing duration is seven days. This duration time is common for auction listings. """ DAYS_7 """ This enumeration value indicates that the listing duration is 90 days. """ DAYS_90 """ This enumeration value indicates that the listing will remain active until it is cancelled by the seller or the item is sold out (without the seller having Out of Stock option enabled). `GTC` stands for *Good 'Til Cancelled*. All fixed-price listings must have `GTC` set as their listing duration. As long as the listing has inventory, eBay will automatically renew the listing each month. Note that insertion fees may apply with renewal each month. """ GTC } """ This enumeration type lists the type of discounts that may be applied towards a seller's listing-related fees. """ enum ListingFeeDiscount { """ This enum value indicates that a promotional offer is being applied against the seller's listing fee. """ PROMOTION """ This enum value indicates that a special offer is being applied against the seller's listing fee. """ SPECIAL_OFFER } """ This enumeration type contains the list of fees that can be charged to a seller when creating or updating a listing. """ enum ListingFeeType { """ This enum value indicates a Bold title fee was charged for the listing. Sellers have the option of their title appearing in bold type in search results for a small fee. """ BOLD """ This enum value indicates a Buy it Now fee was charged for the auction listing. If a seller adds a Buy it Now option to an auction listing, a user will have the opportunity to buy the item at that price before competitive bidding begins. Once an auction listing gets its first qualifying bid, the Buy it Now feature will be disabled, but the seller will still be liable for this listing-related fee. """ BUYITNOW """ This enum value indicates a Listing Designer fee was charged for the listing. """ DESIGNER """ This enum value indicates an Extended Listing Duration fee was charged for the listing. """ EXTENDED_DURATION_LISTING """ This enum value indicates a Gallery fee was charged for the listing. """ GALLERY """ This enum value indicates a Gallery Plus fee was charged for the listing. With Gallery Plus, the listing's main image will show in search results with a larger picture. """ GALLERY_PLUS """ This enum value indicates an Insertion fee was charged for the listing. Sellers get a certain amount of zero insertion fee listings per month, but if and when they exceed that threshold, an insertion fee may apply. """ INSERTION """ This enum value indicates an International site visibility (also known as 'Cross Border Trade') fee was charged for the listing. With International site visibility, sellers have the option of exposing their item on other marketplaces for a small fee. Fee for international listing option """ INTERNATIONAL_LISTING """ This enum value indicates a Picture Pack fee was charged for the listing. """ PHOTO_COUNT """ This enum value indicates a Private Listing fee was charged for the listing. """ PRIVATE_LISTING """ This enum value indicates a Reserve Price fee was charged for the auction listing. A reserve price is the lowest price that a seller is willing to sell an item for through an auction listing. If this price is not matched or exceeded by the scheduled end of the listing, there will be no winning bidder. """ RESERVE """ This enum value indicates a Scheduled Listing fee was charged for the listing. With a schedule listing, a seller creates a listing but opts to publish the listing at a future date instead of publishing it immediately. """ SCHEDULED """ This enum value indicates a Subtitle fee was charged for the listing. Sellers have the option of adding a subtitle to their listing for a small fee. A subtitle may help a listing get better search results due to more keywords being used and may also help an item stand out more than other comparable listings without subtitles. """ SUBTITLE } """ This enumeration type contains the list of available listing formats used for eBay listings. """ enum ListingFormatType { """ This enumeration value indicates that the listing is an auction listing. In an auction listing, prospective buyers engage in a competitive bidding process. In addition to the competitive bidding process, a seller may also enable the 'Buy it Now' feature or they can accept Best Offers, but not both at the same time. Once an auction listing has a qualifying bid, either the 'Buy it Now' feature (if set) or the Best Offer feature (if set) is disabled for the duration of the listing. Although listing durations may vary by eBay marketplace and category, typical listing durations for auctions are 1, 3, 5, 7, and 10 days. """ AUCTION """ This enumeration value indicates that the listing is a classified ad listing. Limited eBay categories support classified ad listings, and the actual sales transaction, if one occurs, will happen off of eBay's platform. Since classified ads do not generate revenue for eBay through the Final Value Fee, eBay will charge a higher insertion fee upfront. The amount of this fee varies based on the eBay category. """ CLASSIFIED_AD """ This enumeration value indicates that the listing is a fixed price listing. In a fixed price listing, the 'Buy it Now' price is set, although it is still possible for the seller to enable the Best Offer feature and accept/decline Best Offers from prospective buyers. The different versions of fixed-price listings include a single item with a quantity of `1`, multiple quantity of an identical item, or a multiple-variation listing where slightly different variations of the same item are made available for sale. """ FIXED_PRICE } """ This type is used to display a Global Trade Item Number (GTIN) for the item. A GTIN is a globally unique product identifier and includes UPCs, EANs, and ISBNs. """ type ListingGlobalProductIdentifiers { """ The European Article Number (EAN) identifier associated with the product, if any. An EAN is a 13-digit barcode standard used internationally outside of the US and Canada for retail product identification. """ ean: ID """ The International Standard Book Number (ISBN) identifier associated with the product, if any. An ISBN is a 13-digit (modern format) or 10-digit (old format) barcode standard used internationally for book identification. """ isbn: ID """ The Universal Product Code (UPC) identifier associated with the product, if any. A UPC is a 12-digit barcode standard used primarily in North America for retail product identification. """ upc: ID } """ A type used for identifying listings using either system-generated IDs or seller-defined SKUs. One of these identifiers must be provided to identify the listing to take action on. """ input ListingIdentifierInput { """ The unique identifier of an eBay listing that is generated as soon as a listing is successfully created. This ID is permanent throughout the life of a listing and can be used for all subsequent operations on the listing. **Note**: Either a **listingId** or a **sku** value must be used. """ listingId: ID """ The seller-defined Stock Keeping Unit (SKU) for the product. SKU values are optional for single-variation listings but required for multiple-variation listings. The **sku** value can be used as an alternative to the **listingId** to identify the listing in **Listing API** mutations and queries. **Note**: Either a **listingId** or a **sku** value must be used. **Maximum length**: 50 characters """ sku: String } """ This error type is returned when the number of listing IDs provided for the **sellerListingSearch** query exceeds the maximum allowed limit. """ type ListingIdsExceedMaxError implements SellerListingSearchInputError { """ The actual number of listing IDs provided. """ actualCount: Int! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum number of listing IDs allowed. """ maxAllowed: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This error type is returned when the number of listing IDs provided for the **sellerListings** query exceeds the maximum allowed limit. """ type ListingIdsMaxLimitError implements BusinessError { """ Technical description of the error for developers and debugging purposes. """ errorCode: String! """ Technical description of the error for developers and debugging purposes. """ errorMessage: String! """ The maximum number of listing IDs allowed. """ maxAllowed: Int! } """ This type is used to show the URL of an image that is attached to an eBay listing and the display order of that image in the View Item gallery. If the seller used an externally-hosted image, the URL of that image is also shown. """ type ListingImage { """ The fully-qualified eBay Pictures Services (ePS) URL to an image that is attached to the listing. """ ebayImageUrl: HttpsUrl """ The fully-qualified URL to an image that is hosted on an external server for which an ePS image was created for and attached to the listing. This field will only be shown to the seller and only if a URL for am image on an external server was provided when the seller created or revised the listing. """ externalImageUrl: HttpsUrl """ Seller provided order of the picture in which the image should be displayed. """ order: Int } """ This type is used to define some key details of a purchasable item within a listing, including its sku value, price, quantity, and any applicable global product identifiers. Every listing contains at least one item. **Important**: This type contains only the seller's input data and is distinct from other item-related types that may include additional data not provided directly by the seller when creating, updating, or relisting the item. """ type ListingItem { """ The unique identifier of the ID of the item. This can serve as a key to reference a specific item in a listing. **Note**: This ID is not the same as **listingId**. """ itemId: ID """ This object is mandatory for a multiple-SKU listing to identify each variation's unique combination of trait values through the **traits** array. The **globalIdentifiers** object will show any Global Trade Item Numbers (GTINs)or eBay Product IDs (ePIDs) that are associated with the product. """ itemSellerProduct: ItemSellerProduct """ This object is used to display the price and quantity of a purchasable item, and is also used to provide an eco-participation fee for a product, if applicable. """ itemTerms: ItemTerms """ This field is the seller-defined Stock Keeping Unit (SKU) value for the item. An item-level **sku** value is mandatory for multiple-SKU listings, but optional for single-SKU listings. The seller has the option to identify the listing by SKU value as opposed to **listingId**. """ sku: String } """ This type is used to display auction-specific price settings for auction listings. Not applicable for multiple-SKU listings. """ type ListingItemAuctionPrice { """ This field shows the lowest price at which the seller is willing to sell an item in an auction listing. A small fee is charged to use this feature. If the **reservePrice** field value is not met or surpassed during bidding, the auction will end without a winning bidder. This price must be higher than the **startingBidPrice**. The price will be in the default currency for the marketplace for this listing. """ reservePrice: ConvertedAmount """ This field is mandatory for auction listings and sets the starting bid amount. The first bid must meet or exceed this value or it will be rejected. The price will be in the default currency for the marketplace for this listing. """ startingBidPrice: ConvertedAmount } """ This type is used to display the available quantity and quantity sold for a purchasable item. """ type ListingItemAvailability { """ The quantity available for an item. For auction listings, this value will always be 1. For a multiple-SKU listing, each item variation can have its own quantity value, allowing sellers to manage inventory for each variation independently. **Note**: For a multiple-SKU listing, the quantity for an item variation may be 0 if the SKU is temporarily out of stock, but a seller wishes to retain the variation and restock inventory at a later time. **Note**: This should not be null unless an error has occurred. """ quantityAvailable: Int """ The quantity of the item sold during the duration of the listing. **Note**: This should not be null unless an error has occurred. """ quantitySold: Int } """ This type is used by the response of a **bulkUpdateInventory** mutation to indicate which items were successfully updated and which items failed to be updated. For both the **successes** and **failures** arrays, either the **listingId** or **sku** value or both will indicate the items that were successfully updated and those that failed, respectively. **On a successful update:** The identifier will contain the `listingId` and/or `SKU` for the item. This may differ from the information that was provided in the input in certain cases. For example, if you provide only a `SKU` in the request, a successful response will include both the `SKU` and the corresponding `listingId` that the system resolved for that item. **On a failed update:** The identifier contains an exact echo of the `listingId` and/or `SKU` exactly as it was provided in the request for the specific item that failed. This helps you identify which input item caused the error. If a field was omitted in the input (e.g., `listingId` was not provided), it will also be absent (null) in this identifier. """ type ListingItemIdentifier { """ The unique identifier of the listing that was successfully updated (if returned in the **successes** array) or which failed to be updated (if returned in the **failures** array). **Note**: If an item was successfully updated, this field will be returned along with the **sku** field even if it was the **sku** that was used to identify the item in the input. If an item failed to be updated, this field will only be returned if it was used to identify the item in the input. """ listingId: ID """ The seller-defined SKU of the item that was successfully updated (if returned in the **successes** array) or which failed to be updated (if returned in the **failures** array). **Note**: This field will only be returned if it was used to identify the item in the input. """ sku: ID } """ This type is used to identify a specific item to update. An item within a single-SKU listing can be identified with a **listingId** or a **sku** value (if a sku value is defined in the listing). A **sku** value must be used for an item within a multiple-SKU listing. """ input ListingItemIdentifierInput { """ The unique identifier for the single-SKU fixed price listing to update. **Note**: This field cannot be used to identify an item within a multiple-SKU listing, and the **sku** field must be used instead. """ listingId: ID """ The seller-defined Stock Keeping Unit (SKU) for the item to update. This field is required to identify a specific item within a multiple-SKU listing. For a single-SKU listing, either this field (if a SKU is defined in the listing) or the **listingId** can be used to identify the item. **Format**: Alphanumeric string. """ sku: ID } """ This type provides pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ type ListingItemMarketingPrice { """ This object displays the **Made for Outlet** comparison price for a listing, and can only be used if the listing will be displayed on an eBay Outlet page. This is a restricted feature that sellers must qualify to use. """ madeForOutletComparisonPrice: ConvertedAmount """ This object displays the Minimum Advertised Price (MAP) for a listing. MAP is an agreement between suppliers (or manufacturers (OEM)) and the retailers (sellers) stipulating the lowest price a listing is allowed to be advertised at. Sellers can offer prices below MAP by means of other discounts. This only applies to fixed price listings and auction listings with the 'Buy It Now' option. This is a restricted feature that sellers must qualify to use. """ minimumAdvertisedPrice: ConvertedAmount """ This field is only applicable for the Minimum Advertised Price feature, and indicates whether the discounted price is shown to buyers prior to checkout by the buyer clicking on a link on the View Item page, or the discounted price is shown just prior to checkout when the buyer has clicked the Buy button. """ minimumAdvertisedPriceExposure: ListingMinimumAdvertisedPriceExposure """ This price must be provided if a qualified seller is using the Strikethrough Price feature. The **originalRetailPrice** value is the actual retail price set by the manufacturer (OEM). The price in this field should always be more than the price specified in the **fixedPrice** field. """ originalRetailPrice: ConvertedAmount """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOnEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. """ soldOffEbay: Boolean """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOffEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. """ soldOnEbay: Boolean } """ This type is used to display price data for an item in a listing, including the price for a fixed price listing or the 'Buy it Now' price for an auction listing. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. """ type ListingItemPricingTerms { """ This object provides auction-specific price settings including starting bid price and reserve price (if set). This object does not apply for multi-sku listings. """ auctionPrice: ListingItemAuctionPrice """ This field shows the price of a fixed price item or the 'Buy it Now' price for an auction listing. This field is mandatory for fixed price listings. The 'Buy it Now' option is disabled for an auction listing as soon as that listing has a qualifying bid. The price will be in the default currency for the marketplace for this listing. """ fixedPrice: ConvertedAmount """ This object provides pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ marketingPrice: ListingItemMarketingPrice } """ This type specifies the lifecycle details for the listing like the start date, end date, duration, etc. """ type ListingLifecycle { """ The time that the listing actually becomes ended on eBay. """ actualEndAt: DateTime """ The date and time the listing was created. """ createdAt: DateTime """ The reason to end the listing. It will be used to provide the reason for ending the listing. This will be null if the listing has not ended. """ endListingReason: EndListingReason """ This field indicates the time duration of the listing. All fixed price listings must be set to `GTC`(Good 'til Cancelled), but the listing duration days of auction and ad listings may vary based on marketplace and category. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see supported durations for each leaf category. """ listingDurationInDays: ListingDurationInDays """ The status of the listing. Valid values: `SCHEDULED`, `ACTIVE`, `ENDED` """ listingStatus: ListingStatusEnum """ indicates whether the item is considered On Hold.When an item is removed due to policy or legal violation, the item is placed into an “on-hold” state for the duration of the appeals window. """ onHold: Boolean """ The time that the listing is supposed to be ended on eBay. This will be null if the end date has not been scheduled. """ scheduledEndAt: DateTime """ A time in the future that the listing becomes active on eBay. To schedule the listing start time, specify a time in the future in GMT format. When you schedule a start time, the start time is randomized within 15-minute intervals. Randomized start times applies to the following sites: AT, BEFR, BENL, CH, DE, ES, FR, IE, IT, NL, PL, UK This will be null if the start date was not specified. """ startAt: DateTime } """ This enumeration type contains the list of eBay marketplaces in which listings may be created. """ enum ListingMarketplace { """ This enumeration value indicates the applicable marketplace is eBay Austria. """ EBAY_AT """ This enumeration value indicates the applicable marketplace is eBay Australia. """ EBAY_AU """ This enumeration value indicates the applicable marketplace is Dutch language version of eBay Belgium. Deprecated value. Do not use. """ EBAY_BE @deprecated(reason: "Ambiguous - may represent either Dutch or French Belgian marketplace. Do not use as input. Use EBAY_BENL (Dutch) or EBAY_BEFR (French) instead.") """ This enumeration value indicates the applicable marketplace is French language version of eBay Belgium. """ EBAY_BEFR """ This enumeration value indicates the applicable marketplace is Dutch language version of eBay Belgium. """ EBAY_BENL """ This enumeration value indicates the applicable marketplace is English language version of eBay Canada. """ EBAY_CA """ This enumeration value indicates the applicable marketplace is French language version of eBay Canada. """ EBAY_CAFR """ This enumeration value indicates the applicable marketplace is eBay Switzerland. """ EBAY_CH """ This enumeration value indicates the applicable marketplace is eBay Germany. """ EBAY_DE """ This enumeration value indicates the applicable marketplace is eBay Spain. """ EBAY_ES """ This enumeration value indicates the applicable marketplace is eBay France. """ EBAY_FR """ This enumeration value indicates the applicable marketplace is eBay UK. """ EBAY_GB """ This enumeration value indicates the applicable marketplace is eBay Hong Kong. """ EBAY_HK """ This enumeration value indicates the applicable marketplace is eBay Ireland. """ EBAY_IE """ This enumeration value indicates the applicable marketplace is eBay Italy. """ EBAY_IT """ This enumeration value indicates the applicable marketplace is eBay US Motors. """ EBAY_MOTORS_US """ This enumeration value indicates the applicable marketplace is eBay Malaysia. """ EBAY_MY """ This enumeration value indicates the applicable marketplace is eBay Netherlands. """ EBAY_NL """ This enumeration value indicates the applicable marketplace is eBay Philippines. """ EBAY_PH """ This enumeration value indicates the applicable marketplace is eBay Poland. """ EBAY_PL """ This enumeration value indicates the applicable marketplace is eBay Singapore. """ EBAY_SG """ This enumeration value indicates the applicable marketplace is eBay US. """ EBAY_US } """ This enumerated type controls how/when the Minimum Advertised Price is exposed to the buyer. """ enum ListingMinimumAdvertisedPriceExposure { """ This enumeration value indicates that the buyer must add the item to his/her cart before the discounted price can be displayed. """ DURING_CHECKOUT """ This enumeration value indicates that the discounted price will only be shown to the buyer once the buyer reaches the eBay Checkout page. """ PRE_CHECKOUT } """ This type is needed for motor vehicle listings to provide the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. If this type is provided, then either vin or vrm will be present. """ type ListingMotorVehicleIdentifier { """ The Vehicle Identifier Number (VIN) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vin: ID """ The Vehicle Registration Mark (VRM) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vrm: ID } """ This type is returned if a listing is on hold, and listing details are not returned for listings that are on hold. """ type ListingOnHoldError implements BusinessError { """ The globally unique error code for this business error type. For this error, this field returns: `LSTNG_LISTING_ON_HOLD`. """ errorCode: String! """ The developer-friendly message explaining the error. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! } """ This type is used to provide more information on why a listing is on hold. A listing may be put on hold for one or more policy violations. """ type ListingOnHoldPolicies { """ The unique identifier of the listing that is on hold. """ listingId: ID! """ A list of one or more policy violations for the listing. **Note**: May be empty when no violations exist or the information is not available. """ onHoldPolicies: [ListingOnHoldPolicy!]! } """ This type is used to provide more information on a listing that is on hold. It provides the unique identifier, name, and description of the eBay policy violation. """ type ListingOnHoldPolicy { """ The unique identifier of the policy violation. """ policyId: ID! """ The name of the policy violation. **Maximum length**: 50 characters """ policyName: String! """ The description of the policy violation. **Maximum length**: 1000 characters """ policyViolationMessage: String! } """ This type allows a user to run a mutation in validation mode, which means that the listing object will be validated, but a successful mutation will not create/update/relist a listing. """ input ListingOptionsInput { """ This field controls whether a successful mutation will actually create/update a live listing or validation mode can be used where all data is checked and validated, but no new listing is created nor an existing listing updated. If this field is omitted, the mutation will be processed in `EXECUTE` mode. To validate only, this field must be included and set to `VALIDATE`. **Default**: EXECUTE """ operationMode: OperationMode = EXECUTE } """ This type is used to specify the dimensions of the shipping package and the unit of measurement used. """ type ListingPackageDimensions { """ The height (or depth) of the shipping package in the unit of measurement specified in the corresponding **unit** field. """ height: Float """ The length of the shipping package in the unit of measurement specified in the corresponding **unit** field. """ length: Float """ The unit of measurement used for the dimensions of the shipping package. """ unit: DimensionUnitType """ The width of the shipping package in the unit of measurement specified in the corresponding **unit** field. """ width: Float } """ This enumerated type contains the shipping package type values that can be used in the **packageType** field. Note that supported package types will depend on the shipping service used. """ enum ListingPackageType { """ This enumeration value is used as the package type for large, heavy items that might not fit standard shipping packages and require special handling. """ BULKY_GOODS """ This enumeration value is used as the package type for shipping mobile homes or trailers. """ CARAVAN """ This enumeration value is used as the package type for shipping motor vehicles through an auto transport service. """ CARS """ This enumeration value is used as the package type for freight shipping in Europe using a standardized pallet. """ EURO_PALLET """ This enumeration value is used as the package type when shipping items in flexible bags that can expand to fit bulkier/unusually shaped items. """ EXPANDABLE_TOUGH_BAGS """ This enumeration value is used as the package type when shipping items in a very large package. """ EXTRA_LARGE_PACK """ This enumeration value is used as the package type when shipping furniture. """ FURNITURE """ This enumeration value is used as the package type for shipping industrial vehicles and equipment, farm machinery, etc. """ INDUSTRY_VEHICLES """ This enumeration value is used as the package type for shipping a large shipping box offered by Canada Post. """ LARGE_CANADA_POST_BOX """ This enumeration value is used as the package type for shipping a large padded envelope offered by Canada Post. This packaging is appropriate for shipping fragile items through Canada Post. """ LARGE_CANADA_POST_BUBBLE_MAILER """ This enumeration value is used as the package type for shipping a large envelope or flat mailer. This packaging is appropriate for shipping documents or flat items. Shipping carriers often use flat rates for this package type. """ LARGE_ENVELOPE """ This enumeration value is used as the package type for shipping a standard letter envelope. This packaging is appropriate for shipping documents or flat items. Shipping carriers often use flat rates for this package type. """ LETTER """ This enumeration value is used as the package type for shipping a standard corrugated cardboard box of various sizes. """ MAILING_BOXES """ This enumeration value is used as the package type for shipping a medium-sized shipping box offered by Canada Post. """ MEDIUM_CANADA_POST_BOX """ This enumeration value is used as the package type for shipping a medium-sized padded envelope offered by Canada Post. This packaging is appropriate for shipping fragile items through Canada Post. """ MEDIUM_CANADA_POST_BUBBLE_MAILER """ This enumeration value is used as the package type for shipping motorcycles. """ MOTORBIKES """ This enumeration value can be used as the package type value when the packaging type is not relevant or when the seller will determine appropriate packaging based on the item. """ NONE """ This enumeration value is used as the package type value when a heavy/bulky item is being shipped on a pallet. """ ONE_WAY_PALLET """ This enumeration value is used as the package type for shipping an item in a thick protective envelope. This package type is generally used for items that need more protection than a standard envelope but don't require a box. """ PACKAGE_THICK_ENVELOPE """ This enumeration value is used as the package type for shipping an item in a padded shipping bag. This package type is generally used for items that need some protection but don't require a rigid box. """ PADDED_BAGS """ This enumeration value is used as the package type for shipping a standard parcel or padded envelope. """ PARCEL_OR_PADDED_ENVELOPE """ This enumeration value is used as the package type for shipping a cylindrical shipping container. This package might be one that you use to ship a poster or blueprints, """ ROLL """ This enumeration value is used as the package type for shipping a small shipping box offered by Canada Post. """ SMALL_CANADA_POST_BOX """ This enumeration value is used as the package type for shipping a small padded envelope offered by Canada Post. This packaging is appropriate for shipping fragile items through Canada Post. """ SMALL_CANADA_POST_BUBBLE_MAILER """ This enumeration value is used as the package type for shipping an item in a heavy-duty shipping bag. This packaging is appropriate for items that need protection but don't require the structure of a box. """ TOUGH_BAGS """ This enumeration value is used as the package type for shipping an item through a UPS letter envelope. """ UPS_LETTER """ This enumeration value is used as the package type for shipping an item through a USPS flat-rate envelope. """ USPS_FLAT_RATE_ENVELOPE """ This enumeration value is used as the package type for shipping an item through a USPS large package. """ USPS_LARGE_PACK """ This enumeration value is used as the package type for shipping an item in a very large package, which may require special handling. """ VERY_LARGE_PACK """ This enumeration value is used as the package type for shipping wine or other glass bottles safely. """ WINE_PAK } """ This type is used to specify the weight of the shipping package according to the unit of measurement applicable to the marketplace. The weight of the shipping package is required when the listing is using the calculated shipping cost type. For English measurement system, the supported unit of measurement is pounds for **majorUnit** and ounces for **minorUnit**. For Metric measurement system, the supported unit of measurement is kilograms for **majorUnit** and grams for **minorUnit**. """ type ListingPackageWeight { """ The major weight value of the shipping package according to the unit of measurement applicable to the marketplace. The major weight value is the whole number part of the weight. For English measurement system, the supported unit of measurement for **majorUnit** is pounds. For Metric measurement system, the supported unit of measurement for **majorUnit** is kilograms. **Note**: If the package weighs less than one pound or one kilogram, 0 may be returned as the value for this field. """ majorUnit: Int """ The minor weight value of the shipping package according to the unit of measurement applicable to the marketplace. The minor weight value is the decimal part of the weight. For English measurement system, the supported unit of measurement for **minorUnit** is ounces. For Metric measurement system, the supported unit of measurement for **minorUnit** is grams. """ minorUnit: Int """ The unit of measurement used for the weight of the shipping package. """ unit: WeightUnitType } """ This type is used to display details for an active MSKU listing under SKU filters, where some SKUs are available and others are unavailable. """ type ListingPartialSuccess { """ An array of one or more triggered errors, such as **ReferenceArgumentsNotFound** or other type-related errors. When part of a request fails, this array would contain an error even if the overall response is otherwise successful. """ errors: [BusinessError!]! """ This field provides listing details. This will be returned as null when: - the **listingId** is invalid - the listing is not available in the system for the given **listingId** """ listing: ListingV2 """ This field contains the `listingId` provided in the input and is used for correlation. """ listingId: ID! } """ This enumerated type consists of the offline payment methods that sellers can specify as available payment methods if the sales transaction happens off an eBay. Note that availability of specific offline payment methods may vary by eBay marketplace and category. The [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see which payment methods are supported by a leaf category. """ enum ListingPaymentMethod { """ This enumeration value specifies/indicates that 'Cash on Delivery' is a payment method accepted by the seller for a sales transaction that happens off of eBay's platform. With this option, the shipping carrier collects payment from the buyer at the time of delivery and forwards it to the seller. """ CASH_ON_DELIVERY """ This enumeration value specifies/indicates that cash is a payment method accepted by the seller for a sales transaction that happens off of eBay's platform between the buyer and seller (e.g. Local Pickup). """ CASH_ON_PICKUP """ This enumeration value specifies/indicates that a money order or a cashier's/bank check is a payment method accepted by the seller for a sales transaction that happens off of eBay's platform between the buyer and seller (e.g. Motor Vehicle sale). """ MONEY_ORDER_CASHIERS_CHECK """ This enumeration value specifies/indicates that for motor vehicle listings, the seller will provide custom payment instructions to buyers. The seller's payment instructions will appear on the eBay listing page and during checkout, allowing the seller to specify alternative payment arrangements for motor vehicle purchases. """ PAYMENT_SEE_DESCRIPTION """ This enumeration value specifies/indicates that a personal check is a payment method accepted by the seller for a sales transaction that happens off of eBay's platform between the buyer and seller (e.g. motor vehicle sale). """ PERSONAL_CHECK } """ This type shows the listing previews, and the external product details used to generate each of the listing previews. A listing preview provides recommended details for key fields to be used in an eBay listing, such as eBay product ID (if found), the title, the product description, the eBay category ID, one or more eBay Picture Service (ePS) image URLs, product aspect name-value pairs, and SKU (if provided). A listing preview is neither a draft nor a live listing, but rather information generated from external product details that sellers can leverage when creating a listing in a subsequent step using eBay listing APIs. """ type ListingPreview { """ eBay's recommended product aspect name-value pairs for the product, or if an eBay catalog product was found, the product aspect name-value pairs associated with the catalog product. """ aspects: [ListingPreviewProductAspect!] """ eBay's recommended eBay leaf category in which to list the product, or if an eBay catalog product was found, the eBay leaf category associated with the catalog product. A null value signifies that the data is unavailable or undefined under certain exceptional conditions. """ category: Category """ This object shows the provided details of the external product that was mapped to an eBay listing preview. """ clientProvidedProductDetails: ExternalProductDetails! """ eBay's recommendation for the description of the product, or if an eBay catalog product was found, the description used for the catalog product. A null value signifies that the data is unavailable or undefined under certain exceptional conditions. """ description: String """ An array of one or more EPS image URLs that can be used with the listing. If images were provided through the **images** array in the mutation request, eBay returns the corresponding EPS image URLs. Additionally, if an eBay catalog product was matched for the external product, the field may also include the catalog product's stock photo URL(s). If no images are available, the array will be null. """ images: [HttpOrHttpsUrl!] """ The unique identifier of this listing preview. Use this 25-character ID when creating or revising a listing based on the listing preview via related APIs. **Maximum length**: 25 characters """ mappingReferenceId: String! """ The eBay product ID (ePID) field under this object shows the eBay catalog product that the external product was matched to. An ePID value can be used in eBay listing APIs to prefill a listing with product title, product description, product aspects, stock photo(s), and eBay category. If the external product could not be mapped to an ePID, this field will be null. """ product: Product """ The seller-defined SKU of the external product. If the SKU was not provided for an external product, this field returns null. """ sku: String """ eBay's recommendation for the title of the product, or if an eBay catalog product was found, the title used for the catalog product. eBay listings only allow 80 characters for a listing title, so this recommended title may be shorter than the title provided for the external product. A null value signifies that the data is unavailable or undefined under certain exceptional conditions. """ title: String } """ This type shows eBay's recommended product aspect name-value pairs for the product. Each aspect is defined by a name and a list of one or more values. The value in the **values.confidence** field will indicate how confident eBay is about that value being the right value for that corresponding aspect. While most aspects are expected to have a single value associated with it, some aspects may accept multiple values. Please cross-reference aspect properties for any given category through the **getItemAspectsForCategory** or **fetchItemAspects** methods of the **Taxonomy API**. For such aspects, multiple `PREFILL` values may be returned when available. For example, an aspect could be `Color` with values like `Red`, `Blue`, and `Green` and confidence levels `PREFILL` or `HINT`. """ type ListingPreviewProductAspect { """ An array of one or more values for the aspect. Deprecated field. Do not use. """ aspectValues: [String!]! @deprecated(reason: "This field is deprecated and has been superseded by the **values** array.") """ The name of the aspect. """ name: String! """ An array that has one or more values for the corresponding aspect, and a **confidence** field that indicate how confident eBay is about indicate how confident eBay is about that value being the right value for that corresponding aspect """ values: [ListingPreviewProductAspectValue!]! } """ This type shows the corresponding value(s) for an aspect and the confidence level that eBay has that a value is the right value for that aspect. """ type ListingPreviewProductAspectValue { """ The confidence level of the aspect value. See the **ListingPreviewProductAspectValueConfidenceEnum** type for descriptions of each supported value. This field will only be null under exceptional circumstances. """ confidence: ListingPreviewProductAspectValueConfidenceEnum """ The value of the aspect. This field will only be null under exceptional circumstances. """ value: String } """ An enumerated type that represents the confidence level that eBay has that a recommended product aspect value is the correct one. """ enum ListingPreviewProductAspectValueConfidenceEnum { """ This value indicates a medium to high confidence threshold for the suggested aspect value, making sellers more likely to select one of the recommended or hinted values from a set. """ HINT """ This value indicates a high confidence threshold for the suggested aspect value, meaning sellers are more likely to select this prefilled value over other options, when this aspect value is prefilled. """ PREFILL } """ This type shows the ID and the results of a listing previews task that was generated with the mutation request. This asynchronous task can take some time to complete. The listing preview results cannot be returned until the task is complete. """ type ListingPreviewsCreationTask { """ The unique identifier of the task. It is returned after a successful **StartListingPreviewsCreation** mutation. **Maximum length**: 25 """ id: ID! """ This object provides the status and results of the listing previews creation Task. It remains null until the task has completed execution. """ result: ListingPreviewsCreationTaskResult } """ The base type of the **listingPreviewsCreationTaskById** query request, where the **id** value for a listing preview task is passed in. """ input ListingPreviewsCreationTaskByIdInput { """ The unique identifier of the listing preview task to retrieve. This **id** value is returned in the **StartListingPreviewsCreation** mutation response. **Maximum length**: 25 characters """ id: ID! } """ The base type of the **listingPreviewsCreationTaskById** query response. A successful query will return the **id** value for the task, and the listing preview results cannot be returned until the task is complete. """ type ListingPreviewsCreationTaskByIdOutput { """ If a **ListingPreviewsCreationTask** corresponding to the **requestId** value exists, it will be returned here. If no task with the **requestId** exists, this field will be null. """ listingPreviewsCreationTask: ListingPreviewsCreationTask """ The unique identifier of the listing preview task that was passed into the query request. **Maximum length** 25 characters """ requestedId: ID! } """ This type is used to describe the outcome of a listing preview creation task. """ enum ListingPreviewsCreationTaskCompletionStatus { """ This enumeration value indicates that the task has completed successfully with no errors. """ COMPLETED """ This enumeration value indicates that the task has completed successfully, but with one or more errors. Issues that would lead to this status include one or more products being invalid and/or unmapped. The task may have still completed successfully for other products. """ COMPLETED_WITH_ERROR """ This enumeration value indicates that the task was not completed successfully, and no listing previews were generated for any of the external products. """ FAILED } """ This type is used to show the final outcome of a listing previews creation task, and includes the completion status and the actual eBay listing previews. If applicable, unprocessed external products, unmapped external products, and invalid external products are displayed in separate arrays. """ type ListingPreviewsCreationTaskResult { """ This enumeration value indicates the success or failure of the **StartListingPreviewsCreation** mutation. Applicable values are `COMPLETED`, `COMPLETED_WITH_ERROR`, or `FAILED` """ completionStatus: ListingPreviewsCreationTaskCompletionStatus! """ An array of invalid external products that could not be processed. Each invalid product will include a **description** field that indicates why the external product details could not be used to create a listing preview. This field is intended to be a debugging aid for humans. The description is not localized and is subject to change. Do not use this description field for client-side handling logic. This array will be empty if there are no invalid products. """ invalidProducts: [InvalidExternalProductDetails!]! """ This array will show the eBay listing previews that were successfully created based on the seller's provided external products. Each listing preview will contain the eBay product ID (if found), the title, the product description, the eBay category ID, one or more eBay Picture Service (ePS) image URLs, product aspect name-value pairs, and SKU (if provided). Additionally, this object will also have the **clientProvidedProductDetails** object that shows the client-provided details for the external products. """ listingPreviews: [ListingPreview!]! """ An array of valid external products that were not successfully mapped by eBay into listing previews. These products should not be retried by the client. This array will be empty if there are no unmapped products. """ unmappedProducts: [ExternalProductDetails!]! """ An array of external products that were not processed due to unforeseen circumstances. All of the details provided for each external product in the mutation request are returned under this array. Unprocessed external products can be included in a subsequent mutation request. This array will not be returned or will be null if there are no unprocessed products. """ unprocessedProducts: [ExternalProductDetails!]! } """ This type shows any Global Trade Item Number (GTIN) values and/or an eBay Product ID (ePID) that is associated with an item. When creating or revising a listing, a GTIN or an ePID value can be provided for a product, and if the identifier is matched to an eBay catalog product, the product title, product description, item specifics, and stock photo defined for that product will be used in the resultant listing. A seller leveraging an eBay catalog product can lead to improved listing quality, discoverability, and streamlined listing creation. """ type ListingProductIdentifiers { """ The unique identifier of an eBay catalog product. If this field is provided, the title, description, item specifics, and stock photo defined for that eBay product will be used in the resultant listing, overriding the seller provided information. The [search](https://developer.ebay.com/api-docs/commerce/catalog/resources/product_summary/methods/search) method of the **Catalog API** can be used to search for eBay catalog products and get their IDs. """ ebayProduct: Product """ This object will show any UPC, EAN, or ISBN value for a product. One or more of these values may be explicitly specified by the seller, or they may be picked up from the eBay catalog product if one is used for the item. """ globalIdentifiers: ListingGlobalProductIdentifiers """ This boolean indicates whether or not an eBay catalog product is leveraged to prefill a listing with that catalog product's details, including product title, product description, item specifics, and stock photo. """ includeEbayProductDetails: Boolean } """ This type is a reference to a listing, and is used to extend ListingV2 or resolve ListingV2 type based on the **listingID**. """ type ListingReference { """ This object provides details on the listing corresponding to the **listingId**. """ listing: ListingV2 """ The unique identifier of the listing. """ listingId: ID! } """ This enumerated type consists of the refund methods that can be used in case of a returned item. """ enum ListingRefundMethod { """ This value indicates that the buyer will receive their money back when an item is returned. """ MONEY_BACK """ This value indicates that the buyer can either receive their money back when an item is returned, or the seller can send them a replacement item if there was something wrong with the original item. A seller can offer this if they have a replacement item available, but it is the buyer's choice what they prefer. """ MONEY_BACK_OR_REPLACEMENT } """ This type is used for classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ type ListingSellerContact { """ The first line of the street address of the seller. """ addressLine1: String """ The second line of the seller's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. """ addressLine2: String """ This field shows the company name (if any) associated with the seller. """ companyName: String @deprecated(reason: "Company name is no longer supported") """ This boolean field indicates whether or not potential buyers can contact the seller of the listing by email. """ contactByEmailEnabled: Boolean """ This field shows the two-letter code representing the country where the seller is located. """ country: CountryAlpha2Code """ This field shows the county where the seller is located. This field is only returned if available/applicable. """ county: String """ This field shows the seller's primary phone number. This field is only returned if provided by the seller. """ phone: String """ This object is used to provide the seller's primary support days and hours. This will generally show support hours on weekdays. """ primarySellerContactHours: ListingSellerContactHours """ This object is used to provide the seller's secondary support days and hours. This will generally show support hours on weekends if the support hours vary on weekends. """ secondarySellerContactHours: ListingSellerContactHours } """ This type is used to specify the days and times when a seller may be contacted regarding a classified ad listing. This type is used by the **primarySellerContactHours** and **secondarySellerContactHours** objects and the days specified here should not overlap between the two. This type also has an **anyTime** boolean and if the value of that field is `true`, it means that the seller can be contacted at any time during the specified day(s). """ type ListingSellerContactHours { """ This boolean field indicates whether or not the seller is available to be contacted 24 hours a day during the range of days specified. """ anyTime: Boolean """ This field is used to indicate the end time of support hours for the days specified through the **supportOnDays** field. Military time is used here and times will be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStart** and **supportHoursEnd** fields are always used together and the **supportHoursStart** value should always be earlier than the **supportHoursEnd** value. """ supportHoursEndAt: Time """ This field is used to indicate the start time of support hours for the days specified through the **supportOnDays** field. Military time is used here and times will be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStart** and **supportHoursEnd** fields are always used together and the **supportHoursStart** value should always be earlier than the **supportHoursEnd** value. """ supportHoursStartAt: Time """ This field indicates the block of days that the support hours will apply to. """ supportOnDays: SellerSupportListingDaysCode } """ This enumerated type contains the list of shipping cost models that can be used to ship eBay items. """ enum ListingShippingCostType { """ This enumeration value indicates that the seller is using the calculated shipping model. With calculated shipping, the cost of shipping will depend on the weight of the shipping package and the distance between the item location and the buyer's shipping address. """ CALCULATED """ This enumeration value indicates that a flat-rate shipping cost will be used for each domestic or international shipping service option. By using a domestic or international shipping rate table for a listing, the seller can charge different flat rates based on the buyer's location and shipping speed/class. For example, a seller with a warehouse in California could charge a flat rate of $10 to ship an item to Arizona, but a flat rate of $15 to ship an item to Texas. """ FLAT """ This enumeration value indicates that freight shipping will be used to ship the item. US sellers can use eBay freight shipping partner, **FreightQuote.com**, or another freight shipping provider. **FreightQuote.com** can only be used for domestic shipping within the US. """ FREIGHT """ This enumeration value indicates that a shipping cost model was not specified for the listing or is unknown. """ NOT_SPECIFIED } """ This type is used to identify continents, large geographical regions, countries, and special domestic locations where an item can and cannot be shipped to. """ input ListingShippingLocationInput { """ This field is used to identify a continent using a predefined set of continent codes. See the [`ContinentCode`] enum type for the full list of supported continent codes. """ continent: ContinentCode """ This field is used to identify a country using the **ISO 3166-1 alpha-2** country code standard. See the [`CountryAlpha2Code`] enum type for the full list of supported country codes. """ country: CountryAlpha2Code """ This field is used to identify a large geographical region that is not country or continent, or to identify a special domestic location within a country (e.g. PO_BOX). See the [`SellerShippingRegionCode`] enum for the full list of supported region codes. """ sellerShippingRegion: SellerShippingRegionCode } """ This type represents the shipping service available for a listing and includes key details such as the service code, display name, estimated delivery time range, and whether the service offers expedited delivery. **Note**: Delivery estimates are approximate and may vary based on item weight, origin, and destination. """ type ListingShippingService { """ The shipping service code available for the listing. **Example**: 'USPS_PRIORITY123'. """ shippingServiceCode: String! """ The human-readable display name of this shipping service (e.g. 'USPS Priority Mail'). **Format**: Alphanumeric string with spaces allowed **Maximum length**: 50 characters """ displayName: String """ This boolean indicates if the shipping service is considered an expedited service. An expedited service can deliver the item to a buyer's location within 1-2 business days. If 'true', this shipping service is considered an expedited service. If 'false', the shipping service is not considered an expedited service. **Note**: If null, the expedited status is unknown. """ expeditedService: Boolean """ The maximum estimated time in hours for the delivery to be completed for this service. **Note**: If null, maximum estimated delivery time is not provided by the carrier for this service. """ maxEstimatedDeliveryTimeHours: Int """ The minimum estimated time in hours for the delivery to be completed for this service. **Note**: If null, minimum estimated delivery time is not provided by the carrier for this service. """ minEstimatedDeliveryTimeHours: Int } """ This enumerated type consists of the shipping cost models that can be used to ship items domestically and internationally. """ enum ListingShippingType { """ This enumeration value specifies/indicates that total shipping cost for each domestic or international shipping service will be calculated based on the distance between the item location and the buyer's location plus the weight of the shipping package. """ CALCULATED """ This enumeration value specifies/indicates that a flat-rate shipping cost will be used for each domestic or international shipment. However, with the use of a domestic or international shipping rate table that can applied to a listing, the seller can charged different flat rates based on the buyer's location. For example, a seller with a warehouse in California could charge a flat rate of $10 to ship an item to Arizona, but a flat rate of $15 to ship an item to Texas. """ FLAT """ This enumeration value indicates that freight shipping will be used for the item. """ FREIGHT """ This enumeration value specifies/indicates that a shipping cost model was not specified for the listing. """ NOT_SPECIFIED } """ This type is used to show the current state of active eBay listings in the **sellerListings** query response. If a listing is found, but is on hold, only the **listingId** and **onHoldReason** fields are returned. """ type ListingsSuccess { """ This array will show the list of eBay listings retrieved with the **sellerListings** query. **Note**: With the initial release, only one eBay listing may be retrieved with this query. """ listings: [SellerListingOutput!]! } """ This enumerated type contains the values that indicate the current status of a listing. """ enum ListingStatusEnum { """ This enumeration value indicates that the listing is currently active. """ ACTIVE """ This enumeration value indicates that the listing has ended. """ ENDED """ This enumeration value indicates that the listing is scheduled to become active at a future date. """ SCHEDULED } """ This type defines the priceline roll up for listing sub total. """ type ListingSubtotal implements PriceLineRollup { """ The monetary amount of the priceline rollup. This is the monetary value associated with the priceline item group. """ amount: AmountSet! """ The human-readable name of the priceline roll up. **Note**: In this context, the name will always be returned as `LISTING_SUBTOTAL`. """ name: String! """ This array returns the pricelines that are part of the rollup. """ priceLines: [PriceLine!]! } """ This type is used to show the details of an active listing that is retrieved with the **sellerListings** query. """ type ListingSuccess { """ Provides listing details. `listing` will be null when the **listingId** is invalid or the listing is not available in the system for a given **listingId**. """ listing: ListingV2 """ Returns the **listingId** provided in the input, which is used for the correlation. """ listingId: ID! } """ This type is used to provide listing terms details for the listing, including listing format, listing duration, item location, return policy, fulfillment terms, and more. """ type ListingTerms { """ This object is applicable to classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ adsSellerContact: ListingSellerContact """ This object will indicate if the listing accepts Best Offers from buyers, and will also show the 'auto accept' and/or 'auto decline' price thresholds if the seller has set these thresholds. """ bestOfferTerms: BestOfferTerms """ This object indicates whether or not a seller is blocking/disabling account-level buyer restrictions and/or has set a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ buyerRestrictions: BuyerRestrictions """ This object is returned if the seller is donating a set percentage of each sale on the listing to a non-profit organization that is registered to receive donations on eBay's platform. The unique identifier of the charitable organization and the donation percentage is shown in this object. Note that eBay for Charity is only supported on the US, UK, DE, and CA marketplaces. """ charity: Charity """ This object shows any global and/or marketplace-specific product compliance and/or takeback policies applicable for the listing. """ customPolicies: CustomPolicies """ This object provides details on how the item will be delivered to the buyer. The data in this object includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. """ fulfillmentTerms: FulfillmentTermsPolicy @deprecated(reason: "use listingFulfillmentTerms") """ This boolean field indicates whether or not the listing is private. With private listings, the eBay user and feedback scores for bidders and buyers are obfuscated to everyone except for the seller. """ hideParticipation: Boolean """ This array indicates if the seller is actively listing the item on another eBay marketplace for an additional fee. Currently, this feature can only be used on the US, Canada, UK, and Ireland marketplaces. Sellers listing on the US and Canada marketplaces can choose to also expose a listing on the UK and IE marketplaces and sellers listing on the UK and IE marketplaces can choose to also expose a listing on the US and CA marketplaces. This list will be empty if the seller has not chosen to actively display their listings on other eBay marketplaces. """ internationalSiteVisibility: [CrossBorderTradingRegion!] """ This object indicates where the item is physically located. Item location is mandatory as it allows eBay to calculated estimated shipping costs and also to provide an estimated delivery time window to buyers. """ itemLocation: ItemLocation """ This object shows the duration of the listing, and will also show a timestamp indicating when in the future a scheduled listing will become active. """ lifecycleTerms: ListingLifecycle """ The enumeration value in this mandatory field indicates the format of the listing such as auction or fixed price listing. required field sets the listing format. See **ListingFormatTypeMock** for supported enumeration values. """ listingFormat: ListingFormatType """ This object provides fulfillment terms for a listing, including shipping cost model, available shipping services, shipping costs, handling time, combined shipping rules, and excluded shipping locations. """ listingFulfillmentTerms: FulfillmentTerms """ This object provides payment terms for a listing, including immediate payment requirement, accepted offline payment methods, and motor vehicle deposit details. """ listingPaymentTerms: PaymentTerms """ This object provides return terms for a listing, including return period, refund method, and return shipping cost payer etc. """ listingReturnTerms: ReturnTerms """ This object is applicable if the seller is selling a motor vehicle through a Motors Local Listing. The integer value in this object is the radius of the area in which the vehicle will be available and exposed to interested local buyers. The specified item location will be used as the center point for this radius. """ localListingDistance: ListingDistance """ The integer value in this field indicates how many distinct items are in a lot-based listing. A lot-based listing is a listing with a set of two or more similar/related items that will be sold together as one line item. An example of a lot listing might be a collection of children's clothes. """ lotSize: Int """ This object provides various payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. """ paymentTerms: PaymentTermsPolicy @deprecated(reason: "use listingPaymentTerms") """ This array is return to indicate any special programs associated with the listing. Currently, the only supported value is `EBAY_PLUS`. eBay Plus is a premium account option for buyers, which provides benefits such as fast and free domestic shipping, and free returns on selected items. eBay will evaluate/determine whether a listing is eligible for eBay Plus. """ programsSupported: [String!] """ This object shows the various types of regulatory information that is applicable to the listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ regulatory: RegulatoryInfo """ This object provides a domestic return policy and an international return policy (if the seller ships internationally) that is used for the listing. """ returnTerms: ReturnTermsPolicy @deprecated(reason: "use listingReturnTerms") """ This field is used by the seller to provide custom, application-specific data associated with the listing. The string specified here is stored by eBay with the listing but it is not used by eBay in any way other than that. """ sellerCustomData: String """ This object provides various tax information, including VAT rates, sales tax rates to US territories and Canadian provinces, and special tax category codes. """ taxTerms: TaxInfo """ This integer value shows the total quantity of the item available through the listing. """ totalQuantityAvailable: Int """ This object shows listing upgrades that have been enabled for the listing such as bold titles in search results, Gallery Plus, or an added subtitle. """ visualEnhancements: ListingVisualEnhancements } """ This enumeration type contains the supported handling times for shipping items. The specified handling time in a listing indicates how quickly the seller will physically ship out the item. """ enum ListingTimeDuration { """ This enumeration value is used to indicate that the handling time is zero days, which means the seller supports same-day shipping for the item. With same-day shipping, the seller commits to shipping out the item on the same business day that the order is placed, as long as the payment clears before the seller's cutoff time for the day. """ DAYS_0 """ This enumeration value indicates that the time duration is one day. This value is commonly used for a 1-day handling time. """ DAYS_1 """ This enumeration value indicates that the time duration is 10 days. This value can be used for the payment deadline for a motor vehicle balance. """ DAYS_10 """ This enumeration value indicates that the time duration is 10 days. This value can be used for the payment deadline for a motor vehicle balance. """ DAYS_14 """ This enumeration value indicates that the time duration is 15 days. """ DAYS_15 """ This enumeration value indicates that the time duration is two days. This value is commonly used for a 2-day handling time. """ DAYS_2 """ This enumeration value indicates that the time duration is 20 days. """ DAYS_20 """ This enumeration value indicates that the time duration is 25 days. """ DAYS_25 """ This enumeration value indicates that the time duration is three days. This value can be used for a 3-day handling time or for the payment deadline for a motor vehicle balance. """ DAYS_3 """ This enumeration value indicates that the time duration is 30 days. This value can be used as a return period. """ DAYS_30 """ This enumeration value indicates that the time duration is four days. """ DAYS_4 """ This enumeration value indicates that the time duration is 40 days. """ DAYS_40 """ This enumeration value indicates that the time duration is five days. """ DAYS_5 """ This enumeration value indicates that the time duration is six days. """ DAYS_6 """ This enumeration value indicates that the time duration is 60 days. This value can be used as a return period. """ DAYS_60 """ This enumeration value indicates that the time duration is seven days. This value can be used for the payment deadline for a motor vehicle balance. """ DAYS_7 """ This enumeration value indicates that the time duration is 1 month. """ MONTHS_1 """ This value should not be used as input, but it is possible that it can be returned if the time duration value could not be determined. """ NOT_SPECIFIED } """ This interface is used to provide details about a listing. """ interface ListingV2 { """ An array of one or more purchasable items within the listing. A single-variation listing will only have one item object, while a multiple-variation listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-variation listings will show unique traits that differentiate them from the rest of the variations within the listing. """ items: [Item!]! """ The unique identifier of the listing. """ listingId: ID! """ This object is returned if there are unanswered questions for a listing. """ unansweredQuestions: UnansweredQuestions """ This object is returned if the listing is on hold, and provides the details on one or more policy violations for which the listing is on hold for. """ listingOnHoldPolicies: ListingOnHoldPolicies """ This object provides key listing term details for the listing, including listing format, listing duration, payment terms, return policy, fulfillment terms, and more. """ listingTerms: ListingTerms """ The unique identifier of the eBay marketplace. """ marketplace: ListingMarketplace """ The unique identifier of the original listing that contained the item before the item was relisted. This field is only returned for an item that was relisted. """ relistParentListingId: ID """ This object provides key information about the listing and product, and includes listing title, listing description, listing category, images, aspects, and other information. """ sellerProduct: SellerProduct } """ This interface is used to display information about operation validation errors when these errors are triggered. """ interface ListingValidationRuleViolation { """ This array will show a list of one or more key-value pairs providing additional, structured context for the violation. For example, for a maximum length exceeded violation, this might contain {name: "maxLength", value: "80"}. Null values in a name-value pair indicates that no additional information is available on the violation. """ additionalInformation: [NameValuePair!] """ This array will show one or more string values that show the full path(s) to the input field(s) that caused the violation. """ inputPath: [String!]! """ A unique identifier of the violation. Clients can use this code to implement custom logic. """ violationCode: String! """ A human-readable description of the violation, intended to be displayed to an end user. """ violationDescription: String! } """ This type is used to display information about operation warnings when these warnings are triggered. With warnings, the operation will be successful or partially successfully, but there are issues that the user should be aware of and may need to address these issues at a later time. """ type ListingValidationWarning implements ListingWarning { """ This array will show a list of one or more key-value pairs providing additional, structured context for the warning. Null values in a name-value pair indicates that no additional information is available on the warning. """ additionalInformation: [NameValuePair!] """ This array will show one or more string values that show the full path(s) to the input field(s) that caused the warning. """ inputPath: [String!]! """ A unique identifier of the warning. Clients can use this code to implement custom logic. """ warningCode: String! """ A human-readable description of the warning, intended to be displayed to an end user. """ warningMessage: String! } """ This type is used to identify the main trait by which SKUs within a multiple-variation listing differ, and to provide image URLs demonstrating the variations of this trait for each item variation. """ type ListingVariationImagesVaryByTrait { """ The trait name by which pictures of the item variations vary. The specified trait will be used to determine which images to display when a buyer selects a variation in the View Item page. For example, if the trait is 'Color', then a corresponding product image in the **traitValueImages** array will be displayed when that color is selected in the View Item page. The trait name specified here must be one of the variation traits specified in the **variationTraits** array. """ traitName: String """ This array contains a list of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImages** array. """ traitValueImages: [ListingVariationTraitImage!] } """ This type is used to express the traits where each SKU within a multiple-variation listing differs, such as `Color` and `Size`. Each available color and each available size will be listed through the **variationTraits** array. If the listing featured t-shirts, each variation within that listing would have a unique color and size combination such as `Blue, Large`. """ type ListingVariations { """ This object identifies the main trait by which variations differ, and provides image URLs demonstrating the variations of this trait for each variation. For example, the varying trait may be `Color`, and image URLs would be provided showcasing the different color of each variation. """ imagesVaryByTrait: ListingVariationImagesVaryByTrait """ This array shows the names of the varying traits and the available values for each of these traits. For example, one trait might be `Color`, and all of the available colors would be specified in the corresponding **values** array. Another trait might be `Size`, and all of the available sizes would be specified in the corresponding **values** array. If the multiple-variation listing has two varying traits such as `Color` and `Size`, each variation would have a different combination of each of these traits, such as a `Large, Red` shirt. """ variationTraits: [NameValuesPair!] } """ This type is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImages** array. """ type ListingVariationTraitImage { """ An array of one or more images that demonstrate the corresponding **traitValue**. For example, if the **traitName** is `Color` and the **traitValue** is `Red`, the image(s) would show a red variation of the product. Depending on the product, one image per variation may be enough, but multiple images may be specified for each **traitValue**. For example, it is possible that a seller would want to show the front and back of each shirt in each color. """ traitImages: [ListingImage!] """ The trait value of the corresponding image(s) in the **traitImages** array. If the **traitName** is `Color`, values in this field may include Red, Blue, Green, etc. At least one of the variations within the multiple-variation listing must have this value. """ traitValue: String } """ This type is used to indicate listing upgrades enabled by the seller such as bold titles in search results, **Gallery Plus**, or an added subtitle. """ type ListingVisualEnhancements { """ This boolean field indicates whether or not the seller is using boldface type for the listing title. If returned as `true`, the listing title will appear in boldtype in search results for greater visibility. This feature cannot be enabled for a motor vehicle listing. **Default**: false """ boldTitle: Boolean """ This boolean field indicates whether or not the seller using the **Gallery Plus** feature for the listing. With **Gallery Plus**, a larger gallery image of the item is displayed in search results. This feature cannot be enabled for a motor vehicle listing. **Default**: false """ galleryPlus: Boolean """ This field will be returned if the seller has included a customized subtitle for the listing. The text of that subtitle will appear in this field if set. """ subtitle: String } """ This interface is used to display information about operation warnings when these warnings are triggered. With warnings, the operation will be successful or partially successfully, but there are issues that the user should be aware of and may need to address these issues at a later time. """ interface ListingWarning { """ This array will show a list of one or more key-value pairs providing additional, structured context for the warning. Null values in a name-value pair indicates that no additional information is available on the warning. """ additionalInformation: [NameValuePair!] """ A unique identifier of the warning. Clients can use this code to implement custom logic. """ warningCode: String! """ A human-readable description of the warning, intended to be displayed to an end user. """ warningMessage: String! } """ This type is used to show the estimated fulfillment windows. Estimated delivery times consider the seller's stated handling time plus the expected transit time range of the shipping service. **Note**: Sellers generally do not ship items until the buyer's payment has cleared, so the estimated fulfillment windows should really only be considered after payment has been made by the buyer. """ type LogisticsFulfillmentEstimate { """ This timestamp shows the earliest estimated date and time by which fulfillment is expected to be completed. """ earliestFulfillmentAt: DateTime """ This timestamp shows the latest estimated date and time by which fulfillment is expected to be completed. """ latestFulfillmentAt: DateTime """ The integer value in this field indicates the maximum amount of business days after the buyer's payment clears that the buyer can expect to receive the item. """ maxFulfillmentDays: Int """ The integer value in this field indicates the minimum amount of business days after the buyer's payment clears that the buyer can expect to receive the item. """ minFulfillmentDays: Int } """ This type provides details on the selected fulfillment plan that is either in progress or completed. It includes the fulfillment type, current state, and the steps involved in fulfilling the delivery of the item. """ type LogisticsFulfillmentExecution { """ This object conveys the current state of the fulfillment plan. The details shown here will vary based on the current state. """ fulfillmentState: LogisticsFulfillmentState! """ This array shows the sequence of logistics steps required to complete fulfillment. Some fulfillment plans involve multiple steps, but others involve only one step. """ logisticsExecutionSteps: [LogisticsStep!] """ The identifier displayed here will indicate the type of fulfillment plan being used. Below are some possible values that can be returned here: - `SHIPPING`: standard domestic or international shipping. - `INTERMEDIATED_SHIPPING`: shipping that involves multiple shipping legs, with eBay or an eBay partner taking care of at least one of those shipping legs. Examples of this include Global Shipping Program, eBay International Shipping, eBay Vault, and Authenticity Guarantee. - `STORE_PICKUP`: buyer picks up item at local store for a 'Buy online, pick up in store' (BOPIS) or 'Click and Collect' order. - `PICKUP`: local pickup. - `DIGITAL_DELIVERY`: digital delivery of an item, such as a gift card. """ planType: ID! } """ This type provides details on an available fulfillment plan or selected fulfillment plan that has yet to be started. It includes the fulfillment type and the steps involved in fulfilling the delivery of the item. """ type LogisticsFulfillmentPlan { """ This array shows the sequence of logistics steps required to complete fulfillment. Some fulfillment plans involve multiple steps, but others involve only one step. """ logisticsPlanSteps: [LogisticsStep!] """ The identifier displayed here will indicate the type of fulfillment plan available to be used or selected to be used. Below are some possible values that can be returned here: - `SHIPPING`: standard domestic or international shipping. - `INTERMEDIATED_SHIPPING`: shipping that involves multiple shipping legs, with eBay or an eBay partner taking care of at least one of those shipping legs. Examples of this include Global Shipping Program, eBay International Shipping, eBay Vault, and Authenticity Guarantee. - `STORE_PICKUP`: buyer picks up item at local store for a 'Buy online, pick up in store' (BOPIS) or 'Click and Collect' order. - `PICKUP`: local pickup. - `DIGITAL_DELIVERY`: digital delivery of an item, such as a gift card. """ planType: ID! } """ This union type represents the current fulfillment status of a logistics operation. """ union LogisticsFulfillmentState = FulfillmentCompleted | FulfillmentInProgress | FulfillmentNotStarted | FulfillmentPartiallyStarted """ This enumerated type provides different cost or fulfillment calculation methods for a shipping option. """ enum LogisticsOptionType { """ Shipping cost is calculated based on item weight, dimensions, and destination. """ CALCULATED """ Shipping cost is a fixed amount set by the seller and does note vary by weight, dimensions, or destination (within the defined coverage for the option). """ FLAT """ Shipping requires freight services due to item size, weight, or special handling. This typically applies to large or heavy items and may involve carrier scheduling. """ FREIGHT """ Shipping type represents local pickup or an unspecified shipping calculation method, and is retained for backward compatibility with legacy systems that use `NOT_SPECIFIED` to indicate local pickup. """ NOT_SPECIFIED } """ This interface is used by types that convey a logistics point involved in a fulfillment plan. Fulfillment plan types include shipping, local and store pickup, and digital delivery. """ interface LogisticsPoint { """ The physical address associated with this logistics point. **Note**: This object may not be returned for some logistics points. """ address: PurchaseAddress """ The display name of the point (for example, `San Jose Warehouse`, `Customer Home`) """ name: String! """ The functional role of the point in the logistics flow (for example, `WAREHOUSE`, `CUSTOMS`, `DESTINATION`) """ type: DisplayableId! } """ This interface is used by types that convey logistics steps involved in a fulfillment plan. Fulfillment plan types include shipping, local and store pickup, and digital delivery. """ interface LogisticsStep { """ This object shows the user-friendly description and unique identifier of the party responsible for handling this logistics step. """ handler: DisplayableId """ This object shows the user-friendly description and unique identifier of the logistics step, for example, `Standard Shipping`. """ methodName: DisplayableId! } """ This scalar type is used to represent 64-bit signed integer values. """ scalar Long """ The base request type for the **makeOffer** mutation. This type is used to define the input information needed to create a buyer-initiated offer for an item. This includes the item ID of the item the buyer wishes to make an offer for, as well as the price and quantity of the item. An optional message can also be attached to the offer to help explain or justify it. """ input MakeOfferInput { """ The unique identifier of the purchasable item in a single-SKU or multiple-SKU listing for which the offer is being made. This item must support offer negotiations and be available for purchase. """ itemId: ID! """ An optional message that can be used to explain or justify the offer. This message will be visible to the seller and can help provide context for the proposed price or terms. **Maximum length**: 250 characters """ message: String """ The price being offered for the item. This value must be greater than zero and in the item's listing currency. **Note**: If the **quantity** of the item is greater than '1', this value represents the price of one unit, not the entire order. """ proposedPrice: AmountInput! """ The number of items being requested in this offer. This value can not exceed the available quantity of the listing. **Default**: 1 """ quantity: Int = 1 } """ The union type for the **makeOffer** mutation. This type covers two possible scenarios: success or failure. If the **makeOffer** mutation succeeds, the offer will be created and information about the newly-created offer will be returned. If the **makeOffer** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the offer will not be created. If a mutation fails, there will always be at least one blocking error. """ union MakeOfferOutput = MakeOfferSent | OfferBusinessRulesViolated | ReferenceArgumentsNotFound """ This type is used for a successful **makeOffer** mutation. On success, details about the newly created offer are returned, such as the offer ID, status, and expiration date. """ type MakeOfferSent { """ This object returns details about the offer created using the **makeOffer** mutation. This information includes the offer ID, status, and expiration date of the newly created offer. """ offer: NegotiationOfferDetails! } """ This type provides the name and contact information for the manufacturer of the item. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ type Manufacturer { """ The street address for the product manufacturer is provided in this object. """ address: BusinessEntityAddress """ The name of the company that manufactured the product. """ companyName: String """ This object is used to provide the phone number, email address, and/or the Contact/Support page URL for the product manufacturer. At least one of the three is required if manufacturer information is supplied. """ contact: BusinessEntityContact } """ This enumerated type indicates the listing marketplace associated with the order. """ enum Marketplace { """ This value indicates that the listing marketplace is eBay Austria. """ EBAY_AT """ This value indicates that the listing marketplace is eBay Australia. """ EBAY_AU """ This value indicates that the listing marketplace is the French language version of eBay Belgium marketplace. """ EBAY_BEFR """ This value indicates that the listing marketplace is the Dutch language version of eBay Belgium marketplace. """ EBAY_BENL """ This value indicates that the listing marketplace is the English language version of eBay Canada marketplace. """ EBAY_CA """ This value indicates that the listing marketplace is the French language version of eBay Canada marketplace. """ EBAY_CAFR """ This value indicates that the listing marketplace is eBay Switzerland. """ EBAY_CH """ This value indicates that the listing marketplace is eBay Germany. """ EBAY_DE """ This value indicates that the listing marketplace is eBay Spain. """ EBAY_ES """ This value indicates that the listing marketplace is eBay France. """ EBAY_FR """ This value indicates that the listing marketplace is eBay UK. """ EBAY_GB """ This value indicates that the listing marketplace is eBay Hong Kong. """ EBAY_HK """ This value indicates that the listing marketplace is eBay Ireland. """ EBAY_IE """ This value indicates that the listing marketplace is eBay Italy. """ EBAY_IT """ This value indicates that the listing marketplace is eBay Malaysia. """ EBAY_MY """ This value indicates that the listing marketplace is eBay Netherlands. """ EBAY_NL """ This value indicates that the listing marketplace is eBay Philippines. """ EBAY_PH """ This value indicates that the listing marketplace is eBay Poland. """ EBAY_PL """ This value indicates that the listing marketplace is eBay Singapore. """ EBAY_SG """ This value indicates that the listing marketplace is eBay US. """ EBAY_US """ This value indicates that the listing marketplace is eBay US Motors. """ EBAY_US_MOTORS } """ This output type is used when a **markItemCommitmentsPaid** mutation fails completely, and none of the specified item commitments are marked as paid. The **failures** array will show the identifiers of the item commitments that failed to be marked as paid, and the error fields will provide more details on the issue(s) that caused the mutation to fail. """ type MarkItemCommitmentsPaidCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `MARK_ITEM_COMMITMENTS_PAID_COMPLETE_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of item commitments that failed to be marked as paid. """ failures: [UpdateItemCommitmentError!]! } """ This is the base input type for the **markItemCommitmentsPaid** mutation. This mutation allows a seller to mark up to 100 item commitments as paid. """ input MarkItemCommitmentsPaidInput { """ This array is used to specify up to 100 item commitment IDs to be marked as paid. Each item commitment ID is delimited with a comma. **Maximum items**: 100 """ itemCommitmentIds: [ID!]! } """ This union type is used to represent the possible outcomes of the **markItemCommitmentsPaid** mutation. """ union MarkItemCommitmentsPaidOutput = MarkItemCommitmentsPaidCompleteFailure | MarkItemCommitmentsPaidPartialFailure | MarkItemCommitmentsPaidSuccess """ This output type is used when a **markItemCommitmentsPaid** mutation is partially successful, where one or more specified item commitments were successfully marked as paid, but one or more other item commitments failed to be marked as paid. The **markPaidItemCommitments** array will display all item commitments that were successfully marked as paid, the **failures** array will show the identifiers of the item commitments that failed to be marked as paid, and the error fields will provide more details on the issue(s) that caused the mutation to only be partially successful. """ type MarkItemCommitmentsPaidPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `MARK_ITEM_COMMITMENTS_PAID_PARTIAL_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of item commitments that failed to be marked as paid. """ failures: [UpdateItemCommitmentError!]! """ This array shows the full list of item commitments that were successfully marked as paid. """ markPaidItemCommitments: [ItemCommitment!]! } """ This output type is used when a **markItemCommitmentsPaid** mutation when all specified item commitments were successfully marked as paid, and displays detailed information on each of the paid item commitments. """ type MarkItemCommitmentsPaidSuccess { """ This array shows the full list of item commitments that were successfully marked as paid. """ markPaidItemCommitments: [ItemCommitment!]! } """ This type represents a complete failure for a **markOrdersPaid** mutation. The response includes the orders that could not be marked as paid as specified in the request. **Note**: No orders were successfully marked as paid. """ type MarkOrdersPaidCompleteFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `MARK_ORDERS_PAID_COMPLETE_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ This array lists one or more orders that could not be updated. **Note**: This list is never empty. """ failures: [UpdateOrderError!]! } """ This base request type for the **markOrdersPaid** mutation that manually marks that payment has been received for an order by an authorized user. """ input MarkOrdersPaidInput { """ Unique ID of the orders which need to be marked as paid. Caution: the operation cannot be undone. """ orderIds: [ID!]! } """ This base response union type for the **markOrdersPaid** mutation indicates whether all, some, or none of the submitted orders were marked as paid, and returns order outcome specific order data. """ union MarkOrdersPaidOutput = MarkOrdersPaidCompleteFailure | MarkOrdersPaidPartialFailure | MarkOrdersPaidSuccess """ This type represents a partial success for a **markOrdersPaid** mutation. The response includes both the orders that were successfully marked as paid and those that failed to update. """ type MarkOrdersPaidPartialFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `MARK_ORDERS_PAID_PARTIAL_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more orders that could not be updated. """ failures: [UpdateOrderError!]! """ A list of one or more orders successfully marked as paid. """ markPaidOrders: [Order!]! } """ This type indicates a successful **markOrdersPaid** mutation where all submitted orders were marked as paid and included in the return. """ type MarkOrdersPaidSuccess { """ A list of one or more orders marked as paid. The list contains all submitted orders and is never empty. """ markPaidOrders: [Order!]! } """ This type indicates that the maximum number of video IDs allowed in the **videosByIds** query input has been exceeded. """ type MaxVideoIdsAllowedExceeded { """ The maximum number of video IDs allowed for a **videosByIds** query. The maximum number of video IDs currently allowed is 100. """ maxAllowed: Int! } """ This enumeration type lists the measurement system that can be used to measure weight and dimensions. The measurement system selected by the seller should be the measurement system that is used in the country of the marketplace. """ enum MeasurementSystem { """ This enumeration value indicates that the English, or Imperial system will be used to measure weight and dimensions. This is typically used in the US, with pounds and ounces used for weight and feet and inches used for dimensions. """ ENGLISH """ This enumeration value indicates that the Metric system will be used to measure weight and dimensions. This is typically everywhere else in the world besides the US, with kilograms and grams used for weight and meters and centimeters used for dimensions. """ METRIC } """ This error is returned when the minimum price provided for the **sellerListingSearch** query is greater than the maximum price in a price range filter. """ type MinPriceExceedsMaxPriceError implements SellerListingSearchInputError { """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The provided maximum price. """ maxPrice: Decimal! """ The provided minimum price. """ minPrice: Decimal! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type indicates the item is returned because one or more parts of the item were missing. Displays as **Missing parts**. """ type MissingParts implements ReturnReason { """ A machine-readable reason code: `MISSING_PARTS`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to show detailed information for planned and executed monetary transactions that occur between payer and payee. """ type MonetaryDetails { """ This array shows the list of executed payment actions from the payee. """ payeeExecution: PayeeMonetaryExecutionUnion! """ This array shows the list of planned payment actions from the payee. These describe how the payee expectss to receive funds. """ payeePlans: [MonetaryPlan!]! """ This array shows the list of executed payment actions from the payer. """ payerExecution: PayerMonetaryExecutionUnion! """ This array shows the list of planned payment actions from the payer. These describe how the payer intends to send funds (for example, via card, wallet, or account). """ payerPlans: [MonetaryPlan!]! } """ This type is used to provide details on executed payment plan(s) and the payment(s) involved in those payment plan(s). """ type MonetaryExecution { """ This array shows the original monetary plan(s) associated with this payment execution. **Note**: Can be null if the payment execution was not derived from a predefined plan. """ executionOfPlans: [MonetaryPlan!] """ This array lists one or more individual payments involved in this payment execution. """ payments: [PaymentExecution!]! """ The current state of the monetary execution, indicating progress or completion state of payments. """ state: PaymentsState! } """ This type is used to indicate the paid state of a monetary execution. """ type MonetaryExecutionPaymentState implements Labeled { """ The unique identifier of the payment state. """ id: ID! """ A human-readable label for the payment state. """ label: String! } """ This type provides details on a monetary payment plan, including scheduled payments and the overall plan state. """ type MonetaryPlan { """ This array shows the list of individual payment entries that make up the plan. """ payments: [PaymentPlan!]! """ This object shows the current state of the monetary plan (for example, `ACTIVE` or `CANCELLED`). """ state: MonetaryPlanState! } """ This type is used to show that the monetary plan is active and can be executed or has already been executed. """ type MonetaryPlanActive implements Labeled { """ This human-readable label representing this state. """ label: String! } """ This type is used to show that the monetary plan has been cancelled and will not be executed. """ type MonetaryPlanCancelled implements Labeled { """ The human-readable label representing this state. """ label: String! } """ This union type is used to show the current state of a monetary plan. """ union MonetaryPlanState = MonetaryPlanActive | MonetaryPlanCancelled """ This type provides details when a buyer adds additional services to their motor vehicle purchase, such as financing or insurance. """ type MotorPurchaseAddOnService { """ The identifier returned in this field indicates the latest step completed by the buyer in relationship to the service being provided. In no particular order, possible values include: - finance_completed - finance_done - finance_failed - finance_submitted - identity_done - identity_failed - identity_started - identity_success - identity_updated_address_completed - insurance_completed - insurance_done - payment_done - payment_start - protection_done - signature_done - signature_gov_id_failed - signature_gov_id_started - signature_gov_id_success - signature_start - signature_started - transport_done - verification_completed - verification_done """ buyerStep: ID """ The unique identifier of the facilitator managing the service, such as `EBAY`. """ facilitator: ID! """ The unique identifier of the service, used for cross-system tracking. """ facilitatorReferenceID: ID! """ The identifier returned in this field indicates the latest step completed by the seller in relationship to the service being provided. In no particular order, possible values include: - identity_address_submitted - identity_done - identity_failed - identity_started - identity_success - payment_done - payment_start - signature_done - signature_start - signature_started - title_docs_submitted - title_done - title_lender_lessor_submitted """ sellerStep: ID """ The cost of the additional service. This object is returned if there is a cost associated with service. """ serviceCost: AmountSet """ The current overall state of the motor purchase additional service. """ state: MotorPurchaseState! } """ This type provides details on the state of a motor purchase additional service. """ type MotorPurchaseState { """ A human-readable string representing the current state of the motor purchase additional service. Examples include `In Progress`, `Purchase Completed`, `Cancelled`. """ displayString: String! """ The unique identifier of the motor purchase additional service. Possible values include `ACTIVE`, `COMPLETED`, `CANCELLED`. """ id: ID! } """ This type is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. """ type MotorVehicleDeposit { """ This field is used to set the due date (in days) for the buyer to pay off the full balance of the motor vehicle. The clock starts on the full payment due date as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The three supported values here are `DAYS_3` `DAYS_7`, `DAYS_10`, `DAYS_14`. **Default**: DAYS_7 """ daysToMakeFullPayment: ListingTimeDuration """ The required deposit amount to secure the purchase of a motor vehicle. This field is required if the seller is requiring a deposit. This deposit must be made immediately by the buyer if **immediatePay** is set to 'true', or within 24, 48, or 72 hours (set with **hoursToDeposit** field) if **immediatePay** is set to 'false'. **Maximum value**: 2000 USD (non-immediate pay), 500 USD (immediate pay) """ depositAmount: ConvertedAmount """ This boolean field is included and set to `true` if the seller requires a deposit to secure the purchase of a motor vehicle. **Default**: false """ depositRequired: Boolean """ This field is used to set the deadline (in hours) for the motor vehicle deposit. The deposit amount is specified in the **depositAmount** field. The clock starts on the deposit deadline as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The three supported integer values here are 24, 48, and 72 (hours). If **immediatePay** is 'true', and the listing qualifies for immediate payment (e.g. the 'Buy It Now' button is used), this field will not be applicable, since the buyer will be required to pay any deposit amount immediately (and not within 1, 2 or 3 days). **Default**: 48 """ hoursToDeposit: Int } """ This error type indicates that the request contains multiple line items that exceed the maximum allowed limit. """ type MultipleLineItemReturnNotSupportedError implements BusinessError { """ A machine-readable error code: `RTRN_MULTIPLE_LINE_ITEM_NOT_SUPPORTED.` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum number of line items allowed in a single request. **Note**: Currently, only one line item is allowed per request. """ maxAllowed: Int! """ The number of line items provided in the request. """ providedCount: Int! } """ This error type indicates that only one refund term is allowed in the request. """ type MultipleRefundTermsNotAllowedError implements BusinessError { """ A machine-readable error code: `RTRN_MULTIPLE_REFUND_TERMS_NOT_ALLOWED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The value in this field indicates the maximum number of refund terms allowed for the request. """ maxAllowed: Int! """ The value in this field indicates the number of partial refund terms provided in the request. """ providedCount: Int! } """ This error type indicates that only one line-item refund withholding is allowed per request. A single request cannot include multiple withholdings for the same return line item. """ type MultipleRefundWithholdingsNotAllowedError implements BusinessError { """ A machine-readable error code: `RTRN_MULTIPLE_REFUND_WITHHOLD_NOT_ALLOWED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum number of refund withholdings permitted in a single request. """ maxAllowed: Int! """ The number of refund withholdings included in the current request. """ providedCount: Int! } """ This error type indicates that only one shipping label is supported. """ type MultipleReturnLabelsNotSupportedError implements BusinessError { """ A machine-readable error code: `RTRN_MULTIPLE_SHIP_LABEL_NOT_SUPPORTED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ The root mutation type for eBay's GraphQL API. """ type Mutation { """ This mutation is used to create an item commitment on a listing, where a buyer commits to purchase an item and pay for it at a later date. Commitments can only be made for supported items; items that require immediate payment cannot be purchased through this mutation. The item ID value must be specified to identify the listing for which an item commitment is being created. The mutation also requires the price and quantity of the item the buyer wishes to commit to purchase. This mutation is only supported for fixed-priced listings and auction listings with Buy it Now enabled. If the mutation succeeds, a new item commitment with a unique **itemCommitmentId** is created. If the mutation fails, an array of errors indicating why the item commitment could not be created is returned. ### HTTP Headers - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the purchase. Defaults to EBAY-US. """ commitToPurchase(input: CommitToPurchaseInput!): CommitToPurchaseOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.commitment"]) """ The **approveContractCancellation** mutation approves a contract cancellation using an existing cancellation entity. **Note**: A contract entity captures the contract's terms and obligations. Approving a cancellation confirms termination as defined by that entity. """ approveContractCancellation(input: ApproveContractCancellationInput!): ApproveContractCancellationOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.cancellation"]) """ The **createItemCommitmentCancellation** mutation creates a cancellation on an item commitment. **Note**: An item commitment is the agreement to reserve a specific item for a buyer, ensuring its availability for purchase. Cancelling an item commitment releases that reservation. If the seller opts to relist the item by setting **relistItem** to `true`, and the **PostPurchaseListingRelistTask** completes successfully, the item becomes available to other buyers. """ createItemCommitmentCancellation(input: CreateItemCommitmentCancellationInput!): CreateItemCommitmentCancellationOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.cancellation"]) """ The **createOrderCancellation** mutation creates a cancellation on an order. **Note**: An order is a contract between a buyer and a seller, where the buyer agrees to purchase goods or services, and the seller agrees to provide them. The cancellation of an order involves terminating this contract, which may involve reversing any transactions or agreements made during the order process. """ createOrderCancellation(input: CreateOrderCancellationInput!): CreateOrderCancellationOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.cancellation"]) """ The **createPurchaseQuoteCancellation** mutation creates a cancellation on a purchase quote for item commitments which are part of a **PurchaseQuote**. Cancelling a **PurchaseQuote** cancels all associated item commitments. **Note**: A purchase quote is an estimate provided by a seller to a buyer for goods or services, often used to negotiate terms before finalizing a purchase. Cancelling a **PurchaseQuote** withdraws the estimate and ends any negotiations based on its terms. """ createPurchaseQuoteCancellation(input: CreatePurchaseQuoteCancellationInput!): CreatePurchaseQuoteCancellationOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.cancellation"]) """ The **declineContractCancellation** mutation declines a contract cancellation using an existing cancellation entity. **Note**: A contract entity captures the contract's terms and obligations. Declining a cancellation rejects termination as defined by that entity. """ declineContractCancellation(input: DeclineContractCancellationInput!): DeclineContractCancellationOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.cancellation"]) """ This mutation allows a seller to update the acknowledgment status of up to 100 item commitments per operation. Supported values in the tags array are **acknowledged** and **unacknowledged**, and only one of these values can be used per item commitment. **Note**: Custom item commitment tag updates are not supported by this mutation. """ bulkUpdateItemCommitmentTags(input: BulkUpdateItemCommitmentTagsInput!): BulkUpdateItemCommitmentTagsOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.commitment"]) """ This mutation allows a seller to mark up to 100 item commitments as paid. **Note**: This action is irreversible. **Note**: This operation is not applicable to buyers. """ markItemCommitmentsPaid(input: MarkItemCommitmentsPaidInput!): MarkItemCommitmentsPaidOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.commitment"]) """ The **startListingPreviewsCreation** mutation initiates a process that leverages a seller’s provided external product data (maximum 10 products) and uses this data to create an eBay listing preview for each provided product. This asynchronous process can take some time to complete, which is partially dependent on the number of external products being processed. The **startListingPreviewsCreation** mutation includes details of the external products. The output of the mutation will include the status and ID of the task, and may include errors if there are any issues. Once the listing previews task is complete, the mutation response will also include the results of the listing preview. """ startListingPreviewsCreation(input: StartListingPreviewsCreationInput!): StartListingPreviewsCreationOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inventory.mapping"]) """ This mutation can be used to issue a full refund for an inquiry. This mutation is used by the responder (typically the seller or system) to issue a full refund in response to an open inquiry. **Note**: This mutation is applicable to inquiries eligible for refund.
Important! Due to EU & UK Payments regulatory requirements, an additional security verification via Digital Signatures is required for certain API calls that are made on behalf of EU/UK sellers, including calls with the processOrderInquiryRefund mutation . Please refer to Digital Signatures for APIs to learn more and the process to create signatures to be included in the HTTP payload.
""" processOrderInquiryRefund(input: ProcessOrderInquiryRefundInput!): ProcessOrderInquiryRefundOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inquiry"]) """ This mutation can be used to provide shipment-related information in response to an Item Not Received inquiry. The information is submitted by the responder (typically the seller) to fulfill an existing information request initiated earlier in the inquiry flow, and will be shared with the initiator (typically the buyer or system) and other inquirers involved in the inquiry. """ provideShipmentInfoForItemNotReceivedInquiry(input: ProvideShipmentInfoForItemNotReceivedInquiryInput!): ProvideShipmentInfoForItemNotReceivedInquiryOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inquiry"]) """ This mutation can be used to send a message within the context of a specific order inquiry. This method enables communication between participants (e.g., buyer sending an message to seller) within the structured context of an existing inquiry. """ sendOrderInquiryMessage(input: SendOrderInquiryMessageInput!): SendOrderInquiryMessageOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inquiry"]) """ This mutation can be used to submit an order inquiry to eBay as a referral request. Eligibility is determined by server-side validation of the inquiry’s state, policies, and caller permissions. """ submitOrderInquiryReferral(input: SubmitOrderInquiryReferralInput!): SubmitOrderInquiryReferralOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inquiry"]) """ This mutation is used to perform a bulk update of price and quantity for multiple fixed price items for a single-SKU or multi-SKU listing. In the output, the operation returns the corresponding item in the successes list for items that were updated and the failure list for items where issues occurred during the update. The operation returns either the updated listing details or error information if the update fails. This field only returns null under exceptional circumstances, such as when an execution error is raised. """ bulkUpdateInventory(input: BulkUpdateInventoryInput!): BulkUpdateInventoryOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation creates a new eBay listing with the specified product and terms details. The listing becomes visible to buyers once created, unless a future start time is specified. This field only returns null under exceptional circumstances, such as when an execution error is raised. """ createListing(input: CreateListingInput!): CreateListingOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation is used to create a Second Chance Offer listing based off of a recently ended auction listing. Second Chance Offers can only be made to a competitive bidder who participated in that auction listing. Either the listing ID or the SKU value must be specified to identify the listing for which a Second Chance Offer will be created against. The mutation also requires the user ID of the recipient that will receive the offer, the price of the offer, and the duration of the offer. Note that the offer price must match the user's original high bid and the supported offer duration times are 1, 3, 5, and 7 days. The recipient will receive an email notification with the offer details and will have the specified duration period to accept the offer before it expires. Sellers might want to use Second Chance Offers if the winning bidder never paid for the item, or if they have extra inventory of the item and would prefer to offer it up to a competitive bidder instead of creating another auction to make a sale. Upon successful creation, a new listing with a unique **listingId** is generated. However, this listing will not be exposed/available to anyone other than the recipient of that Second Chance Offer. This field only returns null under exceptional circumstances, such as when an execution error is raised. """ createSecondChanceListing(input: CreateSecondChanceListingInput!): CreateSecondChanceListingOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation is used to end an existing eBay listing prior to its scheduled end time. Either the listing ID or the SKU value must be specified to identify the listing to be ended. The **endListingReason** must be specified. Select the most appropriate reason from the **EndListingReason** enum list. The operation returns the details of the listing after it has been ended. This field only returns null under exceptional circumstances, such as when an execution error is raised. """ endListing(input: EndListingInput!): EndListingOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation is used to relist an ended eBay listing. Either the listing ID or the SKU value must be specified to identify the listing to be relisted. It is possible to relist a listing without making any changes to the listing at all, but any updates to the listing are allowed if desired. Regardless of whether changes are made or not, the relisted item will be treated as a new listing and will get a new **listingId** value. The new listing will also be subject to any applicable listing-related fees. The operation returns either the details of the newly created listing or error information if the relisting fails. This field only returns null under exceptional circumstances, such as when an execution error is raised. """ relistListing(input: RelistListingInput!): RelistListingOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation is used to make one or multiple updates to an active or scheduled eBay listing. Either the listing ID or the SKU value must be specified to identify the listing to be updated. Common changes include changes to price, quantity, listing title, listing description, aspects, and other information. It can be used to update various listing attributes such as price, quantity, title, description, and other relevant information. The operation returns either the updated listing details or error information if the update fails. Some general notes on update behavior are captured below: - With most collection fields (arrays), complete replacement is performed, which means that existing values not included will be removed from the listing. The exceptions to these rules include the **variationDetails**, **items**, and **itemCompatibilities** arrays. More information is provided in the descriptions for those arrays. - An individual field should only be provided if the seller wants to modify the setting/value for that field. - To remove/disable an optional field/feature, include that field and set it to null or leave empty as appropriate. More information is provided in the descriptions for those optional fields. """ updateListing(input: UpdateListingInput!): UpdateListingOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing"]) """ This mutation can be used to accept an active offer (or counteroffer) and complete a purchase. This mutation ends the negotiation process and begins the purchase process. """ acceptOffer(input: AcceptOfferInput!): AcceptOfferOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.offer" "https://api.ebay.com/oauth/api_scope/sell.offer" ]) """ This mutation can be used to counter an active offer (or counteroffer) with a different price or quantity. The other party can then accept, decline, or counter this response. """ counterOffer(input: CounterOfferInput!): CounterOfferOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.offer" "https://api.ebay.com/oauth/api_scope/sell.offer" ]) """ This mutation can be used to decline an active offer (or counteroffer) and end the negotiation process. """ declineOffer(input: DeclineOfferInput!): DeclineOfferOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.offer" "https://api.ebay.com/oauth/api_scope/sell.offer" ]) """ This mutation can be used to create a new offer on an item and initiate price negotiation with the seller. Once created, the offer will have a 'PENDING' status and will await the seller's response. All buyer-initiated offers are negotiable, allowing the seller to accept, decline, or counter the offer. **Note**: Offers can only be created for items that support offer negotiations, and the sender of the offer must be eligible to make offers on the item. ### HTTP Headers - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the offer. Defaults to EBAY-US. """ makeOffer(input: MakeOfferInput!): MakeOfferOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.offer"]) """ The **bulkUpdateOrderTags** mutation allows a seller to update the acknowledgment status for up to 100 orders in a single operation. Supported values in the tags array are **acknowledged** and **unacknowledged**. **Note**: Order tag updates are currently limited to these two values; other tag values are not yet supported. """ bulkUpdateOrderTags(input: BulkUpdateOrderTagsInput!): BulkUpdateOrderTagsOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.order"]) """ This mutation can be used to mark up to 100 specified orders as payment received and is available only for the authorized user (the seller of the orders). **Note**: This action is irreversible. """ markOrdersPaid(input: MarkOrdersPaidInput!): MarkOrdersPaidOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.order"]) """ This mutation allows a seller to update up to 100 existing purchase quotes in a single request. **Note**: This operation is not available to buyers. """ bulkUpdatePurchaseQuotes(input: BulkUpdatePurchaseQuotesInput!): BulkUpdatePurchaseQuotesOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.purchase.quote"]) """ This mutation allows a seller to create a new purchase quote containing multiple item commitments with price details and optional shipping estimates. **Note**: This operation is not available to buyers. """ createPurchaseQuote(input: CreatePurchaseQuoteInput!): CreatePurchaseQuoteOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.purchase.quote"]) """ This mutation allows a buyer to submit a new purchase quote request to the seller. **Note**: This operation is operation is for future use. """ requestPurchaseQuote(input: RequestPurchaseQuoteInput!): RequestPurchaseQuoteOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.purchase.quote"]) """ The **appendSellerReturnResponseRule** mutation adds a new return-respond automation rule. If other return-respond rules already exist, the new rule is appended to the end of the list with the lowest priority and is evaluated after all existing enabled rules. """ appendSellerReturnResponseRule(input: AppendSellerReturnResponseRuleInput!): AppendSellerReturnResponseRuleOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **appendSellerReturnToAddressRule** mutation adds a new return-to-address automation rule. If other return-to-address rules already exist, the new rule is appended to the end of the list and is evaluated after all existing active rules. """ appendSellerReturnToAddressRule(input: AppendSellerReturnToAddressRuleInput!): AppendSellerReturnToAddressRuleOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **approveReturn** mutation allows a seller to approve a return request. In order to use this mutation, the seller must have permission to access and approve the specified return. """ approveReturn(input: ApproveReturnInput!): ApproveReturnOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **attachReturnShipmentLabel** mutation attaches a return shipment label to the specified return. **Note**: Use the **Media API** [uploadPostOrderDocument](https://developer.ebay.com/api-docs/commerce/media/resources/post_order/methods/uploadPostOrderDocument) method to upload the label, and then reference it in this mutation. """ attachReturnShipmentLabel(input: AttachReturnShipmentLabelInput!): AttachReturnShipmentLabelOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **declineReturn** mutation declines a return request and can include a message. In order to use this mutation, the user must have permission to access the specified return. """ declineReturn(input: DeclineReturnInput!): DeclineReturnOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **deleteSellerReturnRule** mutation allows the seller to delete the specified existing return automation rule. **Note**: Deleted rules cannot be recovered. """ deleteSellerReturnRule(input: DeleteSellerReturnRuleInput!): DeleteSellerReturnRuleOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **processReturnRefund** mutation processes a refund for a return in accordance with the applicable refund policy. This mutation initiates refund processing for the specified return and backend steps such as distributing the buyer funds and collecting the funds from seller without exposing these steps as synchronously or asynchronously. If the returned item is used, altered, or damaged, eligible sellers may withhold a portion of the refund to account for loss in value, as permitted by the refund policy. All such deductions are validated and applied according to platform rules.
Important! Due to EU & UK Payments regulatory requirements, an additional security verification via Digital Signatures is required for certain API calls that are made on behalf of EU/UK sellers, including calls with the processReturnRefund mutation . Please refer to Digital Signatures for APIs to learn more and the process to create signatures to be included in the HTTP payload.
""" processReturnRefund(input: ProcessReturnRefundInput!): ProcessReturnRefundOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **proposeKeepItemWithPartialRefund** mutation proposes a keep-item-with-partial-refund offer on one or more items in an existing return. Sellers use this to offer the buyer a partial refund to keep the item instead of returning it.
Important! Due to EU & UK Payments regulatory requirements, an additional security verification via Digital Signatures is required for certain API calls that are made on behalf of EU/UK sellers, including calls with the proposeKeepItemWithPartialRefund mutation . Please refer to Digital Signatures for APIs to learn more and the process to create signatures to be included in the HTTP payload.
""" proposeKeepItemWithPartialRefund(input: ProposeKeepItemWithPartialRefundInput!): ProposeKeepItemWithPartialRefundOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **provideRmaNumber** mutation supplies the Return Merchandise Authorization (RMA) number for a return. This mutation must be used if the seller has an RMA requirement configured as part of their return processing preferences. """ provideRmaNumber(input: ProvideRmaNumberInput!): ProvideRmaNumberOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **recordReturnLabelSentOffline** mutation records that a return shipment label has been sent to the buyer for the specified return """ recordReturnLabelSentOffline(input: RecordReturnLabelSentOfflineInput!): RecordReturnLabelSentOfflineOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **recordReturnReceived** mutation is an optional step to notify eBay that the returned item has been received. This is applicable for non-trackable returns where tracking information is unavailable, such as freight shipments. For tracked shipments, the return will be automatically recorded as received when the tracking information indicates that the item has been delivered to the destination address. """ recordReturnReceived(input: RecordReturnReceivedInput!): RecordReturnReceivedOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **sendReturnMessage** mutation sends a message to a return conversation. The message will be associated with the specified Return and the current authenticated user. In order to use this mutation, the user must have permission to access the return. """ sendReturnMessage(input: SendReturnMessageInput!): SendReturnMessageOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **submitReturnReferral** mutation submits an order return to eBay as a referral request. The request is accepted only if the return is eligible, as determined by server-side validation of its state, applicable policies, and caller permissions. A valid referral reason code must be included in the input. """ submitReturnReferral(input: SubmitReturnReferralInput!): SubmitReturnReferralOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ The **updateSellerReturnResponseRuleCondition** mutation updates a seller's return automation rule. These rules define how returns are processed based on their conditions. The update replaces all existing conditions with the ones provided in the request. Updating **ruleName** is optional but can be used to change the name of existing rule. If not provided, the existing name will remain (unchanged). """ updateSellerReturnResponseRuleCondition(input: UpdateSellerReturnResponseRuleConditionInput!): UpdateSellerReturnResponseRuleConditionOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **updateSellerReturnResponseRulesPriorities** mutation updates the priority order of existing return-respond automation rules. To reorder the rules, provide all `ruleIds` in the list, regardless of their status. Only the priority is updated (rule status remains unchanged, disabled rules will continue to stay disabled). Once updated, enabled rules are evaluated in the order specified. """ updateSellerReturnResponseRulesPriorities(input: UpdateSellerReturnResponseRulesPrioritiesInput!): UpdateSellerReturnResponseRulesPrioritiesOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **updateSellerReturnRuleStatus** mutation is used to enable or disable an automation return rule which determines how returns are processed based on their defined conditions. """ updateSellerReturnRuleStatus(input: UpdateSellerReturnRuleStatusInput!): UpdateSellerReturnRuleStatusOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **updateSellerReturnToAddressRuleCondition** mutation updates a seller's return automation rule. These rules define how returns are processed based on their conditions. The update replaces all existing conditions with the ones provided in the request. Updating **ruleName** is optional but can be used to change the name of existing rule. If not provided, the existing name will remain (unchanged). """ updateSellerReturnToAddressRuleCondition(input: UpdateSellerReturnToAddressRuleConditionInput!): UpdateSellerReturnToAddressRuleConditionOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **updateSellerReturnToAddressRulesPriorities** mutation updates the priority order of existing return-to-address automation rules. To reorder the rules, provide all `ruleIds` in the list, regardless of their status. Only the priority is updated (rule status remains unchanged, disabled rules will continue to stay disabled). Once updated, enabled rules are evaluated in the order specified. """ updateSellerReturnToAddressRulesPriorities(input: UpdateSellerReturnToAddressRulesPrioritiesInput!): UpdateSellerReturnToAddressRulesPrioritiesOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ The **updateSellerRmaPreference** mutation updates the seller's Return Merchandise Authorization (RMA) preference. When enabled, this preference allows the seller to provide an RMA number as part of the return shipment lifecycle. """ updateSellerRmaPreference(input: UpdateSellerRmaPreferenceInput!): UpdateSellerRmaPreferenceOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ This mutation is used to create a new user note or replace an existing user note for an item or order line item. A user note is a small piece of text that can be used by both buyers and sellers to attach additional information to an item or order line item. For example, user notes can be attached to an item a user is selling, an item a user is bidding on, or an order line item that was purchased. The item ID or Order line item ID value must be specified to identify the item or order line item for which a user note is being created or replaced, as well as the text content of the user note. The specified item ID or order line item ID will create a new user note; if a note already exists for an ID, it will be replaced. If the mutation succeeds, the new (or updated) user note will be returned. If the mutation fails, an array of errors indicating why the user note could not be created or updated is returned. """ createOrReplaceUserNote(input: CreateOrReplaceUserNoteInput): CreateOrReplaceUserNoteOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.usernote"]) """ This mutation is used to delete an existing user note for an item or order line item. The item ID or order line item ID value must be specified to identify the listing or order line item for which a user note is being deleted. An error will be returned if no note exists for the specified item ID or order line item ID combination. If the mutation succeeds, the user note will be deleted from the item or order line item. If the mutation fails, an array of errors indicating why the user note could not be created or updated is returned. """ deleteUserNote(input: DeleteUserNoteInput): DeleteUserNoteOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.usernote"]) """ The **addToWatchList** mutation can be used to add one or more items to a user's Watchlist. Each item to be added to the Watchlist must be specified by its **itemID** value. If the mutation succeeds, a list of all items successfully added to the user's Watchlist through this mutation will be returned. If the mutation fails (or partially fails) a list of items that failed to be added to the user's Watchlist will be returned along with the reason each failed. Items can fail to be added to a user's Watchlist for a variety of reasons, such as if the user's Watchlist is full or the specific item cannot be found. """ addToWatchList(input: AddToWatchListInput!): AddToWatchListOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.watchlist"]) """ The **removeAllFromWatchList** mutation can be used to remove all items from the user's Watchlist. """ removeAllFromWatchList: RemoveAllFromWatchListOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.watchlist"]) """ The **removeFromWatchList** mutation can be used to remove one or more items from a user's Watchlist. Each item to be removed from the Watchlist must be specified by its **itemID** value. If the mutation succeeds, a list of all items removed from the user's Watchlist though this mutation will be returned. If the mutation fails (or partially fails) a list of items that failed to be removed from the user's Watchlist will be returned along with the reason each failed. Item can fail to be removed from a user's Watchlist if the specified item is not currently in the Watchlist. """ removeFromWatchList(input: RemoveFromWatchListInput!): RemoveFromWatchListOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.watchlist"]) } """ This type is used to express name-value pairs for entities that have one name and one value. An example of an array that uses this type is the traits array which define the unique traits of SKUs within a multiple-SKU listing. """ type NameValuePair { """ The name of the entity, such as an aspect name. """ name: String! """ The value of the entity, such as an aspect value. """ value: String! } """ This type is used to express name-value pairs for entities that have one name and one value. An example of an array that uses this type is the **traits** array which define the unique traits of SKUs within a multiple-SKU listing. """ input NameValuePairInput { """ The name of the entity, such as an aspect name. """ name: String! """ The value of the entity, such as an aspect value. """ value: String! } """ This type provides for pairs of names and values. """ type NameValuesPair { """ The name of this name-value pair. """ name: String """ The values of this name-value pair. """ values: [String!] } """ This type is used to express name-value pairs for entities that have one name and one or more values. An example of an array that uses this type are product aspects. Some product aspects can only have one value, but some can support multiple values, which is why this type uses an array for **values**. """ input NameValuesPairInput { """ The name of the entity, such as an aspect name. """ name: String! """ This array may have one or more values that correspond to the entity defined in the **name** field. """ values: [String!]! } """ This type indicates that the buyer needs the item to be shipped instead of picked up. Applicable only for local pickup orders. """ type NeedItemToBeShippedCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `NEED_ITEM_TO_BE_SHIPPED`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This action type is used by a seller to offer a partial refund to buyer with the buyer keeping the item. """ type NegotiateOnReturnAction implements ReturnAction { """ A machine-readable return action code: `NEGOTIATE_ON_RETURN`. """ code: String! """ A human-readable offer for a partial return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents the complete negotiation conversation between participants. Each negotiation contains the full, chronological sequence of offers and counter-offers exchanged between buyer and seller. """ type Negotiation { """ This object provides details on the most recent offer. """ latestOffer: NegotiationOfferDetails! """ The unique identifier for this negotiation conversation. """ negotiationId: ID! """ The capability flags that define the rules and allowed actions for this negotiation. These are fixed at creation and determine aspects such as whether counter-offers are allowed (`negotiable`) and whether the negotiation involves multiple items (`multiItem`). **Examples**: - `[negotiable]`: Allows counter-offers on a single item. - `[multiItem, negotiable]`: Allows counter-offers on a grouped bundle of items. """ offerCapabilities: [NegotiationOfferCapabilities!]! """ The list of all offers exchanged in this negotiation, ordered chronologically from oldest to newest. This field shows the full progression of the negotiation over time. """ offers: [NegotiationOfferDetails!]! """ The object being negotiated (e.g., a single item or a bundle of items). """ target: OfferTarget! } """ This enumerated type defines the negotiation creator role filter for querying negotiation history. This type is used to filter negotiations based on the role of the participant who initiated them. """ enum NegotiationCreatorRoleFilter { """ This enumeration value indicates the negotiation creator role filter includes all supported negotiations regardless of who initiated them. This enum can be used to return all available negotiations. """ ALL """ This enum value indicates the negotiation creator role filter includes only buyer-initiated negotiations (Best Offers). This enum can be used to return negotiations where a buyer made the first offer to a seller. """ BUYER """ This enum value indicates the negotiation creator role filter includes only seller-initiated negotiations. This enum can be used to return negotiations where a seller made the first offer to a buyer. **Note**: This negotiation type is not currently supported. """ SELLER } """ This type defines the filters for retrieving negotiation history. **Defaults when omitted:** - Time window: last **90 days** by most-recent activity - Recent negotiation status: **ACTIONABLE** - Initiator: **BUYER** """ input NegotiationHistoryFilters { """ This field can be used to return negotiations whose most-recent activity is **on/after** this timestamp. If both `activeAfter` and `activeBefore` are omitted, negotiation history from the last 90 days is returned by default. """ activeAfter: DateTime """ This field can be used to return negotiations whose most-recent activity is **on/before** this timestamp. If both `activeAfter` and `activeBefore` are omitted, negotiation history from the last 90 days is returned by default. """ activeBefore: DateTime """ This field can be used to filter negotiations by who initiated them. This field can be used to control which negotiations are returned based on the role of the participant who started the negotiation: - **`BUYER`**: Only buyer-initiated negotiations (Best Offers) - **`SELLER`**: Only seller-initiated negotiations (**not currently supported**) - **`ALL`**: All supported negotiations regardless of who initiated them **Default**: `BUYER` """ negotiationCreatorRole: NegotiationCreatorRoleFilter = BUYER """ This field can be used to set the pagination parameters for retrieving offer history. **Minimum value**: 1 **Maximum value**: 200 **Default**: 100 """ pagination: PageInfoInput """ This field can be used to filter negotiations by their current status. Available values: - `ACCEPTED` - `PENDING` - `ACTIONABLE` - `DECLINED` - `EXPIRED` - `COMPLETED` - `ALL` **Default**: 'ACTIONABLE' """ statusFilter: NegotiationStatusFilter = ACTIONABLE } """ This type defines the paginated result containing the full negotiation history for a specific item. This includes: - A list of negotiation threads associated with the item. - The offers exchanged within each negotiation. - Pagination metadata for navigating through the result set. """ type NegotiationHistoryResult { """ A list of negotiation threads for the item. Each negotiation includes the complete set of offers exchanged within that thread, ordered with the most recent negotiation first. """ negotiations: [Negotiation!] """ The pagination metadata for navigating through the negotiation history. """ pagination: Pagination! } """ This type defines the capability flags for a negotiation. These flags describe what actions are allowed during the negotiation and help determine the negotiation's type. They influence both backend logic and frontend behavior. **Examples**: - Whether counter-offers are permitted. - Whether the negotiation involves a single item or a bundled group of items. """ type NegotiationOfferCapabilities { """ This boolean indicates whether counter-offers are allowed in the negotiation. If 'true', counter-offers are allowed; if 'false', counter-offers are not allowed. """ negotiable: Boolean! } """ This type represents a single offer made by a user within a negotiation thread. Each offer captures the complete context of one step in a negotiation, including pricing, quantity, lifecycle status, timestamps, and user-entered notes. This type includes references to the negotiation it belongs to and the user who submitted it. """ type NegotiationOfferDetails { """ The date and time the offer was created, in UTC. This field uses the `DateTime` scalar (ISO 8601 / RFC 3339 format). """ createdAt: DateTime! """ The date and time when this offer will automatically expire. This field uses the `DateTime` scalar (ISO 8601 / RFC 3339 format). """ expiresAt: DateTime """ An optional message from the offer creator, visible only to participants in this negotiation. This note is scoped to this specific offer step and can be used to justify or explain the offer. **Format**: UTF-8 **Maximum length**: 250 characters """ message: String """ The role of the participant who submitted this offer (e.g., 'BUYER' or 'SELLER'). """ offerCreatorRole: NegotiationParticipantRole! """ The user who submitted this offer. """ offerCreatorUser: User! """ The unique identifier for this specific offer step in the negotiation. """ offerId: ID! """ The price proposed by the offer creator in this step. """ offerPrice: ConvertedAmount! """ The quantity of items included in this offer. The value must be less than the listing’s available quantity. """ quantity: Int! """ The current status of the offer in its lifecycle. **Possible values**: - PENDING - COUNTERED - ACCEPTED - AUTO_ACCEPTED - SELLER_ACCEPTED - PAYMENT_PENDING - DECLINED - AUTO_DECLINED - EXPIRED - RETRACTED - ADMIN_ENDED """ status: OfferStatus! """ The date and time the offer was last updated, in UTC. This field uses the `DateTime` scalar (ISO 8601 / RFC 3339 format). """ updatedAt: DateTime! } """ This enumerated type defines the role of a participant in a negotiation. Each role can initiate offers and respond to offers from the other party. """ enum NegotiationParticipantRole { """ This enum value indicates that an interested buyer submitted the offer or counteroffer. """ BUYER """ This enum value indicates that the seller of the item submitted the offer or counteroffer. """ SELLER } """ This enumerated type specifies logical groupings of offer statuses used for filtering negotiation queries. Each value represents a broad lifecycle category, allowing developers to filter negotiation threads based on their current state. """ enum NegotiationStatusFilter { """ This enum value indicates that only negotiations whose latest offer was accepted will be returned. This enum includes offer statuses: 'ACCEPTED', 'AUTO_ACCEPTED' """ ACCEPTED """ This enum value indicates that only negotiations that require your action will be returned. Use this to fetch negotiations where **you** must respond: - **Sellers**: Any buyer offers (initial or counter-offers) awaiting your decision. - **Buyers**: Seller counter-offers awaiting accept/decline/counter. This enum includes negotiations whose latest offer status is `PENDING` and awaiting your response. For sellers this includes buyer offers and counteroffers. For buyers, this includes seller counteroffers. """ ACTIONABLE """ This enum value indicates that all negotiations, regardless of status, will be returned. """ ALL """ This enum value indicates that only negotiations in any terminal state will be returned. This enum includes offer statuses: 'ACCEPTED', 'AUTO_ACCEPTED', 'DECLINED', 'AUTO_DECLINED', 'EXPIRED', 'RETRACTED', 'ADMIN_ENDED' """ COMPLETED """ This enum value indicates that only negotiations whose latest offer was declined will be returned. This enum includes offer statuses: 'DECLINED', 'AUTO_DECLINED' """ DECLINED """ This enum value indicates that only negotiations whose latest offer expired will be returned. This enum includes offer status: 'EXPIRED' """ EXPIRED """ This enum value indicates that only negotiations waiting on the other party will be returned. This enum includes negotiations whose latest offer status is `PENDING` and awaiting the other party’s action. For sellers, this includes seller counteroffers. For buyers, this includes buyer offers and buyer counteroffers. """ PENDING } """ This type indicates the item is returned because the buyer no longer needs the item. Displays as **No longer need item**. """ type NoLongerNeedItem implements ReturnReason { """ A machine-readable reason code: `NO_LONGER_NEED_ITEM`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a non-profit organization. """ type NonProfitOrganization { """ The unique identifier of the non-profit organization. """ id: ID! } """ This type indicates that the buyer has not received a refund for return shipping. """ type NoRefundForReturnShipping implements PostPurchaseCaseReferralReason { """ A machine-readable reason code: `NO_REFUND_FOR_RETURN_SHIPPING`. """ code: String! """ A human-readable case referral reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the item is returned because it was not as described. Displays as **Item not as described**. """ type NotAsDescribed implements ReturnReason { """ A machine-readable reason code: `NOT_AS_DESCRIBED`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type defines the business error that occurs during business rule violations while executing an offer action. """ type OfferBusinessRulesViolated implements BusinessError { """ The globally unique error code for this business error type. In this case, `OFFER_BUSINESS_RULES_VIOLATED`. """ errorCode: String! """ The developer-friendly message explaining the error. **Maximum length**: 500 characters **Format**: Alphanumeric characters, spaces, and common punctuation """ errorMessage: String! """ A list of business rule violations that caused the offer action to fail. """ violations: [OfferBusinessRuleViolation!]! } """ The interface representing a business rule violation. This identifies the rule that failed to execute along with an explanatory message. """ interface OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the buyer has been blocked by the seller. """ type OfferBuyerBlockedBySeller implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the buyer has been blocked due to low feedback. """ type OfferBuyerLowFeedbackBlock implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the buyer needs to be pre-approved by the seller """ type OfferBuyerNotPreApproved implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the buyer has been blocked due to a UPI (unpaid item) policy strike. """ type OfferBuyerUPIStrike implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the buyer has exceeded the maximum item count limit. """ type OfferBuyerWonItemCountLimitExceeded implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when a seller attempts to buy their own item. """ type OfferBuyingOwnItem implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an offer message blocked by the content moderation policy. """ type OfferContentModerationBlock implements OfferBusinessRuleViolation { """ A message explaining the content moderation block error. **Maximum length**: 100 characters """ blockMessage: String """ A compact message explaining the content moderation block error. **Maximum length**: 50 characters """ blockShortMessage: String """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when a guest user attempts to submit an offer. """ type OfferGuestUserAccountNotAllowed implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an item has already been purchased. """ type OfferItemAlreadyPurchased implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an item listing has ended. """ type OfferItemEnded implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an item is in pending state. """ type OfferItemPending implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an item revision limit has been exceeded and offers are not allowed. """ type OfferItemRevisionLimitExceeded implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer price is lower than the minimum listing price amount for the listing site. """ type OfferLowerThanMinimumListingPrice implements OfferBusinessRuleViolation { """ The minimum listing price amount for this listing. """ minimumListingPrice: Amount """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when messaging is not allowed for the offer. """ type OfferMessagingNotAllowed implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an offer is made for a multi-SKU item. """ type OfferMultiSKUNotAllowed implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an offer is no longer available. """ type OfferNoLongerAvailable implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an account is on hold by a resolution, and offers are not allowed. """ type OfferNotAllowedOnUserAccountHoldByResolution implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the user's account is on hold and offers are not allowed. """ type OfferNotAllowedOnUserAccountOnHold implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer status cannot transition to accepted. """ type OfferNotAvailableForAccept implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when an offer is blocked by a policy violation check. """ type OfferPolicyViolationError implements OfferBusinessRuleViolation { """ The unique identifier of the correlation used for tracking the policy violation check failure. **Maximum length**: 40 characters **Format**: Alphanumeric characters and underscores """ correlationId: String """ An explanatory message of the specific policy violation check blocker. **Maximum length**: 100 characters """ policyViolationMessage: String """ If the blocker can be remediated, this field will return a URL that redirects the user to a page explaining how to take remediating action. **Maximum length**: 2048 characters """ redirectionUrl: String """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer price was greater than the BIN (Buy it now) price. """ type OfferPriceGreaterThanBinPrice implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer price max limit exceeded. """ type OfferPriceMaxLimitExceeded implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer price should be a whole number for this site. """ type OfferPriceNotWhole implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer price does not represent a significant discount compared to the BIN (Buy it now) price. """ type OfferPriceThresholdNotMet implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the offer quantity is not available. """ type OfferQuantityNotAvailable implements OfferBusinessRuleViolation { """ The quantity of the item already purchased by this buyer for this listing. """ alreadyBoughtQuantity: Int """ The quantity of the item currently available for purchase. """ availableQuantity: Int """ The quantity of the item requested in the offer. """ offerQuantity: Int """ The maximum quantity of the item allowed per buyer for this listing. The value will be returned as null if there is no per-buyer maximum. """ perBuyerMaximumAllowedQuantity: Int """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the item does not ship to the buyer's location. """ type OfferShipToLocationExclusion implements OfferBusinessRuleViolation { """ The two-letter country code of the country where the buyer wants the item shipped. """ buyerShipToCountry: CountryAlpha2Code """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This enumerated value specifies the possible statuses that an offer can have. """ enum OfferStatus { """ This enum value indicates that the offer has been manually accepted by the recipient. """ ACCEPTED """ This enum value indicates that the offer was forcibly ended through administrative intervention. """ ADMIN_ENDED """ This enum value indicates that the offer met predefined conditions and was accepted automatically. """ AUTO_ACCEPTED """ This enum value indicates that the offer was declined automatically due to business rules or constraints. """ AUTO_DECLINED """ This enum value indicates that the offer was canceled. This may occur when a subsequent offer supersedes the current one. """ CANCELED """ This enum value indicates that the recipient has responded with a counteroffer. """ COUNTERED """ This enum value indicates that the offer has been manually declined by the recipient. """ DECLINED """ This enum value indicates that the offer expired without receiving a response within the allowed time frame. """ EXPIRED """ This enum value indicates that the seller accepted the buyer's offer, and the buyer must complete payment now. """ PAYMENT_PENDING """ This enum value indicates that the offer is awaiting a response from the recipient. """ PENDING """ This enum value indicates that the offer was withdrawn by its creator before a response was received. """ RETRACTED """ This enum value indicates that the seller accepted the offer and is awaiting buyer payment to finalize the purchase. """ SELLER_ACCEPTED } """ This union type represents the polymorphic target of a negotiation and defines the type of object being negotiated (e.g., an individual item or a bundle of items). Currently, the only supported target type is `Item`, but more target types may be added in the future. """ union OfferTarget = Item """ This type defines the business rule error that occurs when the buyer has unpaid purchase orders for this item. """ type OfferUPIPurchaseOrderBlock implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the user's account is not active. """ type OfferUserAccountNotActive implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the attempted offer action is not done by the buyer or seller. """ type OfferUserNotValid implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This type defines the business rule error that occurs when the user's account is suspended. """ type OfferUserSuspended implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ This enumerated type defines how the return label was provided to the buyer. """ enum OfflineReturnLabelChannelInput { """ This value indicates the label was provided to the buyer through an offline channel (for example, email or printed separately). """ COMMUNICATED_TO_BUYER """ This value indicates the return label was included in the box with the item. """ RETURN_LABEL_IN_THE_BOX } """ This enumeration type contains the values that sets the operation mode for a mutation, indicating whether the intent is to create/update a live listing or only to validate the input data. """ enum OperationMode { """ This mode is used when the user wants to create or update a live listing with the provided data. This is the default value if **operationMode** is omitted. """ EXECUTE """ This mode is used when the user only wants to validate the input data and check for errors, without creating or updating a live listing. """ VALIDATE } """ This type defines the unique identifier of an order, which is a confirmed request by a customer to purchase one or more products or services through an e-commerce platform. It contains all relevant details required to process, fulfill, and track the transaction, including customer information, items purchased, payment details, shipping data, and state updates. """ type Order { """ The unique identifier of the order. """ orderId: ID """ The customer who placed the order. This field references the user associated with the purchase. """ buyer: User! """ This array returns information related to the cancellation of the order, if applicable. """ cancellations: [CancellationAdjustment!] """ The eBay marketplace where the checkout for the order was completed. """ checkoutMarketplace: Marketplace! """ The timestamp when the customer completed the checkout process, which confirms the order. At this point, payment is typically processed, and if successful, the order transitions from a draft or cart state to a finalized purchase ready for fulfillment. **Note**: This field could be null for an order which was created but not yet confirmed and is still being processed. """ confirmedAt: DateTime """ This object returns logistics information associated with the order. This information describes how the purchased items will be fulfilled, delivered, or made available to the buyer. """ logistics: PurchaseLogistics! """ This object returns the monetary record associated with the order. Each entry represents a distinct payment-related detail within the order lifecycle. """ monetaryDetails: MonetaryDetails! """ This field contains all the add-on services related to the order. """ orderAddOnService: OrderAddOnService! """ This array returns a non-empty list of line items included in the order. Each line item represents an item and includes details like quantity, pricing, and other relevant information. **Note**: An order can contain multiple types of items. """ orderLineItems: [OrderLineItem!]! """ The current state of the order providing specific details related to that state. Separate calls can make a model of the lifecycles of an order by providing the sequence of steps. """ orderState: OrderState! """ This object contains all tags associated with the order. """ orderTags: PurchaseTags """ This array returns details of any post-purchase payment adjustments made to the order, such as additional charges applied to the buyer (e.g., for added shipping or corrected fees). This field is populated only when such adjustments occur. """ paymentAdjustments: [PaymentAdjustment!] """ The timestamp when the order was initially created which marks the start of the order lifecycle. **Note**: This object is never null. """ placedAt: DateTime! """ This array returns information related to any refund associated with the order, if applicable. """ refunds: [RefundAdjustment!] """ This array returns information related to any return associated with the order, if applicable. """ returns: [ReturnAdjustment!] """ This object provides comprehensive tax-related information for the order. """ taxes: OrderTaxes! """ The full set of calculated monetary totals associated with the order, covering all relevant amounts in supported currencies. """ totals: OrderTotals! """ The timestamp when the order was last updated. This timestamp captures changes made to order details, state, or related information. **Note**: This object is never null. """ updatedAt: DateTime! } """ This type represents the state when the order was abandoned before completion. """ type OrderAbandoned implements Labeled { """ The date and time when the order was abandoned. """ abandonedAt: DateTime! """ A human-readable description of the order's state. """ label: String! """ The reason the order was abandoned, if available. """ reason: String } """ This type indicates additional optional features or services are associated with the order. """ type OrderAddOnService { """ This field provides information about the eBay Plus add-on service. """ eBayPlus: EbayPlusAddOnService """ This field provides information about exports if this order has international shipping add-on service. """ exports: ExportsAddOnService """ This field provides information about the global shipping add-on service. """ globalShipping: GlobalShippingAddOnService } """ This interface is for Order Adjustment and refers to any adjustment happens after order was successfully created, for example, return, cancel, refund, or similar. """ interface OrderAdjustment { """ The unique identifier of the order adjustment. """ adjustmentId: ID! """ This timestamp indicates the creation date of the order adjustment. """ createdAt: DateTime! """ The state of the order adjustment. """ state: OrderAdjustmentState! """ This timestmap indicates the time of the last updated to the order adjustment. """ updatedAt: DateTime! } """ This type indicates that an order adjustment was abandoned (not completed and not explicitly canceled) through a human-readable label. """ type OrderAdjustmentAbandoned implements Labeled { """ A human-readable label for the state. """ label: String! } """ This type indicates that an order adjustment was canceled and will not be applied through a human-readable label. """ type OrderAdjustmentCancelled implements Labeled { """ A human-readable label for the state. """ label: String! } """ This type indicates that an order adjustment has been successfully applied or completed through a human-readable label. """ type OrderAdjustmentCompleted implements Labeled { """ A human-readable label for the state. """ label: String! } """ This type indicates that an order adjustment has been created and is pending processing through a human-readable label. """ type OrderAdjustmentCreated implements Labeled { """ A human-readable label for the state. """ label: String! } """ This type represents the current state of an order adjustment. Each variant is a labeled, type that describes a specific phase of the adjustment lifecycle. """ union OrderAdjustmentState = OrderAdjustmentAbandoned | OrderAdjustmentCancelled | OrderAdjustmentCompleted | OrderAdjustmentCreated """ This type represents the cancellation of an order contract. **Note**: The `lineItems` field contains a field named `orderLineItem` that the represents the original order line item. """ type OrderCancellation implements ContractCancellation { """ The buyer involved in this order cancellation. """ buyer: User! """ This field provides available actions for the buyer involved in the order cancellation request, and contains a primary action and deadline. If no action is available based on current cancellation status, this field will not be set. """ buyerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.cancellation.read" "https://api.ebay.com/oauth/api_scope/buy.cancellation" ]) """ The unique identifier of this order cancellation. """ cancellationId: ID! """ This timestamp indicates when the order cancellation was closed. This field will only be returned when the cancellation request is closed. """ closedAt: DateTime """ This object provides details on the line item(s) that are part of the order cancellation. """ lineItems: [OrderCancellationLineItem!]! """ The reason provided for the order cancellation. """ reason: ContractCancellationReason! """ A list of one or more refunds resulting from this order cancellation. Present only if refund processing was initiated during cancellation; otherwise, null. """ refunds: [Refund!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.refund.read" "https://api.ebay.com/oauth/api_scope/sell.refund.read" ]) """ This timestamp indicates when the order cancellation was requested. """ requestedAt: DateTime! """ The party that requested the order cancellation (for example, `BUYER`). """ requester: PostPurchaseActorRole! """ An optional note provided when requesting the order cancellation, if the requester provided a note; otherwise, null. """ requesterNote: String """ The seller involved in this order cancellation. """ seller: User! """ This field provides available actions for the seller involved in the order cancellation request, and contains a primary action and deadline. If no action is available based on current cancellation status, this field will not be set. """ sellerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ The current status of the order cancellation. """ status: ContractCancellationStatus! } """ This type represents an ineligibility reason indicating that the cancellation window on an order has elapsed. """ type OrderCancellationConflictWithWindowElapsed implements OrderCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_WINDOW_ELAPSED`. """ code: String! """ Human-readable message of the eligibility failure reason: It's too late to cancel this order. Please contact the buyer to see if you can work something out.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the order whose cancellation was blocked by order level eligibility rule(s). """ orderId: ID! } """ This type represents order-level ineligibility reasons that prevent cancellation. The `ineligibilityReasons` field lists the order‑level reasons the cancellation cannot be performed at this time. **Note**: Clients should use **errorCode** and **ineligibilityReasons** for programmatic handling; **errorMessage** is intended for display. """ type OrderCancellationEligibilityError implements BusinessError { """ The machine-readable error code for this business error. For this type, the value is `CNCL_ORDER_ELIGIBILITY_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more order-level contract cancellation ineligibility reasons that block creation of a cancellation. For example, `CancellationExistsConflict` applies when the whole order is already cancelled or a cancellation is in progress. This field is required and contains at least one reason when this error is returned. """ ineligibilityReasons: [OrderCancellationIneligibilityReason!]! } """ This type represents an ineligibility reason indicating that the requested order already has a cancellation on file. """ type OrderCancellationExistsConflict implements OrderCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_EXISTS_CONFLICT`. """ code: String! """ A human-readable description of the error message of the eligibility failure reason. For this type, the value is `You cannot cancel this order because a cancellation exists on this contract.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the order for which cancellation is ineligible. """ orderId: ID! } """ This interface type represents reasons at the order level cancellation ineligible, thereby blocking the creation of a cancellation. **Note**: Additional interfaces may be added to this union in the future; clients should handle unrecognized interfaces gracefully. """ interface OrderCancellationIneligibilityReason { """ The machine-readable code eligibility failure code. """ code: String! """ A human-readable failure ineligible reason for display purposes. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the order whose cancellation was blocked by line item level eligibility rule(s). """ orderId: ID! } """ This type provides details on a line item within an order cancellation, providing a direct pointer to the original order line item via `orderLineItem`. """ type OrderCancellationLineItem implements ContractCancellationLineItem { """ The unique identifier of this cancellation line item. """ cancellationLineItemId: ID! """ The quantity cancelled for original order line item. Present only when the order cancellation is completed. """ cancelledQuantity: Int """ The reference for cancelled item reference. """ item: ContractCancellationItemReference """ The restock details for the cancelled listing. Present only when listing restock is requested through cancellation mutations. This can be a list in case we will support restock for individual listing inside one item bundle. """ listingRestockTasks: [PostPurchaseListingRestockTask!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ The reference to the original order line item. """ orderLineItem: OrderLineItem! """ The quantity requested for cancellation on original order line item. """ requestedQuantity: Int! } """ This type represents an ineligibility reason indicating a policy issue that blocked cancellation. """ type OrderCancellationReasonNotAllowed implements OrderCancellationIneligibilityReason { """ A list of applicable cancellation reasons for current actor. """ availableReasons: [ContractCancellationReason]! """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_REASON_NOT_ALLOWED`. """ code: String! """ A human-readable description of the eligibility failure reason: `The cancellation reason you selected is not allowed by policy. Please choose a different reason and try again.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the order whose cancellation was blocked by order level cancellation eligibility rules. """ orderId: ID! } """ This type represents the state when the order was canceled. """ type OrderCancelled implements Labeled { """ The cancellation state of the order. """ cancelState: ContractCancelState """ The date and time when the order was canceled. """ cancelledAt: DateTime! """ A human-readable description of the order's state. """ label: String! """ The reason for the cancellation, if available. """ reason: String } """ This union type represents the origin of a line item in the order. """ union OrderCheckoutSource = ItemCommitment | PurchaseQuote """ This type indicates that the order was confirmed after a successful checkout. Payment has been processed and the order is ready for fulfillment. """ type OrderConfirmed implements Labeled { """ The cancellation state, if applicable. """ cancelState: ContractCancelState """ The date and time that the order was officially confirmed. """ confirmedAt: DateTime! """ The current state of the fulfillment process. **Note**: Use this field to track logistics progress for this order. """ fulfillmentState: LogisticsFulfillmentState! """ The current state of the funding process. **Note**: Use this field to track and manage funding. """ fundingState: PaymentsState! """ A human-readable description of the order's state. """ label: String! """ The current state of the payment hold associated with this order. **Note**: This field would be null if not applicable. """ paymentHoldState: PaymentHoldState """ The current state of the refund process. **Note**: If null, no refund activity has occurred or is not applicable. """ refundState: ContractRefundState """ The current state of the return process. **Note**: If null, no return activity has occurred or is not applicable. """ returnState: ContractReturnState } """ This type indicates the item is returned because the buyer purchased it accidentally. Displays as **Ordered accidentally**. """ type OrderedAccidentally implements ReturnReason { """ A machine-readable reason code: `ORDERED_ACCIDENTALLY`. """ code: String! """ A human-readable return reason that is intended for display only. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the item is returned because the buyer purchased the wrong size. Displays as **Ordered wrong size**. """ type OrderedWrongSize implements ReturnReason { """ A machine-readable reason code: `ORDERED_WRONG_SIZE`. """ code: String! """ A human-readable return reason that is intended for display only. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters. """ displayText: String! } """ This type is used to show details about an exports duty account used as a destination account. """ type OrderExportsDutyAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! } """ This type is used to identify a seller's financial account used to charge against for eBay listing and order-related fees. """ type OrderFeeAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account that will be charged with fees. """ identifier: ID! } """ This type indicates that AU Benefit/Incentive account was used as the source account. """ type OrderIncentiveAccount implements FundAccount { """ The unique identifier of the domain for the account. """ domain: ID! """ The unique identifier of the account. """ identifier: ID! """ This array returns details for the incentive account. """ incentiveDetails: [OrderIncentiveDetails!] } """ This type provides loyalty offer details for gift cards, incentives, benefits, and similar promotions. """ type OrderIncentiveDetails { """ The unique identifier of an applied offer code. """ appliedOfferCode: ID! """ The unique identifier of an offer fulfillment. """ offerFulfillmentId: String! """ This object shows details on the payment method that is used to fund this offer. """ paymentMethod: PurchasePaymentMethod! } """ This interface represents an inquiry such as Item Not Received (INR) or other buyer-seller issue. The fields in this interface capture the full lifecycle of an inquiry from initiation through buyer and seller interactions, shipping events, participant, refunds, and final resolution. """ interface OrderInquiry { """ The timestamp when the inquiry was closed. **Note**: This object will be returned null if the inquiry is still open. """ closedAt: DateTime """ The timestamp when the inquiry was created. """ createdAt: DateTime! """ The actor who originally initiated the inquiry (e.g., buyer). """ initiator: PostPurchaseActorRole! """ This array returns a list of all actors who have inquired about the same subject within this inquiry — starting with the original initiator, and including any other parties (e.g., buyer, seller, participant, or system) who later engaged. For example, the system might initiate the inquiry after handling time + 1 business day to prompt a seller response, and the buyer might inquire later on EDD + 1 day. Both actors would be listed here as having inquired about the same issue. **Note**: This field is required and will always contain at least one actor. """ inquirers: [PostPurchaseActorRole!]! """ The unique identifier of the inquiry. """ inquiryId: ID! """ This array returns a list of line items associated with this inquiry. **Note**: This list is guaranteed to be non-null but may be empty in certain valid cases. In most typical cases, it will contain at least one line item. """ lineItems: [OrderInquiryLineItem!]! """ This array returns a list of information or evidence provided by inquiry participants in response to system or CS requests. This includes user-submitted files, text notes, or structured responses. **Note**: This array may be an empty list if no additional information was provided. """ providedInformation: [OrderInquiryInformation!]! """ This array returns a list of information or evidence requests made during the inquiry lifecycle. These requests may be generated by the system or manually initiated by participants and are typically used to collect supporting documentation or clarifications from one or more involved parties (e.g., buyer or seller). Examples include requests for tracking details, signature confirmation, proof of delivery or other relevant evidence. **Note**: This list may be empty if no additional information was requested. """ requestedInformation: [OrderInquiryInformationRequested!] """ The user or party expected to respond to the inquiry (e.g., seller or eBay agent). """ responder: PostPurchaseActorRole! """ A list of actions currently available to the seller for this inquiry. This object may be returned null if: - The viewer is not the seller. - No actions are currently available based on the inquiry state and role. - The inquiry is in a terminal state (e.g., `CLOSED`). """ sellerAvailableActions: OrderInquiryActions """ The current overall status of the inquiry (e.g., `OPEN`, `CLOSED`). """ status: OrderInquiryStatus! """ This object provides a breakdown of estimated refund amounts if a refund is expected for the order inquiry. """ refundEstimate: RefundEstimate } """ This type represents a generic inquiry action that can be taken by an actor (e.g., buyer or seller). Common actions include sending a message, issuing a refund, escalating the case, or closing it. """ interface OrderInquiryAction { """ A stable, machine-readable identifier for inquiry action. Example values include `SEND_MESSAGE`, `REFUND`, `ESCALATE`, `PROVIDE_INFO`. **Maximum length**: 100 characters """ code: String! """ The human-readable text for inquiry action. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a business error that occurs when a caller attempts to perform an action on an order inquiry, but the action is not permitted in the inquiry’s current state or context. This error is returned when the requested operation is not allowed due to business rules, such as actor permissions, or the inquiry's lifecycle stage. """ type OrderInquiryActionNotPermittedError implements BusinessError { """ This array returns a list of actions that are available to the user in the current state. This can be used to guide the user on what actions they can take. """ availableActions: [OrderInquiryAction!] """ The unique identifier for this specific error type - `ORDER_INQUIRY_ACTION_NOT_PERMITTED_ERROR`. """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 500 characters """ errorMessage: String! } """ This type represents the set of actions available to a participant during an inquiry. This includes the primary response action and any additional secondary actions that the participant may take before a specific due date. """ type OrderInquiryActions { """ This object returns the primary action that the participant is expected to take, along with the deadline by which it must be completed. """ respondByAction: OrderInquiryRespondByAction """ This array returns a list of optional or supporting actions that the seller can take in addition to the primary response. """ secondaryActions: [OrderInquiryAction!] } """ This type represents a `close` action available during an inquiry. """ type OrderInquiryCloseAction implements OrderInquiryAction { """ A stable, machine-readable identifier for the `close` inquiry action (e.g., `CLOSE`). """ code: String! """ The human-readable text for the `close` inquiry action. **Maximum length**: 100 characters """ displayText: String! } """ This type represents an inquiry that is closed for the participant. """ type OrderInquiryClosed implements OrderInquiryStatus { """ A stable, machine-readable identifier for the 'closed' inquiry status. In this case, `CLOSED`. """ code: String! """ The human-readable text of the `closed` inquiry status. **Maximum length**: 100 characters """ displayText: String! } """ This type represents metadata about a document associated with an inquiry — such as uploaded evidence of signature confirmation, proof of shipping, or delivery. """ type OrderInquiryDocument { """ The unique identifier of the document uploaded for the order inquiry. """ documentId: ID! """ The original or display name of the document file, as provided during upload. **Maximum value**: 100 """ documentName: String! """ The file name extension or format of the document (e.g., `PDF`, `JPG`, `DOCX`) as defined in the **FilenameExtension** enum. """ filenameExtension: FilenameExtension! """ The timestamp indicating when the document was uploaded. """ uploadedAt: DateTime! } """ This input type represents the filters that can be used when searching for order inquiries. """ input OrderInquiryFilterInput { """ Filters the response to only include inquiries in a specified creation date range. This filter defaults to the last 30 days if it is not provided. **Note**: Only inquiries created within the last 18 months are supported. """ createdBetween: DateTimeRangeInput """ Filters the response to only include inquiries with a specific listing ID. **Note**: If an invalid or ineligible listing ID is provided, the search will return an empty result. """ listingId: ID """ Filters the response to only include inquiries with a specific order ID. **Note**: If an invalid or ineligible order ID is provided (e.g., the order doesn't belong to the requester), the search will return an empty result. """ orderId: ID """ Filters the response by preset filters to narrow down the order inquiries. **Default**: `AWAITING_SELLER_ACTION`, where immediate action is required by seller """ presets: OrderInquiryFilterPreset! = AWAITING_ACTION_FROM_SELLER } """ This enumerated type defines a set of preset filters useable to filter order inquiries. """ enum OrderInquiryFilterPreset { """ This enum value indicates that only inquiries that are awaiting eBay action will be returned. This includes inquiries that are referred to eBay and awaiting eBay decision and action. """ AWAITING_ACTION_FROM_EBAY """ This enum value indicates that only inquiries that are awaiting seller action will be returned. This includes inquires that are awaiting a seller to provide shipment fulfillment detail to buyer or provide a refund. """ AWAITING_ACTION_FROM_SELLER """ This enum value indicates that only inquiries that are closed will be returned. This includes inquires resolved with refund by a seller or by eBay and inquires closed by a buyer or by eBay. """ CLOSED } """ This type represents a participant’s response to an information request within an inquiry. This may include document uploads, notes, tracking numbers, or any evidence submitted in response to a prior information request. """ type OrderInquiryInformation { """ The timestamp when this information was submitted. """ submittedAt: DateTime! """ This array returns a list of documents or files associated with the submission. **Note**: This array may return an empty list if the response was purely textual. """ submittedInformation: [OrderInquiryInformationProvided!]! """ The party who submitted this information. """ submitter: PostPurchaseActorRole! } """ This union type represents the structured data provided in response to an information request. The actual type depends on the expected **OrderInquiryInformation** type. For example: - `SHIPMENT_TRACKING_INFO` → **OrderInquiryShipmentTracking** - `SIGNATURE_CONFIRMATION_INFO` → **OrderInquirySignatureConfirmation** """ union OrderInquiryInformationProvided = OrderInquiryShipmentTracking | OrderInquirySignatureConfirmation """ This type represents a request for specific information or documentation within an inquiry. Requests can originate from the system or a participant and specify the type of evidence required to support resolution (e.g., tracking number, proof of delivery). """ interface OrderInquiryInformationRequested { """ The timestamp when the request was created. """ requestedAt: DateTime! """ The actor who initiated the information request. """ requester: PostPurchaseActorRole! } """ This type defines the pagination input for an order inquiry response. """ input OrderInquiryInitialPageInput { """ This object can be used to specify optional filters to further narrow down the results. **Default**: all open order inquiries created in the last 30 days """ filter: OrderInquiryFilterInput! """ This object can be used to specify sorting options for order inquiries. **Default**: Sort by `CREATED_AT` in ascending order """ sort: OrderInquirySortInput! } """ This input type is used to retrieve an inquiry by its unique identifier. """ input OrderInquiryInput { """ The unique identifier of the inquiry. """ inquiryId: ID! } """ This type represents a business error that occurs when the specified date range exceeds the allowed limit or has an invalid start and end date order. """ type OrderInquiryInvalidDateRangeError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_INVALID_DATE_RANGE` """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type represents a business error that occurs when the specified page size exceeds the allowed limit. """ type OrderInquiryInvalidPageSizeError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_INVALID_PAGE_SIZE` """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum allowed page size. """ maxAllowedPageSize: Int! """ The minimum allowed page size. """ minAllowedPageSize: Int! """ The requested page size. """ requestedPageSize: Int! } """ This type represents a business error that occurs when the search request must include either initial search input or page cursor information. """ type OrderInquiryInvalidSearchInputError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_INVALID_SEARCH_INPUT` """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type represents a specific item in an order involved in the inquiry. """ type OrderInquiryLineItem { """ The unique identifier of the order inquiry line item. """ inquiryLineItemId: ID! """ The unique identifier of the order line item that was purchased. """ orderLineItem: OrderLineItem! """ The quantity of the item under inquiry. **Note**: This field may be returned null if the quantity is not applicable to the inquiry context. """ quantity: Int } """ This type represents the constraints defined for inquiry message input. """ type OrderInquiryMessageConstraint { """ The length of characters allowed for inquiry message input. """ characterLimit: InputTextLengthRange! } """ This type represents the order inquiry message input field violation. """ type OrderInquiryMessageFieldViolation implements SendOrderInquiryMessageInputViolation & SubmitOrderInquiryReferralInputViolation { """ The machine-readable code (for example: 'INQRY_MESSAGE_VIOLATION'). """ code: String! """ This object represents the acceptable characters and length for inquiry message input. """ constraint: OrderInquiryMessageConstraint! """ This boolean field indicates whether the inquiry message contains invalid characters or not. If 'true', the message contains invalid characters. """ containsInvalidCharacters: Boolean! """ The human-readable error message describing the issue. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean field indicates whether the inquiry message exceeded the allowed length or not. If 'true', the message exceeds the allowed length. """ exceededLength: Boolean! } """ This type represents a business error that occurs when the provided order inquiry identifier does not match any known inquiry. This error is returned when the inquiry referenced in the input does not exist, is not accessible to the caller, or has been deleted. """ type OrderInquiryNotFoundError implements BusinessError { """ The unique identifier for this specific error type - `ORDER_INQUIRY_NOT_FOUND_ERROR`. """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 500 characters """ errorMessage: String! """ The unique identifier of the requested inquiry that was not found. """ inquiryId: ID! } """ This type represents an inquiry that is open and awaiting responder action. """ type OrderInquiryOpen implements OrderInquiryStatus { """ A stable, machine-readable identifier for the 'open' inquiry status. In this case, `OPEN`. """ code: String! """ The human-readable text of the `open` inquiry status. **Maximum length**: 100 characters """ displayText: String! } """ The union type for the **orderInquiry** query. This type covers two possible scenarios: success or failure. If the **orderInquiry** query succeeds, details about the specified inquiry will be returned. If the **orderInquiry** query fails, an array of blocking errors detailing why the query failed will be returned, and the specified inquiry will not be retrieved. If a query fails, there will always be at least one blocking error. """ union OrderInquiryOutput = OrderInquiryNotFoundError | OrderInquirySuccess """ This type represents a `provide info` action available during an inquiry. This action is shown when the system or participant has requested additional information (e.g., tracking details, signature confirmation) from a participant. """ type OrderInquiryProvideInfoAction implements OrderInquiryAction { """ A stable, machine-readable identifier for the `provide info` inquiry action (e.g., `PROVIDE_INFO`). """ code: String! """ The human-readable text for the 'provide info' inquiry action (e.g., `Upload Signature`, `Provide Tracking Info`). **Maximum length**: 100 characters """ displayText: String! } """ This type represents the `referral action` available during an inquiry. This action becomes available when the participant is eligible to escalate the inquiry for eBay's help or further review, and includes the list of valid referral reasons that may be selected by the user. """ type OrderInquiryReferralAction implements OrderInquiryAction { """ A stable, machine-readable identifier for the `referral` inquiry action (e.g., `REFER_INQUIRY_TO_EBAY`). """ code: String! """ The human-readable text for the `referral` inquiry action. **Maximum length**: 100 characters """ displayText: String! """ This array returns a list of referral reasons available for the actor when submitting a referral request. Each reason is represented as a type in the **OrderInquiryReferralReason** union. **Note**: This field is required and will always contain at least one valid reason when a referral action is available. """ referralReasons: [OrderInquiryReferralReason!]! } """ This type represents the constraints defined for inquiry referral input. """ type OrderInquiryReferralConstraint { """ This array returns a list of valid referral reason codes that can be used when submitting a inquiry referral. """ validReferralReasons: [OrderInquiryReferralReason!]! } """ This union represents the reasons a participant may use to refer an order inquiry to eBay. Each reason type conveys specific context for the referral and assists eBay in determining the appropriate resolution. All types in this union implement the `PostPurchaseCaseReferralReason` interface. """ union OrderInquiryReferralReason = BuyerConfirmedDelivery | ConfirmedDelivery | HeldAtCustoms | OtherReferral | RefundNotReceived | RefundedBuyer | ReplacementSent | SellerConfirmedShipment | UnableToReachAgreement | UnresponsiveTradingPartner """ This type represents the order inquiry referral reason input field violation. """ type OrderInquiryReferralViolation implements SubmitOrderInquiryReferralInputViolation { """ The machine-readable code (for example: `INQRY_REFERRAL_REASON_VIOLATION`). """ code: String! """ This object defines the constraints for inquiry referral input. """ constraint: OrderInquiryReferralConstraint! """ The human-readable error message describing the issue. **Maximum length**: 512 characters """ displayMessage: String! } """ This type represents a 'refund' action available during an inquiry. """ type OrderInquiryRefundAction implements OrderInquiryAction { """ A stable, machine-readable identifier for the `refund` inquiry action (e.g., `REFUND`). """ code: String! """ The human-readable text for the `refund` inquiry action. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a primary inquiry action that must be taken by a certain deadline. This type is typically used to highlight time-sensitive actions required from an actor. """ type OrderInquiryRespondByAction { """ The action that must be taken by the due date, specified by the associated **responseDueAt** object. """ respondAction: OrderInquiryAction! """ The deadline by which the action must be completed. """ responseDueAt: DateTime! } """ This type represents shipment tracking information for a fulfillment or delivery associated with the inquiry. """ type OrderInquiryShipmentTracking { """ The standardized carrier code (e.g., `UPS`, `USPS`, `FEDEX`) associated with the shipment. """ shippingCarrier: ShippingCarrier! """ The tracking number provided by the shipping carrier. """ trackingNumber: String! } """ This type represents the constraints defined for inquiry shipping carrier name input. """ type OrderInquiryShippingCarrierConstraint { """ The length of characters allowed for return shipping carrier input. """ characterLimit: InputTextLengthRange! } """ This type represents the order inquiry shipping carrier input field violation. """ type OrderInquiryShippingCarrierNameViolation implements ProvideShipmentInfoForInquiryInputViolation { """ The machine-readable code (for example: `INQRY_SHIPPING_CARRIER_NAME_VIOLATION`). """ code: String! """ This object indicates the acceptable characters and length for carrier name input. """ constraint: OrderInquiryShippingCarrierConstraint! """ This boolean indicates whether the carrier name contains invalid characters or not. If `true`, the carrier name contains invalid characters. """ containsInvalidCharacters: Boolean! """ The human-readable error message describing the issue. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean indicates whether the carrier name exceeded the allowed length or not. If `true`, the carrier name exceeds the allowed length. """ exceededLength: Boolean! } """ This type represents the proof that the shipment was signed for at the time of delivery, is used as part of evidence for inquiries such as 'Item Not Received'. """ type OrderInquirySignatureConfirmation { """ A document containing signature confirmation proof, such as a delivery scan or signed receipt. This field is required if signature confirmation is being submitted. """ signatureConfirmationProof: OrderInquiryDocument! """ The tracking number associated with the shipment for which signature confirmation is provided. This field is required to associate the signature with a specific shipment. """ trackingNumber: String! } """ This enumerated type defines the fields that can be used to sort the list of order inquiries. """ enum OrderInquirySortField { """ This enum value indicates that the response will be sorted by the date and time when the order inquiry was created. """ CREATED_AT } """ This input specifies how the list of order inquiries should be sorted in the response. """ input OrderInquirySortInput { """ This field specifies how the returned order inquiries are sorted (e.g., `CREATED_AT`). The sorting defaults to `CREATED_AT` if not specified. """ sortField: OrderInquirySortField! = CREATED_AT """ This field specifies the sort order of the response: `ASC` for ascending, `DESC` for descending. The sorting defaults to `ASC` if not specified. """ sortOrder: SortOrder! = ASC } """ This interface is used to provide the status for an inquiry request. """ interface OrderInquiryStatus { """ A stable, machine-readable identifier for the inquiry status. Example values include `OPEN`, and `CLOSED`. """ code: String! """ The human-readable text of the inquiry status. **Maximum length**: 100 characters """ displayText: String! } """ This type is used for a successful **orderInquiry** query. On success, information about the specified inquiry will be returned. """ type OrderInquirySuccess { """ This object returns details about the specified inquiry, such as its inquiry status, refund status, review/resolution flow, buyer/seller information, and shipment activity. """ orderInquiry: OrderInquiry } """ This type represents the constraints defined for inquiry tracking number input. """ type OrderInquiryTrackingNumberConstraint { """ The length of characters allowed for inquiry tracking number input. """ characterLimit: InputTextLengthRange! } """ This type represents the order inquiry tracking number input field violation. """ type OrderInquiryTrackingNumberFieldViolation implements ProvideShipmentInfoForInquiryInputViolation { """ The machine-readable code (for example: `INQRY_TRACKING_NUMBER_VIOLATION`). """ code: String! """ This object indicates the acceptable characters and length for inquiry tracking number input. """ constraint: OrderInquiryTrackingNumberConstraint! """ This boolean indicates whether the tracking number contains invalid characters or not. If `true`, the tracking number contains invalid characters. """ containsInvalidCharacters: Boolean! """ The human-readable error message describing the issue. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean indicates whether the tracking number is already in use for another order or not. If `true`, the tracking number is a duplicate. """ duplicateTrackingNumber: Boolean! """ This boolean indicates whether the tracking number exceeded the allowed length or not. If `true`, the tracking number exceeds the allowed length. """ exceededLength: Boolean! } """ This type represents a single entry within an order, which can be a product, service, or other purchasable entity. """ type OrderLineItem { """ The unique identifier of an order line item. """ orderLineItemId: ID! """ This field will show any buyer notes to the seller. """ buyerNotes: String """ This object will show cancellation details if the line item was/is involved in an order cancellation. """ cancellations: [CancellationAdjustment!] """ The source from which this line item originated during checkout, such as a commitment or a purchase quote, it could be null if it was through buy it now. """ checkoutSource: OrderCheckoutSource """ The timestamp when the order line item was initially created. """ createdAt: DateTime! """ The fulfillment execution related to this line item. """ fulfillmentExecution: [LogisticsFulfillmentExecution!] """ Detailed gift information for the line item, if applicable. """ giftSummary: GiftSummary """ This object will show order inquiry details if the line item was/is involved in an Item Not Received (INR) inquiry. """ inquiries: [OrderInquiry!] """ The line item purchased — can be a product, service, or other purchasable entity. """ lineItem: OrderLineItemSource! """ Additional optional features or services associated with the line item. """ lineItemAddOn: LineItemAddOnService """ All tags associated with the order. """ lineItemTags: PurchaseTags """ The full set of calculated monetary totals associated with the order line item, covering all relevant amounts in supported currencies. """ lineItemTotals: OrderLineItemTotals! """ A list of line items that are related to this one through a logical or business relationship. """ linkedLineItems: [LinkedLineItem!] """ The order to which this line item belongs. """ orderReference: Order! """ A list of discounts applied to the line item. """ priceDiscounts: [PriceDiscount!] """ The eBay marketplace from which this purchase originated. """ purchaseMarketplace: Marketplace! """ Information related to any refund associated with the order line item, if applicable. """ refunds: [RefundAdjustment!] """ Information related to any return associated with the order line item, if applicable. """ returns: [ReturnAdjustment!] """ This array will show any rewards applied towards the line item. """ reward: [OrderReward!] """ The user who listed or owns the product, service, or purchasable entity. """ seller: User! """ This object shows tax details applicable for the line item. """ taxes: OrderTaxes! """ The timestamp when the order line item was last updated. This timestamp captures changes made to order details, state, or related information. """ updatedAt: DateTime! } """ This type represents ineligibility reasons at different dimensions that prevent cancellation of order line item(s). The `ineligibilityReasons` field lists the order line item level reasons the cancellation cannot be performed at this time. **Note**: Clients should use **errorCode** and **ineligibilityReasons** for programmatic handling; **errorMessage** is intended for display. """ type OrderLineItemCancellationEligibilityError implements BusinessError { """ The machine-readable error code for this business error. For this type, the value is `CNCL_ORDER_LINE_ITEM_ELIGIBILITY_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more order line items that are not eligible for cancellation. This list provides one or more ineligibility reasons, each with the specific line item IDs that are blocked. """ ineligibilityReasons: [OrderLineItemCancellationIneligibilityReason!]! } """ This interface represents reasons at the order line item level that make a cancellation ineligible, thereby blocking the creation of a cancellation. **Note**: Additional interfaces may be added to this union in the future; clients should handle unrecognized interfaces gracefully. """ interface OrderLineItemCancellationIneligibilityReason { """ The machine-readable code for ineligibility reason. """ code: String! """ A human-readable failure reason for display purposes. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ One or more order line item IDs whose cancellation was blocked by line item level eligibility rules. """ orderLineItemIds: [ID!]! } """ This error type indicates that the specified line item in the request does not exist. """ type OrderLineItemNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_ORDER_LINE_ITEM_NOT_FOUND` """ errorCode: String! """ A human-readable error message. **Maximum length**: 512 characters """ errorMessage: String! """ The requested line item was not found. """ requestedLineItemIds: [ID!]! } """ This type represents a complete failure for the **orderLineItemsByIds** query. **Note**: No line items were successfully retrieved. """ type OrderLineItemsByIdsCompleteFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `LINE_ITEM_BY_IDS_COMPLETE_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more line items that failed to be retrieved. """ failures: [LineItemsByIdsError!]! } """ The input type to search for order line items by IDs. """ input OrderLineItemsByIdsInput { """ This array is used to specify a list of up to 100 unique identifiers of line items, and the orders associated with these line item IDs will be returned. **Note**: Each unique line item ID is delimited with a comma. """ lineItemIds: [ID!]! } """ This union type defines the response payload for the **orderLineItemsByIds** query. On success, the response includes a **OrderLineItemsByIdsSuccess** type object; on failure, it returns a list of line items list or a complete failure. """ union OrderLineItemsByIdsOutput = OrderLineItemsByIdsCompleteFailure | OrderLineItemsByIdsPartialFailure | OrderLineItemsByIdsSuccess """ This type represents a partial success and partial failure for an **orderLineItemsByIds** query, including line items successfully retrieved and those that could not be retrieved. """ type OrderLineItemsByIdsPartialFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `LINE_ITEM_BY_IDS_PARTIAL_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more line items that could not be retrieved. """ failures: [LineItemsByIdsError!]! """ A list of one or more successfully retrieved order line items. """ lineItems: [OrderLineItem!]! } """ This type represents the successful result of a **orderLineItemsByIds** query, including all line items that were successfully retrieved for the provided line item IDs. """ type OrderLineItemsByIdsSuccess { """ A list of one or more successfully retrieved order line items. """ lineItems: [OrderLineItem!]! } """ Union of purchase entity types that can serve as the source of a line item. """ union OrderLineItemSource = ContractListingItem | DonationItem | ShippingLabelItem """ This type provides information about monetary totals associated with an order line item, with each field representing a distinct financial value expressed as an AmountSet type which supports multiple currencies. """ type OrderLineItemTotals implements LineItemTotals { """ The total cost of all items. """ lineItemTotal: AmountSet! """ The total fee associated with processing, packing, and preparing a line item for shipment, separate from the actual shipping cost. """ packageHandlingTotal: AmountSet! """ The total cost of delivering the purchased items from the seller to the customer's specified address. """ shippingTotal: AmountSet! """ The total cost of all items before any additional charges or discounts are applied. """ subtotal: AmountSet! """ The total amount of tax applied to this line item. It is typically calculated based on tax laws related to the buyer’s shipping address. """ taxTotal: AmountSet! } """ This type indicates that the specified order cannot be found. """ type OrderNotFoundError implements BusinessError { """ The globally unique error code for the business error type. This field always returns: `ORDER_NOT_FOUND`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the order that was not found. """ orderId: ID! } """ This type indicates that the order was created marking the start of the order lifecycle. """ type OrderPlaced implements Labeled { """ A human-readable description of the order's state. """ label: String! } """ This type represents the return of an item back to the seller or eBay. A return is a post-purchase event allowing a buyer to return an item to the seller or eBay, for a refund or exchange. **Note**: Returns are handled at the order line item level. Each return is associated with a single line item (not the entire order). """ type OrderReturn { """ The unique identifier of a return request. """ returnId: ID! """ This object represents actions available for the buyer on this return based on the return state and role. This field is nullable. It may be null for any of the following reasons: - the buyer is not a participant - no actions are currently available based on the return state and role - the return is in a terminal state (for example, `CLOSED`) """ buyerAvailableActions: AvailableReturnActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.return.read" "https://api.ebay.com/oauth/api_scope/buy.return" ]) """ This field is returned only when the return request has been referred to eBay and has a case filed against it. """ cases: [PostPurchaseCase!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.resolution.read" "https://api.ebay.com/oauth/api_scope/buy.resolution.read" ]) """ This timestamp indicates when the return request was closed. This field is only returned when the return request is closed. """ closedAt: DateTime """ An optional array listing refunds that are associated with the return, present if there are refunds associated with the return. """ refunds: [Refund!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.refund.read" "https://api.ebay.com/oauth/api_scope/buy.refund.read" ]) """ This timestamp indicates when the return was requested. """ requestedAt: DateTime! """ This value indicates which party (such as the buyer or the seller) initiated the return. Applicable values: * `BUYER`: Buyer requested the return * `SELLER`: Used for in-store returns * `EBAY`: Indicates returns initiated by eBay Partner (Authentication Provider, Logistic Partner, eBay Admin, Customer Support, or similar) """ requester: PostPurchaseActorRole! """ This object provides details on the fulfillment of the return. It is optionally present only if the item needs to be returned. """ returnFulfillment: ReturnFulfillment """ An array listing the line items attached to this return. """ returnLineItems: [ReturnLineItem!]! """ This optional object provides the complete negotiation conversation for a return, present if an offer has been submitted for the return. """ returnNegotiation: ReturnNegotiation """ This object represents the actions available for the seller on this return based on the return state and role. This field is nullable for any of the following reasons: - the seller is not a participant - no actions are currently available based on the return state and role - the return is in a terminal state (in other words, `CLOSED`) """ sellerAvailableActions: AvailableReturnActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" ]) """ This object indicates the status of the return in both a code and a human-readable description. """ status: ReturnStatus! """ The refund estimation for the return entity. If **refundEstimate** is not requested on an order, this will not be calculated and provided. """ refundEstimate( """ This array is returned if there are priceline eligibility overrides for the refund estimate. To exclude a priceline that a policy would normally include, include the **adjustmentType** field in the query and sets its value to DEDUCTION. For example, it might be used to exclude SHIPPING_COST for a remorse return when the seller chooses to keep the shipping cost. """ pricelineAdjustments: [PricelineAdjustmentInput] ): RefundEstimate } """ This type represents a document associated with an order return. This can include buyer-uploaded images provided during return creation, return shipping labels, and other documents linked to the return. """ type OrderReturnDocument { """ A unique identifier for the document submitted for the return request. """ documentId: ID! """ The original or display name of the document as provided during upload. **Maximum length**: 100 characters """ documentName: String! """ The timestamp indicating when the document was uploaded. """ uploadedAt: DateTime! } """ This input type specifies filtering and sorting criteria used to narrow down the set of order returns. Filters are combined using a logical **AND**, meaning an item must satisfy every filter you provided to be included. """ input OrderReturnFilterInput { """ This field specifies the creation date range in which to retrieve order returns. If omitted or sent as null, the query returns using the default value. **Default**: Calculates and uses the last 30 days """ dateRange: DateTimeRangeInput """ This field specifies an enumerated value to retrieve order returns that match preset filters, such as `AWAITING_ACTION_FROM_SELLER`. If omitted, the query filters using the field's default value. **Default**: AWAITING_ACTION_FROM_SELLER (immediate action is required by seller) """ presets: OrderReturnFilterPreset! = AWAITING_ACTION_FROM_SELLER } """ This enumerated type provides preset filters to use when filtering OrderReturns. """ enum OrderReturnFilterPreset { """ This value indicates that the OrderReturn is awaiting a buyer action. This indicates any of the following actions: - awaiting initiation of return shipment - awaiting response to a price reduction offer """ AWAITING_ACTION_FROM_BUYER """ This value indicates that the OrderReturn is referred to eBay and awaiting eBay decision and action. """ AWAITING_ACTION_FROM_EBAY """ This value indicates that the OrderReturn is awaiting a seller action. This indicates any of the following actions: - awaiting approval of OrderReturn - awaiting to provide return fulfillment details to buyer - awaiting providing a refund after return fulfillment is complete """ AWAITING_ACTION_FROM_SELLER """ This value indicates that the OrderReturn is closed. This indicates any of the following actions: - Return Resolved with Return Shipment and Refund (or) with Refund only - Return Cancelled by Buyer (or) by eBay - Return Declined by Seller (or) by eBay """ CLOSED """ This value indicates that the OrderReturn is open, but have no pending actions to the buyer or the seller. """ IN_PROGRESS } """ This input type provides filtering and sorting parameters for the first page of a return query. **Note**: The same filters and sort order are also used when returning subsequent pages using cursor-based pagination. """ input OrderReturnInitialPageInput { """ This object specifies filtering options for order returns, including the action or status filters (such as `AWAITING_ACTION_FROM_SELLER` or `IN_PROGRESS`) and a date-range filter. If either field is omitted, the query filters using that field's default value. **Default**: Returns all open returns from the last 30 days that currently require immediate seller action """ filter: OrderReturnFilterInput! """ This object specifies sorting options for order returns including the field to sort by such as `REQUESTED_AT`, and the order of the items returned. Ascending sorts by end time from oldest to newest, while descending sorts by end time from newest to oldest. **Default**: Sort returned order line items by `REQUESTED_AT` in ascending order (`ASC`) """ sort: OrderReturnSortInput! } """ This input type defines the payload for the **orderReturn** query which specifies the return ID to return information about a specific return. """ input OrderReturnInput { """ The unique identifier of a specific return. Use this ID to specify the information for a specific return. """ returnId: ID! } """ This base response union type for the **orderReturn** query includes the result and any errors encountered. """ union OrderReturnOutput = OrderReturn | ReturnNotFoundError """ This enumerated type defines the sorting order for the returned orders. """ enum OrderReturnSortField { """ Sort by the date the return was requested. """ REQUESTED_AT } """ This input type is used to define the field and sort direction used to order the returned line item results. """ input OrderReturnSortInput { """ Specifies the field by which the order line item results are sorted. **Default**: Sorts by the date the return was requested """ sortField: OrderReturnSortField = REQUESTED_AT """ Specifies the sort direction of the order lines items returned in the result, either: * `ASC` ascending (oldest to newest) * `DESC` descending (newest to oldest) **Default**: `ASC` """ sortOrder: SortOrder = ASC } """ This type represents the reward information associated with an order. """ type OrderReward { """ The list of bonuses included in this reward. """ bonuses: [OrderRewardBonus!] """ The expiration date and time of the reward. """ expiringAt: DateTime """ Additional message or note related to the reward. """ message: String """ The name of the reward program. """ programName: String """ The type or category of the reward program. """ programType: String } """ This type represents the details of a reward bonus. """ type OrderRewardBonus { """ The monetary amount associated with this reward bonus. """ amount: AmountSet! """ The description or details of the reward bonus. """ description: String } """ This type provides order views for the authenticated user, and provides cursor-based pagination for both buyer and seller order lists. Cursors represent the query state for consistent paging even under concurrent updates. """ type Orders { """ This array retrieves a list of orders for the current user as buyer. This array requires filters and pagination info in the input, and generates a runtime cursor representing the query state for subsequent pages. """ buyerOrders(input: OrdersInput!): PaginatedOrders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" ]) """ This array retrieves a list of orders for the current user as seller. This array requires filters and pagination info in the input, and generates a runtime cursor representing the query state for subsequent pages. """ sellerOrders(input: OrdersInput!): PaginatedOrders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) } """ This type represents a complete failure for the **ordersByIds** query, including those orders that could not be retrieved. **Note**: No orders were successfully retrieved. """ type OrdersByIdsCompleteFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `ORDERS_BY_IDS_COMPLETE_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more orders that could not be retrieved. """ failures: [OrdersByIdsError!]! } """ This error type represents details about an order retrieval failure for an order ID. """ type OrdersByIdsError { """ A human-readable description of the error message. This string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The machine-readable error code for this business error. For this type, the available values are: - `INVALID_INPUT`: The input data is invalid; retry will not succeed. - `TEMPORARILY_NOT_AVAILABLE`: The service is temporarily unavailable; retry may succeed. """ errorCode: String! """ The unique identifier of the order that could not be retrieved. """ inputOrderId: ID! """ When `true`, the operation can be retried and may succeed. When `false`, a retry will not succeed. """ retryable: Boolean! } """ This input type defines the payload for the **ordersByIds** query, used to retrieve orders by their unique IDs. Supports requesting 1 to 100 orders per call. **Note**: Only non-null order IDs are accepted. """ input OrdersByIdsInput { """ A list of one or more unique order IDs to retrieve. This field accepts up to 100 unique order IDs. **Note**: Each unique order ID in the array should be delimited by a comma. """ orderIds: [ID!]! } """ This union type defines the response payload for the **ordersByIds** query. On success, the response includes a **OrdersByIdsSuccess** type object; on failure it returns a partial orders list or a complete failure. """ union OrdersByIdsOutput = OrdersByIdsCompleteFailure | OrdersByIdsPartialFailure | OrdersByIdsSuccess """ This type represents a partial success and partial failure for an **ordersByIds** query, including orders successfully retrieved and those that could not be retrieved. """ type OrdersByIdsPartialFailure implements BusinessError { """ The machine-readable error code for this business error. Value: `ORDERS_BY_IDS_PARTIAL_FAILURE`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more orders that could not be retrieved. """ failures: [OrdersByIdsError!]! """ A list of one or more successfully retrieved orders. """ orders: [Order!]! } """ This type represents the successful result of a **ordersByIds** query, including all orders that were successfully retrieved for the provided order IDs. """ type OrdersByIdsSuccess { """ A list of one or more successfully retrieved orders. """ orders: [Order!]! } """ This input type filters orders by a specific **dateType** within the specified date-time range. """ input OrdersDateRangeInput { """ The date-time range to apply to the selected **dateType** value. """ dateTimeRange: DateTimeRangeInput! """ The type of date to filter, such as `CONFIRMED` or `UPDATED`. """ dateType: OrdersDateType! } """ This enumerated type represents the type of order date being referenced. """ enum OrdersDateType { """ This value indicates the date and time when the order was confirmed. """ CONFIRMED """ This value indicates the most recent date and time the order was updated. """ UPDATED } """ This type represents the Service Partner Account to which the order's collected service fee will be distributed. """ type OrderServicePartnerAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! } """ This input type defines filters to narrow the orders returned by a search. Two kinds of filters are available: - State filters: Determines whether orders in a specific state are included (`true`) or excluded (`false`) from the results. - Attribute filters: Determines whether orders are filtered by funding or fulfillment status """ input OrdersFilterInput { """ Filters orders by fulfillment status: - `true`: Include only fulfilled orders. - `false`: Include only unfulfilled orders. - `null`: Include both fulfilled and unfulfilled orders. """ fulfilled: Boolean """ Filters orders by funding status: - `true`: Include only funded orders. - `false`: Include only unfunded orders. - `null`: Include both funded and unfunded orders. """ funded: Boolean """ Whether to include abandoned orders. **Default**: `false`. """ includeAbandoned: Boolean! = false """ Whether to include canceled orders. **Default**: `false`. """ includeCancelled: Boolean! = false """ Whether to include confirmed orders. **Default**: `true`. """ includeConfirmed: Boolean! = true """ Whether to include orders that have been placed but not yet confirmed. **Default**: `false` """ includePlaced: Boolean! = false """ This filter restricts results to orders associated with a specific listing ID. When `null`, orders from all listings are included. Use this filter to fetch orders related to a single ID. """ listingId: ID } """ This input type provides filters for fetching the first page of orders, including the required date range (which includes the type of date) and sorting criteria, and also optional filters. """ input OrdersFirstFilterInput { """ The date range within to filter returned orders. """ dateRange: OrdersDateRangeInput! """ Optional additional filters to refine the results. """ filter: OrdersFilterInput! = { includeAbandoned: false includeCancelled: false includeConfirmed: true includePlaced: false } """ This object specifies sorting options for preferences for the returned order list. """ sort: OrdersSortInput! } """ This input type provides filtering and sorting parameters for the first page of an orders query. **Note**: The same filters and sort order are also used when returning subsequent pages using cursor-based pagination. """ input OrdersFirstPageInput { """ Filters required to fetch the first page of orders. """ filter: OrdersFirstFilterInput! """ The number of orders to return in the first page. **Minimum value**: 1 **Maximum value**: 200 """ maxPageSize: Int! } """ This type represents the Shipping Partner Account to which the order's collected shipping fee will be distributed. """ type OrderShippingPartnerAccount implements FundAccount { """ The unique identifier of the domain for the account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! } """ This type contains the input for order queries. Provide exactly one field, either `ordersFirstPage` or `ordersPage`, in each request. """ input OrdersInput { """ This field contains parameters for fetching the initial page of results. """ ordersFirstPage: OrdersFirstPageInput """ This field contains parameters for fetching subsequent pages using a cursor. **Note**: The **maxPageSize** field in **PageInfoInput** must be between 1 and 100, inclusive. """ ordersPage: PageInfoInput } """ This type provides cursor-based pagination for both buyer and seller order lists. Cursors represent the query state for consistent paging even under concurrent updates. """ type OrdersOutput { """ This object returns list of orders for the current user as buyer. This object requires filters and pagination info in the input, and generates a runtime cursor representing the query state for subsequent pages. """ buyerOrders(input: OrdersInput!): PaginatedOrders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" ]) """ This object returns a list of orders for the current user as seller. This object requires filters and pagination info in the input, and generates a runtime cursor representing the query state for subsequent pages. """ sellerOrders(input: OrdersInput!): PaginatedOrders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) } """ This enumerated type defines how orders can be sorted for pagination. """ enum OrdersSortField { """ This value sorts by the datetime when the order was confirmed. """ CONFIRMED_AT """ This value sorts by the datetime when the order was last updated. """ UPDATED_AT } """ This input type specifies how the list of orders should be sorted in the response. """ input OrdersSortInput { """ The field by which to sort the orders (e.g., CONFIRMED_AT). """ sortField: OrdersSortField! """ The direction of sorting: ASC for ascending, DESC for descending. """ sortOrder: SortOrder! } """ This union type represents the various states of an order. The following states are possible: - OrderPlaced - OrderConfirmed - OrderCancelled - OrderAbandoned The following transitions between the states are possible: - OrderPlaced → OrderConfirmed - OrderPlaced → OrderCancelled - OrderPlaced → OrderAbandoned - OrderConfirmed → OrderCancelled """ union OrderState = OrderAbandoned | OrderCancelled | OrderConfirmed | OrderPlaced """ This type is used to provide details on each tax charge applied to a purchase contract. """ type OrderTax { """ The name/type of tax. """ name: String! """ The sales tax method used (e.g. eBay Sales Tax Engine). **Note**: This field is only applicable if the tax charge was for sales tax. """ salesTaxMethod: String """ The sales tax rate that was used to calculate a sales tax charge. **Note**: This field is only applicable if the tax charge was for sales tax. """ salesTaxPercentage: Decimal """ The state or province of the tax jurisdiction. **Note**: This field is only applicable if the tax charge was for sales tax. """ salesTaxProvinceOrState: DisplayableId """ The amount of the tax charge. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ taxAmount: AmountSet! } """ This type is used to identify the tax account to which the tax collected for the order will be distributed to. """ type OrderTaxAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account used for fund transfers. """ identifier: ID! """ This object provides details on the tax jurisdiction. """ taxJurisdiction: OrderTaxJurisdiction! } """ This type shows all of the tax details applicable to the purchase quote. """ type OrderTaxes { """ This boolean field indicates whether or not one or more tax charges involved sales tax that eBay collects and remits to the applicable tax authority for the tax jurisdiction. """ eBayCollectAndRemitTax: Boolean! """ This object shows the buyer's tax address on file with eBay, and can be used by the seller for tax purposes """ taxAddress: PurchaseAddress """ This array shows the list of all taxes applied to the purchase quote, and may include sales tax, VAT, or other taxes. """ taxBreakdown: [OrderTax!] } """ This type represents the tax jurisdiction for the order. """ type OrderTaxJurisdiction { """ The city associated with the tax jurisdiction. **Note**: A null value indicates that the tax jurisdiction is not associated with a city. **Maximum length**: 50 characters """ city: String """ The two-letter code for the country associated with the tax jurisdiction. """ countryCode: CountryCode """ The unique identifier of the tax jurisdiction. """ id: ID! """ The postal code associated with the tax jurisdiction. **Note**: A null value indicates that the tax jurisdiction is not associated with a postal code. **Maximum length**: 20 characters """ postalCode: String """ The province or state associated with the tax jurisdiction. **Note**: A null value indicates that the tax jurisdiction is not associated with a province or state. **Maximum length**: 10 characters """ provinceOrStateCode: String } """ This type defines a collection of monetary totals associated with an order. Each field represents a distinct financial value and is expressed as an **AmountSet** to support multiple currencies. """ type OrderTotals { """ The buyer's current running total for the order. This amount reflects the cumulative cost the buyer has paid, accounting for any discounts, taxes, shipping updates, or partial refunds known at the time of calculation. It may change as further adjustments are applied. """ buyerRunningTotal: AmountSet @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" ]) """ The complete cost of the order before any payments are made. """ orderTotal: AmountSet! """ The total fee associated with processing, packing, and preparing an order for shipment, separate from the actual shipping cost. """ packageHandlingTotal: AmountSet! """ The seller's current running total for the order. This represents the seller's in-progress net proceeds — the amount expected to be received after deducting applicable eBay fees, taxes collected on the seller's behalf, discounts, and refunds known at the time of calculation. This value may continue to update as additional adjustments are applied. """ sellerRunningTotal: AmountSet @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ The total cost of delivering the purchased items from the seller to the customer's specified address. """ shippingTotal: AmountSet! """ The total cost of all items in a customer’s shopping cart before any additional charges or discounts are applied """ subtotal: AmountSet! """ The total amount of tax applied to an order. It is typically calculated based on tax laws related to the buyer’s shipping address. """ taxTotal: AmountSet! } """ This type indicates that cancellation is needed for a reason not covered by a specific other type. """ type OtherCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `OTHER`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents any other reason not covered by specific types. """ type OtherReferral implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `OTHER_REFERRAL`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates any other reason not covered by specific categories. """ type OtherReferralReason implements PostPurchaseCaseReferralReason { """ A machine-readable reason code: `OTHER`. """ code: String! """ A human-readable case referral reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that item is being returned for other reasons not listed here, and displays as **Other**. """ type OtherReturnReason implements ReturnReason { """ A machine-readable reason code: `OTHER`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents the reason used by seller when the item(s) sold under the contract are out of stock. """ type OutOfStockCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `OUT_OF_STOCK`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to override the shipping costs for shipping service options defined in the fulfillment business policy being used for the listing. The shipping costs provided will only affect the listing and will not update the fulfillment business policy. """ type OverrideShippingOptions { """ The cost of shipping each additional item if the same buyer purchases multiple quantity of the same line item. If this field is null there is no additional unit shipping cost. """ additionalUnitShippingCostAmount: ConvertedAmount """ This field specifies whether the seller is supporting international shipping for the listing. The value of this field will be `false` if the shipping service is a domestic shipping service, and `true` if it is an international shipping service. This should not be null unless an error has occurred. Please see the error section of the response for more details """ internationalShippingOption: Boolean """ The integer value specified here identifies the shipping service in the fulfillment business policy whose cost value(s) will be overridden. This should be a positive integer from 1 to 4 if overriding a shipping service option that ships to locations within the marketplace or from 5 to 9 if overriding a shipping service option that ships to location outside of the marketplace. A rank value of `1` means it is the first shipping option displayed in the View Item page. """ rank: Int """ This field is used to override the shipping cost set in the fulfillment business policy for the marketplace and non-marketplace shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost for the line item. """ shippingCostAmount: ConvertedAmount } """ This input type is used to provide pagination parameters. These parameters control the number of results returned and navigate through paginated data. """ input PageInfoInput { """ The maximum number of items to return per page. Used to limit the size of result sets. """ maxPageSize: Int! """ The cursor string for pagination, used to fetch the next or previous page of results. """ pageCursor: String } """ This type is used to display a list of a seller's or a buyer's item commitments that match search criteria for an **itemCommitments** query. The **pagination** object will have string values that can be used to toggle to the next or previous page of results if there are multiple pages of results. """ type PaginatedItemCommitments { """ This array returns a list of a seller's or a buyer's item commitments that match search criteria. If the **itemCommitments** query produced more than one page of results, the string values in the **pagination** object can be used to toggle to the next or previous page of results in a subsequent query. """ itemCommitments: [ItemCommitment!]! """ This object has string values that can be used in the **pageCursor** field of a query to retrieve the next or previous page of results if there are multiple pages of results. """ pagination: Pagination! } """ This type represents a page of orders and includes a list of orders and pagination information. """ type PaginatedOrders { """ The list of orders in the current page. """ orders: [Order!]! """ This object includes pagination information, including the runtime cursor and page availability. """ pagination: Pagination! } """ This type is used to display a list of a seller's or a buyer's purchase quotes that match search criteria for a **purchaseQuotes** query. The **pagination** container will have string values that can be used to toggle to the next or previous page of results if there are multiple pages of results. """ type PaginatedPurchaseQuotes { """ This object has the string values that can be used in the **pageCursor** field of a query to retrieve the next or previous page of results if there are multiple pages of results. """ pagination: Pagination! """ This array has the list of a seller's or a buyer's purchase quotes that match search criteria. If the **purchaseQuotes** query produced more than one page of results, the string values in the **pagination** container can be used to toggle to the next or previous page of results in a subsequent query. """ purchaseQuotes: [PurchaseQuote!]! } """ This type contains the string values that can be used in the **pageCursor** field of a query to retrieve the next or previous page of results if there are multiple pages of results. """ type Pagination { """ The string value in this field can be used in the **pageCursor** field of a query to retrieve the next page of results if there are additional pages of results for the currently configured query. **Note**: This field is returned as empty if there is not an additional page of results. """ nextCursor: String """ The string value in this field can be used in the **pageCursor** field of a query to retrieve the previous page of results if there is a previous page of results for the currently configured query. **Note**: This field is returned as empty if there is no previous page of results. """ previousCursor: String } """ This input type controls the maximum number of listings to be displayed on each page data, as well as the page number of the page of data currently being viewed. """ input PaginationInput { """ This integer value specifies the maximum number of entries to return in a single page of data. This value, along with the number of entries that match the input criteria, determines the total number of pages of data that is being returned. **Note**: This field should only be used/included in the initial pagination query. """ maxPageSize: Int """ Specifies the page number of the page of data to be displayed. This value is a positive integer equal to, or less than, the total number of pages of data returned by the initial request. For example, if 75 pages of data are available for display following the original query, to view data on page 18, enter `18` for this field. **Note**: This field should not used/included in the initial pagination query. """ pageCursor: String """ This field is the integer value corresponding to the numeric string specified by `pageCursor`. `pageIndex` should always be provided with `pageCursor`. **Note**: This field should not used/included in the initial pagination query. Refers to a page of data within the collection of data implied by pageCursor. `pageIndex` should always be provided with pageCursor, and like pageCursor should not be provided in an initial pagination query. """ pageIndex: Int } """ This type is used to indicate when additional pages of returned data are available for viewing. """ type PaginationOutput { """ When this string is displayed it indicates that a subsequent page of data is available for viewing. When no additional subsequent pages of data are available for viewing, `nextCursor` is null. """ nextCursor: String """ When this string is displayed it indicates that a previous page of data is available for viewing. When no additional previous pages of data are available for viewing, `previousCursor` is null. """ previousCursor: String """ This field displays the total number of data elements included in the returned payload. If `totalElements` is null, the total number of elements is not known. """ totalElements: Int """ This field displays the total number of pages of data included in the returned payload. This is calculated by dividing `totalElements` by the specified `maxPageSize` value from an initial pagination query. If `totalPages` is null the total number of pages is not known. """ totalPages: Int } """ This error is returned when the pagination limit (maxPageSize) provided for the **sellerListingSearch** query exceeds the maximum allowed value. """ type PaginationPageSizeExceedError implements SellerListingSearchInputError { """ The actual page size provided. """ actualPageSize: Int! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum page size allowed. """ maxPageSize: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This error is returned when the combination of pagination parameters provided for the **sellerListingSearch** query would exceed the maximum fetch limit for the search. """ type PaginationTotalFetchLimitExceedError implements SellerListingSearchInputError { """ The calculated fetch count based on pagination parameters. """ calculatedFetchCount: Int! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum number of results that can be fetched. """ maxFetchLimit: Int! """ The page index used in the calculation. """ pageIndex: Int! """ The page size used in the calculation. """ pageSize: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type represents violations related to the partial refund item price. """ type PartialRefundItemPriceViolation implements ProposeKeepItemWithPartialRefundInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example: `ITEM_PRICE_PARTIAL_REFUND_VIOLATION`). """ code: String! """ This object defines the constraints for partial refund terms input. """ constraint: ReturnPartialRefundTermConstraint! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type indicates that the payee's payment was manually marked as paid by the seller. """ type PayeeMarkedPaid { """ This timestamp indicates when the payment was marked as paid. """ markedAt: DateTime } """ This type contains detailed monetary information related to the execution of a payment to the payee. """ type PayeeMonetaryExecution { """ The current balance associated with the payee. """ payeeBalance: Amount """ This array shows the list of payment actions that the payee is involved in. """ payeeExecutions: [MonetaryExecution!] """ The total amount successfully received by the payee. """ receivedAmount: Amount """ This object indicates whether the payee has received the expected funds. """ receivedState: MonetaryExecutionPaymentState } """ This union type provides information about payee's monetary execution record. This includes both standard monetary executions and manually marked-as-paid items. """ union PayeeMonetaryExecutionUnion = PayeeMarkedPaid | PayeeMonetaryExecution """ This type is used to provide details on executed payment(s) involved in the corresponding payment plan(s) in relationship to the payee. """ type PayeePaymentExecution implements PaymentExecution { """ This timestamp indicates the date and time when the payment execution was attempted. It is returned regardless of success or failure, but can be `null` if the payment execution was not attempted. """ attemptedAt: DateTime """ This timestamp indicates the date and time when the payment execution was completed. It is returned regardless of success or failure, but can be `null` if the payment execution was not completed. """ completedAt: DateTime """ The destination account of the payee which will receive the payment. """ destinationAccount: FundAccount! """ This object provides details on any active or released holds on payment execution. **Note**: This field is null if no hold is in place. """ paymentHoldState: PaymentHoldState """ The payment method that is used to fund the payment. """ paymentMethod: PurchasePaymentMethod! """ This object shows the current state of payment execution. """ state: PaymentsState! """ The total amount that is transferred from source account to destination account. """ total: AmountSet! } """ This type is used to provide details about a scheduled payment plan from the perspective of the payee. """ type PayeePaymentPlan implements PaymentPlan { """ The destination account of the payee which will receive the payment. """ destinationAccount: FundAccount! """ This timestamp indicates the deadline by which the payment must be completed. **Note**: May be `null` if no strict deadline is set. """ paymentDeadline: DateTime """ This array shows payment methods intended to fund this plan. **Note**: May be null if the information is unavailable. """ paymentMethods: [PurchasePaymentMethod!] """ This timestamp indicates the specific date and time when the payment is scheduled to occur. **Note**: May be `null` if the payment is not tied to a fixed schedule. """ scheduledFor: DateTime """ The total amount to be transferred from the source account to the destination account under this plan. """ total: AmountSet! } """ This interface provides the details on how the refund is distributed to the payees. """ interface PayeeRefundDistribution { """ This array returns a list of distribution execution associated with the refund. """ distributionExecutions: [RefundDistributionExecution!] """ This object provides the distribution state of a refund. """ distributionState: RefundDistributionState! } """ This type is used to indicate that the payer's payment was manually marked as paid by the seller. """ type PayerMarkedPaid { """ This timestamp indicates when when the payment was marked as paid. """ markedAt: DateTime } """ This type shows detailed monetary information related to the execution of a payment by the payer. """ type PayerMonetaryExecution { """ The total amount successfully paid by the payer. """ paidAmount: Amount """ This object indicates whether the payer's payment has been completed or is pending. """ paidState: MonetaryExecutionPaymentState """ The current balance associated with the payer. """ payerBalance: Amount """ This array shows the list of payment actions carried out by the payer. """ payerExecutions: [MonetaryExecution!] } """ This union type provides information about payer’s monetary execution record. This includes both standard monetary executions and manually marked-as-paid items. """ union PayerMonetaryExecutionUnion = PayerMarkedPaid | PayerMonetaryExecution """ This type is used to provide details on executed payments within the corresponding payment plans, in relation to the payer. """ type PayerPaymentExecution implements PaymentExecution { """ This timestamp indicates the date and time when the payment execution was attempted. It is returned regardless of success or failure, but can be `null` if the payment execution has not started. """ attemptedAt: DateTime """ This timestamp indicates the date and time when the payment execution was completed. It is returned regardless of success or failure, but can be `null` if the payment execution has not completed. """ completedAt: DateTime """ The payment method that is used to fund the payment. """ paymentMethod: PurchasePaymentMethod! """ The source account of the payer which will fund the payment. """ sourceAccount: FundAccount! """ This object shows the current state of payment execution. """ state: PaymentsState! """ The total amount transferred from the source account to the destination account. """ total: AmountSet! } """ This type is used to provide details about a scheduled payment plan from the perspective of the payer. """ type PayerPaymentPlan implements PaymentPlan { """ This timestamp indicates the deadline by which the payment must be completed. **Note**: May be `null` if no strict deadline is set. """ paymentDeadline: DateTime """ This array lists one or more payment methods intended to fund this plan. **Note**: May be `null` if the information is unavailable. """ paymentMethods: [PurchasePaymentMethod!] """ This timestamp indicates the specific date and time when the payment is scheduled to occur. **Note**: May be `null` if the payment is not tied to a fixed schedule. """ scheduledFor: DateTime """ The source account of the payer which will fund the payment. """ sourceAccount: FundAccount! """ The total amount to be transferred from the source account to the destination account under this plan. """ total: AmountSet! } """ This interface provides details on how the refund is being funded by a payer. """ interface PayerRefundFunding { """ This array returns a list of funding execution details associated with the refund. """ fundingExecutions: [RefundFundingExecution!] """ This object provides the funding state of the refund. """ fundingState: RefundFundingState! } """ This type defines a payment Adjustment. A payment adjustment refers to the process of modifying or correcting the amount paid for an order, typically due to issues such as pricing errors, additional charges, discounts, partial refunds, or changes in the order after the initial payment has been made. """ type PaymentAdjustment implements OrderAdjustment { """ The unique identifier of the order adjustment. """ adjustmentId: ID! """ The creation date of the order adjustment. """ createdAt: DateTime! """ The reference ID from the external system initiating the payment adjustment. """ externalReference: DomainIdentifier! """ The monetary details, if applicable, such as any replacement fees or adjustments. """ monetaryDetails: MonetaryDetails """ A list of one or more line items affected by the payment adjustment. """ orderLineItems: [OrderLineItem!]! """ The current state of the payment adjustment. """ state: OrderAdjustmentState! """ This timestamp indicates the last time that the adjustment was updated. """ updatedAt: DateTime! } """ This interface is used to provide details on executed payment(s) involved in the corresponding payment plan(s). """ interface PaymentExecution { """ This timestamp indicates the date and time when the payment execution was attempted. It is returned regardless of success or failure, but can be null if the payment execution has not started. """ attemptedAt: DateTime """ This timestamp indicates the date and time when the payment execution was completed. It is returned regardless of success or failure, but can be null if the payment execution has not completed. """ completedAt: DateTime """ The payment method that is used to fund the payment. """ paymentMethod: PurchasePaymentMethod! """ This object shows the current state of payment execution. """ state: PaymentsState! """ The total amount transferred from the source account to the destination account. """ total: AmountSet! } """ This union type provides details on any active or released payment holds. """ union PaymentHoldState = PaymentOnHold | PaymentReleased """ This enumerated type defines supported payment methods. """ enum PaymentMethods { """ This value indicates that the payment method will be cash, and the transaction will occur in-person. """ CASH_IN_PERSON """ This value indicates that the payment method will be cash, and the transaction will occur when the buyer picks up the item. """ CASH_ON_PICKUP """ This value indicates that the payment can be processed via money order. """ MONEY_ORDER """ This value indicates that a personal check is accepted for payment. """ PERSONAL_CHECK } """ This interface is used to identify a payment method used for payment. """ interface PaymentMethodType { """ The unique identifier of a payment method. """ code: ID! """ The descriptive name of a payment method. """ descriptiveName: String! """ The display name of a payment method (for example, `PAYPAL`, `EBAY_PAYMENTS`, or similar methods). """ displayName: String! } """ This type provides details on any active payment hold. """ type PaymentOnHold implements Labeled { """ This timestamp indicates the date and time when the hold is expected to be released. This may be null when the data is not yet available. """ expectedReleaseAt: DateTime """ This timestamp indicates the date and time when the hold was placed. """ holdPlacedAt: DateTime! """ The human-readable label for the active payment hold. **Maximum length**: 100 characters """ label: String! """ The reason for the payment hold. This field may be null if the reason is not available. """ reason: DisplayableId } """ This interface is used to provide details about a scheduled payment plan. """ interface PaymentPlan { """ This timestamp indicates the deadline by which the payment must be completed. **Note**: May be null if no strict deadline is set. """ paymentDeadline: DateTime """ This array shows payment methods intended to fund this plan. **Note**: May be null if the information is unavailable. """ paymentMethods: [PurchasePaymentMethod!] """ This timestamp indicates the specific date and time when the payment is scheduled to occur. **Note**: May be null if the payment is not tied to a fixed schedule. """ scheduledFor: DateTime """ The total amount to be transferred from the source account to the destination account under this plan. """ total: AmountSet! } """ This type defines the seller's payment configuration for a payment policy including accepted payment methods, immediate payment requirements, and motors specific settings (for example, a deposit requirement). """ type PaymentPolicyDetails { """ This array lists the seller's payment methods that are accepted for the payment business policy. **Note**: Sellers are not required to specify any electronic payment methods for listings. This array may often be returned empty unless the payment business policy is intended for motor vehicle listings or other items in categories where offline payments are required or supported. **Occurrence:** Always """ acceptedPaymentMethods: [PaymentMethods] """ This object provides motor vehicle listing deposit requirements. Applicable if the **categoryTypes.name** field is set to `MOTORS_VEHICLES` and returned only if the seller requires an initial deposit. The object shows the amount due for the deposit and when it is due (typically within 1-3 days after commitment to purchase, unless the listing requires immediate payment). May be null when no deposit is required. **Occurrence:** Conditional """ depositDetails: BusinessPolicyMotorVehicleDepositDetails """ When `true`, this field indicates immediate payment is required from the buyer. This can occur in the following scenarios: - Fixed-price item - An auction where the buyer uses **Buy It Now** - A deposit for a motor vehicle **Note**: Immediate payment does not apply to auction listings with a winning bid, purchases involving Best Offer, or transactions completed offline. **Occurrence:** Always """ immediatePaymentRequired: Boolean """ This field indicates whether this payment policy applied to motor vehicles. - `true`: This is a motor vehicle payment policy - `false`: This is a standard (non-motor vehicle) payment policy """ motorVehiclePolicy: Boolean """ Although this field may be returned for some older payment business policies, payment instructions are no longer supported by payment business policies. If this field is returned, it can be ignored as these payment instructions will not appear in any listings that use the corresponding business policy. May be null when no instructions were provided. **Maximum length**: 1000 characters **Occurrence:** Conditional """ paymentInstructions: String } """ This type represents the state of a payment hold that has been released through a human-readable label. """ type PaymentReleased implements Labeled { """ The human-readable label for the released payment hold. **Maximum length**: 100 characters """ label: String! """ The reason for the payment hold. This field may be null if the reason is not available. """ reason: DisplayableId """ This timestamp indicates the date and time when the hold was released. """ releasedAt: DateTime } """ This type indicates that the payment process has been completed successfully through a human-readable label. """ type PaymentsCompleted implements Labeled { """ The human-readable label representing this state. """ label: String! } """ This type indicates that the payment process has failed through a human-readable label. """ type PaymentsFailure implements Labeled { """ The human-readable label representing this state. """ label: String! } """ This type indicates that the payment process is currently in progress through a human-readable label. """ type PaymentsInProgress implements Labeled { """ The human-readable label representing this state. """ label: String! } """ This type indicates that the payment process has not yet started through a human-readable label. """ type PaymentsNotStarted implements Labeled { """ The human-readable label representing this state. """ label: String! } """ This union type is used to show the current state of payments within a monetary plan. """ union PaymentsState = PaymentsCompleted | PaymentsFailure | PaymentsInProgress | PaymentsNotStarted """ This enumerated type defines the payment state values applicable for a refund. """ enum PaymentState { """ This value indicates that the payment has cancelled. """ CANCELLED """ This value indicates that the payment has been completed. """ COMPLETED """ This value indicates that the payment has failed. """ FAILURE """ This value indicates that the payment is currently in progress. """ IN_PROGRESS """ This value indicates that the payment process has not been started. """ NOT_STARTED } """ This type specifies the payment terms defined by seller like payment method, payment instructions, etc. """ type PaymentTerms { """ Business policy container for specifying policy ID. """ businessPolicy: BusinessPolicy """ This field is set to `true` if the seller requires immediate payment for fixed price listings and auction listings where the 'Buy it Now' option is used. **Default**: false """ immediatePay: Boolean """ This array is used to specify one or more payment methods for listings that support offline transactions. Use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see the payment methods supported for a leaf category. Currently the only payment methods supported are for offline payments. **Note**: This array will be null if there are no payment methods. """ listingPaymentMethods: [ListingPaymentMethod!] """ This field is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. """ motorVehicleDeposit: MotorVehicleDeposit """ Payment instructions (or message) from the seller to the buyer. These instructions appear on eBay's View Item page and on eBay's checkout page when the buyer pays for the item. """ paymentInstructions: String } """ This union type is used by the **PaymentTerms** and **BusinessPolicy** type to display payment terms for a listing, including immediate payment requirement, accepted offline payment methods, and motor vehicle deposit details. """ union PaymentTermsPolicy = BusinessPolicy | PaymentTerms """ This type is used to identify PayPal as the payment method. """ type PayPal implements PaymentMethodType { """ The unique identifier of the PayPal payment method. """ code: ID! """ The descriptive name of the PayPal payment method. """ descriptiveName: String! """ The display name of the PayPal payment method. """ displayName: String! } """ This type defines the business rule error that occurs when there is an active pending offer for the item/buyer. """ type PendingOffer implements OfferBusinessRuleViolation { """ The description of the business rule failure. **Maximum length**: 250 characters """ ruleDescription: String! } """ A percentage value that must be between 0 and 100 inclusive. Represents a whole number percentage. """ scalar Percentage """ This type stores telephone number information. """ type Phone { """ This enumerated value is the two-letter country code representing the country where the telephone number is registered. """ countryCode: CountryAlpha2Code """ The numeric international calling code associated with the country where the telephone number is registered. """ dialCode: String """ The telephone number. Only area code, prefix, and local exchange are stored. Neither the international prefix (i.e., `dialCode`,) nor the country code (i.e., `countryCode`,) are stored. Hyphens and brackets may be included. **For example:** - `4155552671` - `02079460000` - `07911234567` """ phoneNumber: String """ This field indicates the type of telephone number (e.g., mobile, landline, etc.). """ phoneNumberType: String } """ This type provides details about a pickup step in progress, and includes the pickup step state and the list of line items associated with this pickup step. """ type PickupExecution { """ This array lists the line items that have been picked up or are scheduled for pickup. """ lineItemReferences: [LineItemReference!] """ This timestamp shows the actual time that the pickup step was completed. This field is returned if applicable and available. """ pickedUpAt: DateTime """ This object shows the current state of fulfillment that this pickup step is contributing towards (e.g. PENDING, COMPLETED). """ pickupState: LogisticsFulfillmentState } """ This type shows details of a pickup logistics option. """ type PickupLogisticsOption implements PurchaseQuoteLogisticsOption { """ This object shows the cost of the pickup logistics option. If the pickup logistics option is free to the buyer, this object will show a value of `0.0`. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ cost: AmountSet! """ The display name of the pickup logistics option. """ displayName: String! } """ This type is used to add or modify one pickup logistics option that is provided by the seller. """ input PickupLogisticsOptionInput { """ This object is used to specify the cost (if any) to pick up the order if the pickup option specified in the corresponding **displayName** field is used. If the pickup option is free to the buyer, This object must still be inclued with the value set to '0.0'. **Note**: The default currency of the eBay listing marketplace should be used. """ cost: AmountInput! """ The display name of the logistics option. **Maximum length**: 100 characters """ displayName: String! } """ This type provides details about a planned pickup step prior to execution. """ type PickupPlan { """ This timestamp shows the latest acceptable time by which the pickup should be completed. This field is returned if applicable and available. """ pickupBy: DateTime """ This timestamp shows the scheduled time when the pickup is expected to occur. This field is returned if applicable and available. """ scheduledAt: DateTime } """ This union type provides the **PickupPlan** object to provide details about a planned pickup step and by the **PickupExecution** object to provide details about a pickup step in progress. """ union PickupPlanOrExecution = PickupExecution | PickupPlan """ This type is used to convey information about a pickup logistics point involved in a fulfillment plan. """ type PickupPoint implements LogisticsPoint { """ The physical address associated with this pickup logistics point. """ address: PurchaseAddress """ The user-friendly name of the pickup logistics point (for example, `San Jose Warehouse`). """ name: String! """ The seller-defined unique identifier for the pickup location, if applicable. **Note**: Only applicable for Buy online, pick up in store (BOPIS) or Click and Collect orders. """ pickupLocationId: ID """ The eBay-generated unique identifier of a store that is used for pickup of items in a Buy online, pick up in store (BOPIS) or Click and Collect order. **Note**: Only applicable for Buy online, pick up in store (BOPIS) or Click and Collect orders. """ storeId: ID """ The functional role of the shipping point in the logistics flow (for example, `PICKUP`). """ type: DisplayableId! } """ This type convey details of a pickup logistics step involved in a fulfillment plan. """ type PickupStep implements LogisticsStep { """ This object shows the user-friendly description and unique identifier of the party responsible for handling this pickup logistics step. """ handler: DisplayableId """ This object shows the user-friendly description and unique identifier of the pickup logistics step. """ methodName: DisplayableId! """ The unique identifier of a store location that has the item. This ID may or may not be applicable or returned. **Note**: This identifier is generally applicable to Buy online, pick up in store (BOPIS) or Click and Collect orders. """ pickupCode: ID """ This object shows details on the pickup location, including the user-friendly name, location type, and a full street address. """ pickupLocation: LogisticsPoint! """ The information shown in this object is dependent on the state of the logistics step. If the logistics step has not yet started and there is no hold associated with the logistics step, it may get returned as empty or `null`. If the logistics step is active or completed, the state and full details for this pickup step will be shown. """ planOrExecution: PickupPlanOrExecution! } """ This type indicates that the buyer was unable to arrange pickup for the order. Applicable only for local pickup orders. """ type PickupUnavailableCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `PICKUP_UNAVAILABLE`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This union type represents different types of business policy details for return, shipping, and payment policies. """ union PolicyDetails = PaymentPolicyDetails | ReturnPolicyDetails | ShippingPolicyDetails """ This enum type defines the policy frameworks used for threshold evaluation. """ enum PolicyFramework { """ This value indicates that bulk data transfer policy thresholds are used for the evaluation. """ BULK_DATA_TRANSFER_POLICY } """ This input type is used to configure postal code display preferences. This input allows clients to specify how postal codes should be displayed, with support for data masking based on user privileges and access levels. **Default**: `DISPLAY` **Note**: Postal code visibility may be restricted based on the requesting user's data access level and relationship to the data owner. """ input PostalCodeInput { """ This field specifies how postal codes are displayed. Supported Values are: - `"DISPLAY"`: Display the postal code when a user has appropriate access level. **Default value**: `"DISPLAY"` **Maximum length**: 50 characters **Data Privacy Notes**: - Postal codes may be masked or omitted if the requesting user lacks sufficient privileges to view this sensitive location data. """ type: String = "DISPLAY" } """ This enumerated type identifies which party performs the post-purchase action. """ enum PostPurchaseActorRole { """ This enum value indicates that the actor is the buyer who made the purchase. """ BUYER """ This enum value indicates that the actor is eBay Customer Support, an eBay Partner involved in post-purchase flows, or an automated process which is triggering the post-purchase flow action. """ EBAY """ This enum value indicates that the actor is the seller who sold the item. """ SELLER } """ This type represents a review case associated with a post-purchase flow, such as an order inquiry or a return. This type captures the review status, referral reason, involved parties, decision history, and current outcome. """ type PostPurchaseCase { """ The unique identifier of the post-purchase case. """ caseId: ID! """ This array returns the history of past decisions made in this case, scoped to the entity under review. **Note**: This list can be empty if no prior decisions exist. """ decisionHistory: [PostPurchaseCaseDecision!]! """ The actor who initiated the review request (e.g., 'BUYER', 'SELLER', 'SYSTEM'). """ initiator: PostPurchaseActorRole! """ The most recent decision made as part of the review. **Note**: This field is optional. If null, the case is still under review or no decision has been made yet. """ latestDecision: PostPurchaseCaseDecision """ The reason the case was referred for review, provided during escalation or referral. """ reason: PostPurchaseCaseReferralReason! """ The current status of the review (e.g., 'OPEN', 'ON_HOLD', 'CLOSED'). """ status: PostPurchaseCaseStatus! } """ This type indicates that the review case has been closed. This may happen after a final decision has been made (e.g., refund granted or denied), or the case may be automatically closed due to resolution or expiration of the review window. This type applies to both order inquiries and return cases. """ type PostPurchaseCaseClosed implements PostPurchaseCaseStatus { """ The machine-readable code for the status. In this case, 'CLOSED'. """ code: String! """ The human-readable text of the case status. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a party-scoped decision made as part of a post-purchase case review. Each decision applies to either the buyer or the seller and may reference a previous decision or include appeal history. This type applies to both order inquiries and returns, and captures metadata about who made the decision, when it was made, which party it favored, and any associated outcomes or review requests. """ type PostPurchaseCaseDecision { """ The timestamp when the decision was made. """ decidedAt: DateTime! """ The unique identifier of the decision. """ decisionId: ID! """ The party the decision was made in favor of (e.g., 'BUYER', 'SELLER', 'NONE'). """ inFavorOf: PostPurchaseCaseDecisionFavor! """ An optional note or reasoning provided at the time of decision. **Note**: If null, no note was added. **Maximum length**: 512 characters """ note: String """ This array returns a list of one or more outcomes associated with the decision (e.g., refund granted, credit issued). This field is required and must contain at least one outcome. """ outcomes: [PostPurchaseCaseDecisionOutcome!]! """ An optional review request (appeal) submitted against this decision. **Note**: If returned null, no appeal has been submitted for this decision. """ reviewRequest: PostPurchaseCaseDecisionReview } """ This enumerated type indicates who a case or appeal decision decision was in favor of. """ enum PostPurchaseCaseDecisionFavor { """ This enum value indicates that the decision favored both parties (e.g., partial resolution). """ BOTH """ This enum value indicates that the decision favored the buyer. """ BUYER """ This enum value indicates that the decision favored neither party (e.g., insufficient evidence, courtesy closure). """ NONE """ This enum value indicates that the decision favored the seller. """ SELLER } """ This interface represents the outcome of a decision made on an order inquiry. Each implementing type describes a specific kind of resolution, such as issuing a refund, crediting the seller, or upholding a previous decision. """ interface PostPurchaseCaseDecisionOutcome { """ A machine-readable code indicating the type of outcome. """ code: String! """ The human-readable text of the case decision outcome. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a review request (appeal) submitted against a decision made on a post-purchase case. This type applies to both order inquiries and return cases, and captures who submitted the request, when it was submitted, the referral reason, status, and any accompanying justification. """ type PostPurchaseCaseDecisionReview { """ The referral reason associated with the review request. """ reason: PostPurchaseCaseReferralReason! """ The timestamp when the review request was submitted. """ requestedAt: DateTime! """ The party who submitted the review request (e.g., 'BUYER', 'SELLER'). """ requester: PostPurchaseActorRole! """ An optional note or explanation provided by the requester as part of the review. **Maximum length*: 512 characters **Note**: If returned null, no additional note was supplied. """ requesterNote: String } """ This type indicates that the review case is currently on hold. This typically occurs when the case is waiting for an action from a participant, such as the buyer uploading evidence or the seller providing a response. This type applies to both order inquiries and return cases. """ type PostPurchaseCaseOnHold implements PostPurchaseCaseStatus { """ The machine-readable code for the status. In this case, 'ON_HOLD'. """ code: String! """ The human-readable text of the case status. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the review case is open and actively under evaluation. This status means the case has been referred or escalated, and is within the review window, but a final decision has not yet been made. This type applies to both order inquiries and return cases. """ type PostPurchaseCaseOpen implements PostPurchaseCaseStatus { """ The machine-readable code for the status. In this case, 'OPEN'. """ code: String! """ The human-readable text of the case status. **Maximum length**: 100 characters """ displayText: String! } """ This interface represents a reason associated with a decision, review, or appeal in a case flow. """ interface PostPurchaseCaseReferralReason { """ A machine-readable reason code. For example: `CONFIRMED_DELIVERY`. **Maximum length**: 512 characters """ code: String! """ A human-readable case referral reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface represents the status of a post-purchase case, from either an order inquiry or a return. """ interface PostPurchaseCaseStatus { """ A stable, machine-readable identifier for the case status. Example values include `OPEN`, `ON_HOLD`, and `CLOSED`. """ code: String! """ The human-readable text of the case status. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a task for relisting an item after a post-purchase event such as a cancellation or return. This tracks the automated process of making an item available for sale again. """ type PostPurchaseListingRelistTask { """ The current status of the relist task, indicating whether it's initiated, completed, or failed. """ relistStatus: PostPurchaseRelistTaskStatus """ The listing that was created as a result of the relist operation, if the task completed successfully """ relistedListing: ListingReference } """ This union type represents restock details of the original listing. """ union PostPurchaseListingRestockTask = PostPurchaseListingRelistTask """ This type indicates that a post-purchase relist task has been successfully completed. The original listing has been restored to active status with updated inventory. """ type PostPurchaseRelistTaskCompleted implements PostPurchaseRelistTaskStatus { """ The machine-readable status code indicating the relist task is completed. """ code: String! """ A human-readable message confirming the relist task completion. """ displayText: String! } """ This type indicates that a post-purchase relist task has failed to complete successfully. This may be due to inventory issues, policy violations, or system errors. """ type PostPurchaseRelistTaskFailed implements PostPurchaseRelistTaskStatus { """ The machine-readable status code indicating the relist task has failed. """ code: String! """ A human-readable text for relist task status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that a post-purchase relist task has been initiated and the system is processing the relisting request. """ type PostPurchaseRelistTaskInitiated implements PostPurchaseRelistTaskStatus { """ The machine-readable status code indicating the relist task has been started. """ code: String! """ A human-readable relist task status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface type represents the status of a post-purchase relist task. This tracks the lifecycle state of automatic relisting operations that occur after purchase-related events like cancellations or returns. **Note**: Additional interface types may be added in the future; clients should handle unrecognized types gracefully. """ interface PostPurchaseRelistTaskStatus { """ The machine-readable status code indicating the current state of the relist task. """ code: String! """ A human-readable relist task status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a price discount and contains the amount and its source. """ type PriceDiscount { """ The amount of the discount. """ amount: AmountSet! """ The source of the adjustment. """ source: PriceDiscountSource! } """ This type indicates the source of the price discount. """ type PriceDiscountSource { """ An optional discount code for the source. """ code: String """ The domain of the source. """ domain: String! """ An optional message from the source. """ message: String """ The name of the source. """ name: String! """ The type of the source. """ type: String! } """ This interface represents the priceline of a contract such as order, commitment, purchase quote, etc. """ interface PriceLine { """ The monetary amount of the priceline. """ amount: AmountSet! """ The human readable name of priceline, such as `ITEM_PRICE`, or `ITEM_TAX`. """ name: String! } """ This input type is used to exclude a specific priceline type (such as SHIPPING_COST) for a refund estimate. """ input PricelineAdjustmentInput { """ This field is included and set to DEDUCTION if the user wishes to exclude a specific priceline type (such as SHIPPING_COST) for a refund estimate. """ adjustmentType: PricelineAdjustmentTypeEnum! """ The string included in this field indicates the priceline type string to adjust, such as SHIPPING_COST. """ pricelineType: String! } """ This enumerated type lists the values that can be used in the **adjustmentType** field when the user wishes to make an adjustment for the priceline types that are considered for a refund estimate. """ enum PricelineAdjustmentTypeEnum { """ This value is used to exclude a priceline type from the refund estimate calculation. """ DEDUCTION } """ This interface represents the priceline rollup for a contract such as order, commitment, purchase quote, etc. Rollups are for the buyer and seller to understand the total cost of the contract. Rollup cost includes **ItemSubtotal**, **ShippingSubtotal**, **TaxSubtotal**, **ServiceFeeSubtotal**, etc. """ interface PriceLineRollup { """ The monetary amount of the priceline rollup. This is the monetary value associated with the priceline item group. """ amount: AmountSet! """ The human readable name of the priceline rollup, e.g., `LISTING_SUBTOTAL`, `SHIPPING_SUBTOTAL`, `TAX_SUBTOTAL`, `SERVICE_FEE_SUBTOTAL`. """ name: String! """ This array returns a list of pricelines that are part of the rollup. """ priceLines: [PriceLine!]! } """ This type indicates that the number of primary category IDs provided for the **sellerListingSearch** query exceeds the maximum allowed limit. """ type PrimaryCategoryExceedMaxError implements SellerListingSearchInputError { """ The actual number of primary category IDs provided. """ actualCount: Int! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum number of primary category IDs allowed. """ maxAllowed: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type defines the primary shipping zone information for a user's address. **Data Privacy:** All fields respect user access control levels. Sensitive location data may be masked for unauthorized viewers. """ type PrimaryShippingZone implements ShippingZone { """ The two-letter ISO 3166 country code of the shipping zone. **Note**: This field may be omitted based on user access permissions. """ countryCode: CountryAlpha2Code """ The postal code of the shipping zone. **Note**: This field may be omitted based on user access permissions. """ postalCode(input: PostalCodeInput): String """ The state or province of the shipping zone. **Note**: This field may be omitted based on user access permissions. """ stateOrProvince: String } """ This type indicates that the number of primary store category IDs provided for the **sellerListingSearch** query exceeds the maximum allowed limit. """ type PrimaryStoreCategoryExceedMaxError implements SellerListingSearchInputError { """ The actual number of primary store category IDs provided. """ actualCount: Int! """ A technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum number of primary store category IDs allowed. """ maxAllowed: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ The input type for issuing a full refund on an inquiry. """ input ProcessOrderInquiryRefundInput { """ The unique identifier of the inquiry for which the refund is being issued. This must reference a valid and refundable inquiry. """ inquiryId: ID! } """ The union type for the **processOrderInquiryRefund** mutation. This type covers two possible scenarios: success or failure. If the **processOrderInquiryRefund** mutation succeeds, the refund will be successfully processed. If the **processOrderInquiryRefund** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the item commitment will not be created. If a mutation fails, there will always be at least one blocking error. """ union ProcessOrderInquiryRefundOutput = OrderInquiryActionNotPermittedError | OrderInquiryNotFoundError | ProcessOrderInquiryRefundSuccess | RefundAuthorizationFailedError | RefundBlockedByPaymentDisputeError | RefundInstrumentDeclinedError | RefundInstrumentInsufficientFundsError | RefundInstrumentInvalidError | RefundProcessingError """ The output type for the **processOrderInquiryRefund** mutation. """ type ProcessOrderInquiryRefundSuccess { """ The result of the refund operation. """ orderInquiry: OrderInquiry! } """ This type is used by a seller issuing a refund for a completed return. """ type ProcessReturnRefundAction implements ReturnAction { """ A machine-readable return action code: `PROCESS_RETURN_REFUND`. """ code: String! """ The human readable text for issuing a return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **processReturnRefund** mutation which is used to process refund for a return based on the refund policy for the return. If the returned item is used, altered, or damaged, eligible sellers may withhold an amount from the buyer's refund to cover loss in value. """ input ProcessReturnRefundInput { """ The unique identifier of the Return for which the refund is being issued. This must be a valid return request that the user has permission to access. """ returnId: ID! """ Use this field to specify the line-item level refund withholds for the return, including the withholding percentage and shipping cost. This field is optional. If not provided, the refund will be issued according to the return's refund policy. """ returnLineItemRefundWithholdings: [ReturnLineItemRefundWithholdInput!] } """ This error type indicates that one or more validation errors occurred while processing the return refund. """ type ProcessReturnRefundInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_REFUND_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [ProcessReturnRefundInputViolation!]! } """ This interface represents input violations detected during process return refund request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for processing return refund. These rules may include: - whether withholding item price refund is allowed in certain scenarios - withhold percentage range constraints - whether withholding shipping price refund is allowed in certain scenarios Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface ProcessReturnRefundInputViolation { """ A machine-readable code identifying the specific process return refund input violation. """ code: String! """ A human-readable message describing the process return refund input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **processReturnRefund** mutation includes the result of the mutation and any errors encountered. """ union ProcessReturnRefundOutput = MultipleRefundWithholdingsNotAllowedError | OrderReturn | ProcessReturnRefundInputValidationError | RefundAuthorizationFailedError | RefundBlockedByPaymentDisputeError | RefundInstrumentDeclinedError | RefundInstrumentInsufficientFundsError | RefundInstrumentInvalidError | RefundProcessingError | ReturnActionNotPermittedError | ReturnLineItemNotFoundError | ReturnNotFoundError """ This type defines the details of a specific catalog product such as its title, identifier, product aspects, recommended category, and links to images of the product. """ type Product { """ The unique identifier of an eBay catalog product. An ePID value can be used in eBay listing APIs to prefill a listing with product title, product description, product aspects, stock photo(s), and eBay category. """ epid: Epid @deprecated(reason: "This field is deprecated and has been superseded by the **id** field.") """ The unique identifier of an eBay catalog product. An ePID value can be used in eBay listing APIs to prefill a listing with product title, product description, product aspects, stock photo(s), and eBay category. """ id: ID! @deprecated(reason: "Use 'productId' field instead") """ This array returns a list of product aspects and values associated with this catalog product. """ aspects: [ProductAspect!]! """ This object returns information about the leaf category for which eBay recommends to list this product, based on previous listings of similar products. """ category: Category! """ This array returns a list of one or more image URLs associated with this catalog product. """ imageUrls: [String!] """ The eBay product identifier (ePID) of the product. """ productId: ID! """ The title of the catalog product. """ title: String! } """ This type defines the product aspect name/value pair(s) associated with a product. """ type ProductAspect { """ A list of valid values associated with the product aspect (for example: `Red`, `Green`, and `Blue`). """ aspectValues: [String!]! """ The name of the product aspect, localized for the specified marketplace (for example: `Color`). """ displayName: String! } """ This type is used by the seller to provide product safety information for the listing. """ type ProductSafety { """ Additional information seller provides about the product safety information in this listing. """ additionalInformation: String """ This field sets the pictogram code(s) for product safety Pictogram(s) for the listing. If your product contains substances or mixtures, please select the values corresponding to the hazard pictograms that are stated on your product's Safety Data Sheet. This field is an empty list if there are no pictogram codes. This should not be null unless an error has occurred. Please see the error section of the response for more details. """ pictogramCodes: [ID!] """ This object is used by the seller to provide product safety information for the listing. This field is required if product safety information is supplied. This field is empty if there are no statement codes. This should not be null unless an error has occurred. Please see the error section of the response for more details. """ statementCodes: [ID!] } """ This interface defines the address structure of a user’s profile. """ interface ProfileAddress { """ The first line of the street address (e.g., house number and street name). **For example:** - `2025 Hamilton Avenue` - `221B Baker Street` - `Building 12` **Notes**: - This field is required in most countries that utilize street addresses (e.g., United States, United Kingdom). - This field may be null in regions that rely primarily on district/building names rather than street numbers (e.g., Hong Kong). - This field may be null for pure P.O. Box formats or institutional addresses where this line is not used separately (e.g., UAE, certain Qatar addresses). """ addressLine1: String """ The second line of the street address, such as apartment number, suite number, building, floor, or additional delivery detail. **For example:** - `Apt. 5B` - `Suite 1200` - `Room 303, East Wing` **Notes**: - A second line is common and often included in the U.S., Canada, and the U.K. for unit-level delivery information. - This field will return a null value when no information is provided or applicable. """ addressLine2: String """ The city, town, or locality name associated with the user's address. **For example:** - `San Jose` - `London` - `Toronto` **Notes**: - This field may return a null value in those regions that use district/municipality without a conventional "city" field (e.g., Hong Kong, Macau). - This field may return a null value for rural/local addresses that rely on townland or parish concepts (e.g., some legacy Irish addresses). """ city: String """ This enumeration value is the two-letter country code representing the user's country. **For example:** - `US`, `GB`, `CA`, `IE`, `HK` """ countryCode: CountryAlpha2Code """ The postal code, ZIP code, or PIN code associated with the user's address and used for mail routing. **For example:** - `95110` (U.S. ZIP) - `SW1A 1AA` (UK postal code) - `H3Z 2Y7` (Canada postal code) **Notes**: - This field will return a null value in those countries or territories that do not use postal codes (e.g., Hong Kong, many UAE addresses relying on P.O. boxes). """ postalCode: String """ The state, province, region, or administrative area code or name associated with the user's address. **For example:** - `CA` or `California` (U.S. state) - `ON` or `Ontario` (Canadian province) - `NB` or `New Brunswick` **Notes**: - This field will return a null value in those countries that do not have a state/province concept (e.g., Singapore, Hong Kong). - This field will return a null value when the combination of locality and postal code provide sufficient routing and the region does not require this field. - May be specified as either a code or full name depending on upstream normalization. """ stateOrProvince: String } """ This input type defines the payload for the **proposeKeepItemWithPartialRefund** mutation. This type contains fields to offer a partial refund for the buyer to keep the item on an existing return, including the shipping disposition. """ input ProposeKeepItemWithPartialRefundInput { """ An array of one or more item-level partial-refund terms included in the offer. Each term applies to a specific return line item. """ keepItemPartialRefundTerms: [KeepItemPartialRefundTermInput!]! """ The unique identifier of the Return for which the keep-item-with-partial-refund offer is being proposed (target the return). This must be a valid return ID that the user has permission to access. """ returnId: ID! } """ This error type indicates that one or more validation errors occurred while proposing the keep-item-with-partial-refund """ type ProposeKeepItemWithPartialRefundInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_PARTIAL_REFUND_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [ProposeKeepItemWithPartialRefundInputViolation!]! } """ This interface represents input violations detected during propose keep-item-with-partial-refund request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for proposing keep-item-with-partial-refund. These rules may include: - allowed numeric ranges (for example, item refund percentage) - item shipping price waiver is only allowed in certain scenarios Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface ProposeKeepItemWithPartialRefundInputViolation { """ A machine-readable code identifying the specific propose keep-item-with-partial-refund input violation. """ code: String! """ A human-readable message describing the propose keep-item-with-partial-refund input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This is the base response union type for the **proposeKeepItemWithPartialRefund** mutation. It includes the result of the mutation and any errors encountered. """ union ProposeKeepItemWithPartialRefundOutput = MultipleRefundTermsNotAllowedError | OrderReturn | ProposeKeepItemWithPartialRefundInputValidationError | ReturnActionNotPermittedError | ReturnLineItemNotFoundError | ReturnNotFoundError | ReturnRefundTermsRequiredError """ This input type defines the payload for the **provideRmaNumber** mutation which is used to provide the return merchandise account number for the return. """ input ProvideRmaNumberInput { """ The unique identifier of the Return for which the return merchandise account number is being provided. This must be a valid return ID that the user has permission to access. """ returnId: ID! """ The human-readable string containing return merchandise authorization (RMA) number that needs to be included in the return package slip. **Maximum length**: 100 characters """ rmaNumber: String """ If `true`, the seller has waived the Return merchandise authorization (RMA) number requirement for this return (the return can be processed without providing an RMA number). This setting overrides the account-level RMA preference. """ rmaRequirementWaived: Boolean! = false } """ This error type indicates that one or more validation errors occurred while providing the RMA number. """ type ProvideRmaNumberInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_PROVIDE_RMA_NUMBER_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [ProvideRmaNumberInputViolation!]! } """ This interface represents input violations detected during provide Return Merchandise Authorization (RMA) number request evaluation. These rules may include: - maximum allowed characters for RMA number - accepted values or codes for RMA number - if RMA number is required Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface ProvideRmaNumberInputViolation { """ A machine-readable code identifying the specific provide RMA number input violation. """ code: String! """ A human-readable message describing the provide RMA number input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **provideRmaNumber** mutation includes the result of the mutation providing the return merchandise account number and any errors encountered. """ union ProvideRmaNumberOutput = OrderReturn | ProvideRmaNumberInputValidationError | ReturnActionNotPermittedError | ReturnNotFoundError """ This type represents the action of sending a Return Merchandise Authorization (RMA) number for a return shipment. """ type ProvideRmaNumberReturnAction implements ReturnAction { """ A machine-readable return action code: `PROVIDE_RMA_NUMBER`. """ code: String! """ A human readable text for the return action of sending an RMA for a return. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a business error that returns when one or more validation errors occurs while providing shipment information for an order inquiry. """ type ProvideShipmentInfoForInquiryInputValidationError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_PROVIDE_SHIPMENT_INFO_VALIDATION_ERROR`. """ errorCode: String! """ The human-readable error message for the order inquiry error. **Maximum length**: 512 characters """ errorMessage: String! """ This array returns details about the specific request violations. """ violations: [ProvideShipmentInfoForInquiryInputViolation!]! } """ This interface represents input violation(s) detected while providing shipment info for inquiry evaluation. Each violation indicates that the provided shipment info value did not comply with the business rules or constraints defined for the order inquiry. These rules may include: - Missing or invalid tracking number. - Unsupported carrier code. """ interface ProvideShipmentInfoForInquiryInputViolation { """ The machine-readable code identifying the specific shipment info input violation. """ code: String! """ The human-readable message describing the shipment info input violation. **Maximum length**: 512 characters """ displayMessage: String! } """ The input type for providing information on an Item Not Received (INR) inquiry. This type is used to respond to an open information request with tracking-related details. Common causes include missing required fields, unsupported carrier codes, or invalid tracking number formats. """ input ProvideShipmentInfoForItemNotReceivedInquiryInput { """ The unique identifier of the inquiry for which information is being provided. This field must reference a valid inquiry accessible to the user. """ inquiryId: ID! """ This array returns order inquiry tracking information for which shipment information is being provided. """ trackings: [InquiryShipmentTrackingInput!]! } """ The union type for the **provideShipmentInfoForItemNotReceivedInquiry** mutation. This type covers two possible scenarios: success or failure. If the **provideShipmentInfoForItemNotReceivedInquiry** mutation succeeds, the updated inquiry will be returned. If the **provideShipmentInfoForItemNotReceivedInquiry** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the item commitment will not be created. If a mutation fails, there will always be at least one blocking error. """ union ProvideShipmentInfoForItemNotReceivedInquiryOutput = OrderInquiryActionNotPermittedError | OrderInquiryNotFoundError | ProvideShipmentInfoForInquiryInputValidationError | ProvideShipmentInfoForItemNotReceivedInquirySuccess """ The output type for the **provideShipmentInfoForItemNotReceivedInquiry** mutation. """ type ProvideShipmentInfoForItemNotReceivedInquirySuccess { """ The result of the operation, which includes information about the updated inquiry. """ orderInquiry: OrderInquiry! } """ This type is used by a seller to provide tracking information or shipping details for a return. """ type ProvideShipmentInfoReturnAction implements ReturnAction { """ A machine-readable return action code: `PROVIDE_SHIPMENT_INFO`. """ code: String! """ The human-readable text for providing shipment information for a return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents how the return label is provisioned for the return shipment. """ type ProvisionedReturnLabel { """ The return label option used to provide the return label. """ provisionOption: ReturnLabelProvisionOption! """ A list of one or more return labels provided. This is optionally present label only if available and not provided offline. """ returnLabels: [ReturnLabel!] } """ This type defines a business seller's publicly visible profile information. """ type PublicUserProfile { """ The physical address of the business account. **Note**: If the seller does not provide this information this field may return a null value. """ address: ProfileAddress """ The business/company name for the business account. **Note**: If the seller does not provide this information this field may return a null value. """ businessName: String """ The email address of the business account. **Note**: If the seller does not provide this information this field may return a null value. """ email: String """ The fax number for the business account. **Note**: If the seller does not provide this information this field may return a null value. """ fax: String """ The first/given name of the user associated with the business account. **Note**: If the seller does not provide this information this field may return a null value. """ firstName: String """ The list of public government-issued IDs associated with the business account. **Note**: If the `governmentIssuedIds` added by the seller are not publicly visible, this field may return a null value. Supported `govtIssuedIdTypes` include, but are not limited to, **BRN**, **CRN**, **ABRN**, etc. """ governmentIssuedIds: [GovernmentIssuedId] """ The last/family name of the user associated with the business account. **Note**: If the seller does not provide this information this field may return a null value. """ lastName: String """ Indicates if the business account can provide legal invoices to buyers. **Note**: If the seller does not provide this information this field may return a null value. """ legalInvoiceProvided: Boolean """ The telephone number for the business account. In the US, the area code (3 digits), the prefix (3 digits), the line number (4 digits), and phone extension (if specified by the user,) are returned in this field. The extension can be one or more digits. Non-breaking spaces are used as delimiters between these phone number components. **Note**: If the seller does not provide this information this field may return a null value. **Maximum length**: 128 characters is allocated for this field. However, eBay only validates the content of the field (i.e., only comprise integer values and delimiters), not its length. """ phone: Phone """ The Terms and Conditions associated with the business account. **Note**: If the seller does not provide this information this field may return a null value. """ termsAndConditions: String } """ This type is used to provide the complete shipping or tax address of a buyer. """ type PurchaseAddress { """ The first line of the street address. **Maximum length**: 100 characters """ addressLine1: String """ This optional field is used to provide the second line of the street address if applicable. The second line of the street address is generally used to provide apartment or suite number. **Maximum length**: 100 characters """ addressLine2: String """ The city of the street address. **Maximum length**: 50 characters """ city: String """ The two-letter code representing the country of the street address. """ country: CountryCode """ The email address associated with the street address (if applicable). """ email: String """ The phone number associated with the street address (if applicable). **Note**: The value must consist of numeric characters and may include symbols such as +, -, and spaces. **Maximum length**: 20 characters """ phone: String """ The postal code of the street address. """ postalCode: String """ The state or province of the street address. **Maximum length**: 50 characters """ stateOrProvince: String } """ This type is used to indicate that the purchase contract was initiated through an auction listing with a winning bidder. """ type PurchaseFlowAuction implements Labeled { """ The human-readable label representing an Auction purchase flow. Value: `Auction`. """ label: String! } """ This type is used to indicate that the purchase contract was initiated through a buyer-initiated offer (Best Offer) that was accepted by the seller. """ type PurchaseFlowBestOffer implements Labeled { """ The human-readable label representing a Best Offer purchase flow. Value: `Best Offer`. """ label: String! } """ This type is used to indicate that the purchase contract was initiated through a 'Buy it Now' flow, which can come from a fixed-price listing or from an auction listing with 'Buy it Now' feature enabled. """ type PurchaseFlowBuyItNow implements Labeled { """ The human-readable label representing a Buy It Now purchase flow. Value: `Buy It Now`. """ label: String! } """ This type is used to indicate that the purchase contract was initiated through a successful **commitToPurchase** mutation. """ type PurchaseFlowCommitToBuy implements Labeled { """ The human-readable label representing a Commit to Buy purchase flow. Value: `Commit to Buy`. """ label: String! } """ This type is used to indicate that the purchase contract was initiated through a Request Total purchase flow. With this flow, the seller does not have immediate payment set for the listing, and the buyer requests total cost before paying. """ type PurchaseFlowRequestTotal implements Labeled { """ The human-readable label representing a Request Total purchase flow. Value: `Request Total`. """ label: String! } """ This type is used to indicate that the purchase contract was initiated through a seller-initiated offer that was accepted by the buyer. """ type PurchaseFlowSellerInitiatedOffer implements Labeled { """ The human-readable label representing a seller-initiated offer purchase flow. Value: `Seller Initiated Offer`. """ label: String! } """ This union type will provide more information on how a purchase contract was initiated. For example, the buyer won an auction, the buyer and seller came to terms on a Best Offer or seller-initiated offer, or if a **commitToPurchase** mutation was used on behalf of a buyer. """ union PurchaseFlowType = PurchaseFlowAuction | PurchaseFlowBestOffer | PurchaseFlowBuyItNow | PurchaseFlowCommitToBuy | PurchaseFlowRequestTotal | PurchaseFlowSellerInitiatedOffer """ This type is used to provide full details on the fulfillment plan(s) available to the buyer, and ultimately, the fulfillment plan that is selected by the buyer. If a fulfillment plan has not been selected by the buyer yet, the **fulfillmentPlan** array will show all fulfillment plans available to the buyer. If the buyer has selected a fulfillment plan, but fulfillment has not yet started, the **fulfillmentPlan** array will show the selected the fulfillment plan. If the buyer has selected a fulfillment plan, and fulfillment has started or is completed, the **fulfillmentExecution** array will show the details of the fulfillment plan, including its current state. """ type PurchaseLogistics { """ This array shows the details of the selected fulfillment plan, including its current state. """ fulfillmentExecution: [LogisticsFulfillmentExecution!] """ This array shows all fulfillment plans available to the buyer, or if a buyer has selected one, the fulfillment plan selected by the buyer, but not yet started. """ fulfillmentPlan: [LogisticsFulfillmentPlan!] } """ This type is used to provide details for a payment method used in a purchase transaction. """ type PurchasePaymentMethod { """ This object provides more information on the payment method used. """ paymentType: PaymentMethodType! } """ This type provides all details of a purchase quote. A purchase quote is a collection of two or more item commitments on one invoice that has adjusted price information and available shipping/pickup options. """ type PurchaseQuote { """ The unique identifier of the purchase quote. """ purchaseQuoteId: ID! """ The buyer who associated with the purchase quote. """ buyer: User! """ This object is only returned if the purchase quote has been cancelled, and includes the unique identifier of the cancellation. """ cancellation: PurchaseQuoteCancellation """ The exact date and time when the purchase quote was initially created in the system. This marks the start of the purchase quote lifecycle. **Note**: Guaranteed to be non-null. """ createdAt: DateTime! """ This array show details on the line items associated with the purchase quote, including the identifier of the item, purchase quantity, how the item was purchased, and SKU value if defined. """ lineItems: [PurchaseQuoteLineItem!]! """ This array shows the set of logistics options available to the buyer for this purchase quote. Each option includes method and cost. """ logisticsOptions: [PurchaseQuoteLogisticsOption!] """ This array will show or more messages left by the buyer or seller for their order partner regarding the purchase quote. """ messages: [PurchaseQuoteMessage!] """ This object shows detailed information on any and all monetary transactions that occurred for the purchase quote between any combination of buyer, seller, and eBay. Each entry represents a distinct payment-related detail within the purchase quote lifecycle. """ monetaryDetails: MonetaryDetails """ This object is returned with a unique identifier of an order if there is an order associated with the purchase quote. """ order: Order """ The seller associated with the purchase quote. """ seller: User! """ The destination address where items will be shipped. """ shippingAddress: PurchaseAddress! """ This object provides Information on the current state of the purchase quote. The information that one will see here will be dependent on the state of the purchase quote. """ state: PurchaseQuoteState! """ This object shows cost breakdown details for a purchase quote, including total cost, taxes, shipping discounts, and additional charges. """ totals: PurchaseQuoteTotals! """ The exact date and time when the purchase quote was last modified or updated in the system. This timestamp captures any changes made to the purchase quote after initial creation, including change in state. **Note**: Guaranteed to be non-null. """ updatedAt: DateTime! } """ This type is used to indicate that a purchase quote is active and is now pending the buyer's action. """ type PurchaseQuoteActive implements Labeled { """ The human-readable label representing an active purchase quote. **Maximum length**: 100 characters. """ label: String! } """ This type represents the cancellation of a **PurchaseQuote** contract. The original purchase quote is available in the `purchaseQuote` field. """ type PurchaseQuoteCancellation implements ContractCancellation { """ The buyer involved in the cancellation. """ buyer: User! """ Actions presently available to the buyer for this cancellation request, including the primary action and deadline. This field will not be set unless there is an action available. """ buyerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.cancellation.read" "https://api.ebay.com/oauth/api_scope/buy.cancellation" ]) """ The unique identifier of this cancellation. """ cancellationId: ID! """ The timestamp when the purchase quote cancellation was closed. If the status is not closed, this field will not be set. """ closedAt: DateTime """ A list of one or more line-level cancellation entries for this quote cancellation. """ lineItems: [PurchaseQuoteCancellationLineItem!]! """ The original purchase quote being cancelled. """ purchaseQuote: PurchaseQuote! """ The reason for the cancellation, if provided. """ reason: ContractCancellationReason! """ An array of refunds resulting from this cancellation. Present only if refund processing was initiated; otherwise, null. """ refunds: [Refund!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.refund.read" "https://api.ebay.com/oauth/api_scope/sell.refund.read" ]) """ The timestamp when the cancellation was submitted. """ requestedAt: DateTime! """ The party that initiated the cancellation. For example, the `BUYER`. """ requester: PostPurchaseActorRole! """ The note provided with the cancellation request. Available if the requester provided a note; otherwise, null. """ requesterNote: String """ The seller involved in the cancellation (may have initiated). """ seller: User! """ Actions presently available to the seller for this cancellation request, including the primary action and deadline. This field will not be set unless there is an action available. """ sellerAvailableActions: ContractCancellationActions @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ The current status of this cancellation. """ status: ContractCancellationStatus! } """ This type represents an ineligibility reason indicating that the cancellation window on the purchase quote has elapsed. """ type PurchaseQuoteCancellationConflictWithWindowElapsed implements PurchaseQuoteCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_WINDOW_ELAPSED`. """ code: String! """ Human-readable message of the eligibility failure reason. For this type, the value is: `It's too late to cancel this purchase quote. Please contact the buyer to see if you can work something out.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the purchase quote whose cancellation was blocked by purchase quote level eligibility rule(s). """ purchaseQuoteId: ID! } """ This error type describes reasons that an eligibility failure prevented the cancellation of a purchase quote. The `ineligibilityReasons` field contains the specific quote-level failure reasons, explaining why the cancellation cannot be performed at this time. """ type PurchaseQuoteCancellationEligibilityError implements BusinessError { """ The globally unique error code for this business error. For this type, the value is `CNCL_PURCHASE_QUOTE_ELIGIBILITY_ERROR`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more purchase-quote level contract cancellation ineligibility reasons that prevent creation of a cancellation. For example, `CancellationExistsConflict` applies when the entire purchase quote is already cancelled or a cancellation is in progress. This field is required and contains at least one reason when this error is returned. """ ineligibilityReasons: [PurchaseQuoteCancellationIneligibilityReason!]! } """ This type represents an ineligibility reason indicating that the requested purchase quote already has a cancellation on file. """ type PurchaseQuoteCancellationExistsConflict implements PurchaseQuoteCancellationIneligibilityReason { """ Machine-readable eligibility failure reason code. For this type, the value is `CNCL_CANCELLATION_EXISTS_CONFLICT`. """ code: String! """ Human-readable message of the eligibility failure reason. For this type, the value is: `You cannot cancel this purchase quote because a cancellation exists on this contract.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the purchase quote for which cancellation is ineligible. """ purchaseQuoteId: ID! } """ This interface provides the purchase-quote-level cancellation eligibility reasons that block creation of a cancellation. **Note**: Additional reasons may be added in the future; clients should handle unrecognized types gracefully. """ interface PurchaseQuoteCancellationIneligibilityReason { """ The unique machine-readable contract cancellation reason code. """ code: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The unique identifier of the purchase quote that is not eligible for cancellation due to a quote-level an eligibility rule. """ purchaseQuoteId: ID! } """ This type represents a line item in a **PurchaseQuote** cancellation. It references the original purchase quote line item through `purchaseQuoteLineItem`. """ type PurchaseQuoteCancellationLineItem implements ContractCancellationLineItem { """ The unique identifier of this cancellation line item. """ cancellationLineItemId: ID! """ The quantity that was cancelled from the original purchase quote line item. Present only when the purchase quote cancellation is completed. """ cancelledQuantity: Int """ A reference to the cancelled item. This optional field is present only when the cancellation has the reference item. """ item: ContractCancellationItemReference """ A list of one or more restock tasks for the cancelled listing. Present only when listing restock is requested through a cancellation mutation. """ listingRestockTasks: [PostPurchaseListingRestockTask!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ A reference to the original purchase quote line item. """ purchaseQuoteLineItem: PurchaseQuoteLineItem! """ The quantity requested to be cancelled from the original purchase quote line item. """ requestedQuantity: Int! } """ This type represents an ineligibility reason indicating the input purchase quote cancellation reason is not allowed by policy. """ type PurchaseQuoteCancellationReasonNotAllowed implements PurchaseQuoteCancellationIneligibilityReason { """ This array returns a list of applicable cancellation reasons for current actor (user). """ availableReasons: [ContractCancellationReason]! """ The unique machine-readable contract cancellation reason code for this use case. For this type, the value is `CNCL_REASON_NOT_ALLOWED`. """ code: String! """ A human-readable description of the eligibility failure reason: `The cancellation reason you selected is not allowed by policy. Please choose a different reason and try again.` This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The ID of the purchase quote whose cancellation was blocked by purchase quote level eligibility rules. """ purchaseQuoteId: ID! } """ This type is used to indicate that a purchase quote has been cancelled. """ type PurchaseQuoteCancelled implements Labeled { """ This timestamp indicates when the cancellation occurred. """ cancelledAt: DateTime! """ The human-readable label representing a cancelled purchase quote. **Maximum length**: 100 characters """ label: String! """ This field indicates the reason why the cancellation occurred. """ reason: DisplayableId } """ This type is used to indicate that a purchase quote has been completed. Once a purchase quote is completed, it cannot transition to a different state. """ type PurchaseQuoteCompleted implements Labeled { """ The human-readable label representing a completed purchase quote. **Maximum length**: 100 characters """ label: String! } """ This type is used when the **dateRange** filter is used in a **purchaseQuotes** query. A starting and ending time sets the date range, and all purchase quotes either created or updated within this time range are retrieved. """ input PurchaseQuoteDateRangeInput { """ This object is used to set the time range. All purchase quotes either created or updated within this time range are retrieved. """ dateTimeRange: DateTimeRangeInput """ The enumeration value here controls whether retrieved purchase quotes are purchase quotes that were created within this date range or updated within this date range. The supported values are: - CREATED - UPDATED """ dateType: PurchaseQuoteDateType! } """ This enumeration type list the values that can be used in the **dateType** field if the user uses a date range filter in a **sellerPurchaseQuotes** or **buyerPurchaseQuotes** query. """ enum PurchaseQuoteDateType { """ If this value is used in the **dateType** field of a query, only purchase quotes created within the specified date range are returned. """ CREATED """ If this value is used in the **dateType** field of a query, only purchase quotes updated within the specified date range are returned. """ UPDATED } """ This input type includes the filters that can be used for a **purchaseQuotes** query. The **listingId** field can be used to retrieve purchase quote(s) for a specific listing, or one or more of the boolean fields can be used to retrieve purchase quotes in certain states. **Note**: The default value for the **includeActive** boolean field is 'true', but the default value for all other boolean fields is 'false'. """ input PurchaseQuoteFilterInput { """ Include this field and set to 'true' (or omit field) to include active purchase quotes in the output, or set to 'false' to exclude active purchase quotes. **Default**: true """ includeActive: Boolean! = true """ Include this field and set to 'true' to include cancelled purchase quotes in the output, or set to 'false' (or omit field) to exclude cancelled purchase quotes. **Default**: false """ includeCancelled: Boolean! = false """ Include this field and set to 'true' to include completed purchase quotes in the output, or set to 'false' (or omit field) to exclude completed purchase quotes. **Default**: false """ includeCompleted: Boolean! = false """ Include this field and set to 'true' to include invalid purchase quotes in the output, or set to 'false' (or omit field) to exclude invalid purchase quotes. **Default**: false """ includeInvalid: Boolean! = false """ Include this field and set to 'true' to include locked purchase quotes in the output, or set to 'false' (or omit field) to exclude locked purchase quotes. **Default**: false """ includeLocked: Boolean! = false """ Include this field and set to 'true' to include purchase quotes that have been requested by the buyer in the output, or set to 'false' (or omit field) to exclude purchase quotes that have been requested by the buyer. **Default**: false """ includeRequested: Boolean! = false """ Use this field to restrict results to purchase quotes that are associated with a specific eBay listing. """ listingId: ID } """ This type is used to provide one or more filters for the query, including a **listingId** filter, a date range filter, and filters based on states. Sort parameters are also available. """ input PurchaseQuoteFirstFilterInput { """ This object is used to set a date range filter. Only purchase quotes created or updated within this date range are returned. """ dateRange: PurchaseQuoteDateRangeInput! """ This object includes the filters that can be used for a **purchaseQuotes** query. The **listingId** field can be used to retrieve purchase quote(s) involving a specific listing, or one or more of the boolean fields can be used to retrieve purchase quotes in certain states. **Note**: The default value for the **includeActive** boolean field is 'true', but the default value for all other boolean fields is 'false'. """ filter: PurchaseQuoteFilterInput! = { includeActive: true includeCancelled: false includeCompleted: false includeInvalid: false includeLocked: false includeRequested: false } """ This object is used to control how purchase quotes are sorted in the query response. """ sort: PurchaseQuoteSortInput! } """ This type is used to indicate that a purchase quote is invalid. A purchase quote can be irreversibly marked as invalid due to a system error or a business rule violation. Once marked as invalid, a purchase quote cannot be recovered or used. """ type PurchaseQuoteInvalid implements Labeled { """ The human-readable label representing an invalid purchase quote. **Maximum length**: 100 characters """ label: String! """ This field indicates the reason why the purchase quote is invalid. """ reason: DisplayableId } """ This input type is used to represent a single item commitment in a purchase quote. """ input PurchaseQuoteItemInput { """ The unique identifier of an item commitment. Each purchase quote must contain two or more item commitments that share the same buyer and seller. """ itemCommitmentId: ID! } """ This type show details on the line items associated with the purchase quote, including the identifier of the line item, purchase quantity, how the item was purchased, and SKU value if defined. """ type PurchaseQuoteLineItem { """ The unique identifier of the line item within the purchase quote. """ purchaseQuoteLineItemId: ID! """ This object is only returned if the purchase quote line item has been cancelled, and includes the unique identifier of the cancellation. """ cancellation: PurchaseQuoteCancellation """ This object shows details on the line item, including the identifier of the item, purchase quantity, how the item was purchased, and SKU value if defined. """ lineItem: ContractListingItem! """ This object shows the source of the purchase quote line item. """ lineItemSource: PurchaseQuoteLineItemSource! """ This object is only returned if there is a return request associated with the purchase quote line item, and includes the unique identifier of the return request. """ return: PurchaseQuoteReturn """ This object shows cost breakdown details for a purchase quote line item, including total cost, taxes, shipping discounts, and additional charges. """ totals: PurchaseQuoteTotals! } """ This output type is used when a **purchaseQuoteLineItemsByIds** query fails completely, and none of the specified purchase quote line items were successfully retrieved. The **failures** array will show the identifiers of the purchase quote line items that were not successfully retrieved, and the error fields will provide more details on the issue(s) that caused the query to fail. """ type PurchaseQuoteLineItemsByIdsCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show PURCHASE_QUOTE_LINE_ITEMS_BY_IDS_COMPLETE_FAILURE. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of purchase quote line items that could not be retrieved and the error(s) that led to the failure. """ failures: [PurchaseQuoteLineItemsByIdsError!]! } """ This type displays the unique identifiers of all purchase quote line items that were not successfully retrieved, and the error(s) that caused them not to be retrieved. """ type PurchaseQuoteLineItemsByIdsError { """ A user-friendly, non-localized message describing the error. """ displayMessage: String! """ The unique identifier of the error. Below are the three errors that may occur: - `INVALID_INPUT`: This error indicates that the purchase quote line item ID is not recognized or it doesn't belong to the authenticated eBay user. - `TEMPORARILY_NOT_AVAILABLE`: This error indicates that a system error occurred. This error may occur with a complete failure, and the user can try again after a short period of time. """ errorCode: String! """ The unique identifier of the purchase quote line item that failed to be retrieved. """ inputPurchaseQuoteLineItemId: ID! """ This boolean indicates whether or not the user should try to retrieve the corresponding purchase quote line item again. If this field is returned as `true`, the user can make another attempt to retrieve the purchase quote line item. """ retryable: Boolean! } """ This input type is used to identify one or more purchase quote line items to retrieve in a **purchaseQuoteLineItemsByIds** query. """ input PurchaseQuoteLineItemsByIdsInput { """ This array is used to provide from 1 up to 100 purchase quote line item identifiers when using a *purchaseQuoteLineItemsByIds** query. A comma is used as a delimiter for each purchase quote line item identifier. """ purchaseQuoteLineItemId: [ID!]! } """ This union type is used to represent the possible outcomes of the **purchaseQuoteLineItemsByIds** query. """ union PurchaseQuoteLineItemsByIdsOutput = PurchaseQuoteLineItemsByIdsCompleteFailure | PurchaseQuoteLineItemsByIdsPartialFailure | PurchaseQuoteLineItemsByIdsSuccess """ This output type is used when a **purchaseQuoteLineItemsByIds** query is partially successful, where one or more specified purchase quote line items were successfully retrieved, but one or more other specified purchase quote line items failed to be retrieved. The **purchaseQuoteLineItems** array will display all purchase quote line items that were successfully retrieved, the **failures** array will show the identifiers of the purchase quote line items that were not successfully retrieved, and the error fields will provide more details on the issue(s) that caused the query to only be partially successful. """ type PurchaseQuoteLineItemsByIdsPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `PURCHASE_QUOTE_LINE_ITEMS_BY_IDS_PARTIAL_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of purchase quote line items that could not be retrieved and the error(s) that led to the failure. """ failures: [PurchaseQuoteLineItemsByIdsError!]! """ This array shows the full list of successfully retrieved purchase quote line items. """ purchaseQuoteLineItems: [PurchaseQuoteLineItem!]! } """ This output type is used when a **purchaseQuoteLineItemsByIds** query is fully successful and all purchase quote line items were successfully retrieved. """ type PurchaseQuoteLineItemsByIdsSuccess { """ This array shows the full list of purchase quote line items matching the provided identifiers. """ purchaseQuoteLineItems: [PurchaseQuoteLineItem!]! } """ This union type shows the origin of a line item in the purchase quote. """ union PurchaseQuoteLineItemSource = ItemCommitment """ This type is used to indicate that a purchase quote is temporarily locked due to an in-progress operation. Updates to the purchase quote are disabled until the operation completes. """ type PurchaseQuoteLocked implements Labeled { """ The human-readable label representing a locked purchase quote. **Maximum length**: 100 characters """ label: String! } """ This interface is used to show logistics options and costs available for a purchase quote. """ interface PurchaseQuoteLogisticsOption { """ This object shows the cost of the logistics option specified in the corresponding **displayName** field. If the logistics option is free to the buyer, this object will show a value of `0.0`. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ cost: AmountSet! """ The display name of the logistics option. **Maximum length**: 100 characters """ displayName: String! } """ This type is used to add or modify available shipping or pickup logistics options provided by the seller. **Note**: Only one of the containers in this type can be used per request. If they are both used, an error will occur. """ input PurchaseQuoteLogisticsOptionInput { """ This array is used to update the pickup options and costs that are available to the buyer for order pickup. All available pickup options and costs must be supplied in this array and not just new pickup options or existing pickup options where the cost is being modified. **Note**: If this array is being used, the **shipping** array cannot be used or an error will occur. """ pickup: [PickupLogisticsOptionInput!] """ This array is used to update the shipping service options and costs that are available to the buyer for order shipment. All available shipping service options and costs must be supplied in this array and not just new shipping service options or existing shipping service options where the cost is being modified. **Note**: If this array is being used, the **pickup** array cannot be used or an error will occur. """ shipping: [ShippingLogisticsOptionInput!] } """ This type show details of a message left by the buyer or seller for their order partner regarding the purchase quote. """ type PurchaseQuoteMessage { """ The full message left by the buyer or seller involved in the purchase quote. """ message: String! """ This timestamp indicates exactly when the message was left by the buyer or seller. """ sentAt: DateTime """ This boolean field indicates whether the message was sent by the buyer. """ sentByBuyer: Boolean! """ This boolean field indicates whether the message was sent by the seller. """ sentBySeller: Boolean! } """ This error type indicates the specified purchase quote cannot be found. """ type PurchaseQuoteNotFoundError implements BusinessError { """ The globally unique error code for this business error. For this type, the value is `PURCHASE_QUOTE_NOT_FOUND`. """ errorCode: String! """ A human-readable description of the error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the purchase quote that was not found. """ purchaseQuoteId: ID! } """ This type is used to indicate that a purchase quote has been requested by a buyer. """ type PurchaseQuoteRequested implements Labeled { """ The human-readable label representing a purchase quote has been requested by a buyer. **Maximum length**: 100 characters. """ label: String! } """ This type is used to show any return request that is open against a purchase quote line item. """ type PurchaseQuoteReturn { """ This object shows the unique identifier of a return request that is open against a purchase quote line item. """ return: [OrderReturn] } """ This is the base input type used for **purchaseQuotes** queries. The **sellerPurchaseQuotes** container is used when queries are being made on behalf of an authenticated seller, and the **buyerPurchaseQuotes** container is used when queries are being made on behalf of an authenticated buyer. """ type PurchaseQuotes { """ This object is used to retrieve purchase quotes for an authenticated buyer. Filters are available to allow the user to include or exclude purchase quotes in specific states. A user can also retrieve purchase quotes(s) for a specific listing. Pagination parameters are also available that lets a user control the number of purchase quotes returned per page of results, and to retrieve a specific page of results based on a **pageCursor** value. """ buyerPurchaseQuotes(input: PurchaseQuotesInput!): PaginatedPurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" ]) """ This object is used to retrieve purchase quotes for an authenticated seller. Filters are available to allow the user to include or exclude purchase quotes in specific states. A user can also retrieve purchase quote(s) for a specific listing. Pagination parameters are also available that lets a user control the number of purchase quotes returned per page of results, and to retrieve a specific page of results based on a **pageCursor** value. """ sellerPurchaseQuotes(input: PurchaseQuotesInput!): PaginatedPurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) } """ This output type is used when a **purchaseQuotesByIds** query fails completely, and none of the specified purchase quotes were successfully retrieved. The **failures** array will show the identifiers of the purchase quotes that were not successfully retrieved, and the error fields will provide more details on the issue(s) that caused the query to fail. """ type PurchaseQuotesByIdsCompleteFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `PURCHASE_QUOTES_BY_IDS_COMPLETE_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of purchase quotes that could not be retrieved and the error(s) that led to the failure. """ failures: [PurchaseQuotesByIdsError!]! } """ This type displays the unique identifiers of all purchase quotes that were not successfully retrieved, and the error(s) that caused them not to be retrieved. """ type PurchaseQuotesByIdsError { """ A user-friendly, non-localized message describing the error. """ displayMessage: String! """ The unique identifier of the error. Below are the three errors that may occur: - `INVALID_INPUT`: This error indicates that the purchase quote ID is not recognized or it doesn't belong to the authenticated eBay user. - `TEMPORARILY_NOT_AVAILABLE`: This error indicates that a system error occurred. This error may occur with a complete failure, and the user can try again after a short period of time. - `DEPENDENCY_TIME_OUTE`: This error indicates that the request timed out, and the user can try again after a short period of time. """ errorCode: String! """ The unique identifier of the purchase quote that failed to be retrieved. """ inputPurchaseQuoteId: ID! """ This boolean indicates whether or not the user should try to retrieve the corresponding purchase quote again. If this field is returned as `true`, the user can make another attempt to retrieve the purchase quote. """ retryable: Boolean! } """ This input type is used to identify one or more purchase quotes to retrieve in a **purchaseQuoteByIds** query. """ input PurchaseQuotesByIdsInput { """ This array is used to provide from 1 up to 100 purchase quote identifiers when using a *purchaseQuoteByIds** query. A comma is used as a delimiter for each purchase quote identifier. """ purchaseQuoteIds: [ID!]! } """ This union type is used to represent the possible outcomes of the **purchaseQuotesByIds** query. """ union PurchaseQuotesByIdsOutput = PurchaseQuotesByIdsCompleteFailure | PurchaseQuotesByIdsPartialFailure | PurchaseQuotesByIdsSuccess """ This output type is used when a **purchaseQuotesByIds** query is partially successful, where one or more specified purchase quotes were successfully retrieved, but one or more other specified purchase quotes failed to be retrieved. The **purchaseQuotes** array will display all purchase quotes that were successfully retrieved, the **failures** array will show the identifiers of the purchase quotes that were not successfully retrieved, and the error fields will provide more details on the issue(s) that caused the query to only be partially successful. """ type PurchaseQuotesByIdsPartialFailure implements BusinessError { """ The unique identifier of the error. **Note**: Currently this field will always show `PURCHASE_QUOTES_BY_IDS_PARTIAL_FAILURE`. """ errorCode: String! """ The developer-friendly description of the error is shown in this field. """ errorMessage: String! """ This array shows the full list of purchase quotes that could not be retrieved and the error(s) that caused the failure. """ failures: [PurchaseQuotesByIdsError!]! """ This array shows the full list of successfully retrieved purchase quotes. """ purchaseQuotes: [PurchaseQuote!]! } """ This output type is used when a **purchaseQuotesByIds** query is fully successful and all purchase quotes were successfully retrieved. """ type PurchaseQuotesByIdsSuccess { """ This array shows the full list of purchase quotes matching the provided identifiers. """ purchaseQuotes: [PurchaseQuote!]! } """ This type is used in a **sellerPurchaseQuotes** or **buyerPurchaseQuotes** query to provide one or more filters and to control the amount of purchase quotes that are returned per page of results. """ input PurchaseQuotesFirstPageInput { """ This object is used to provide one or more filters for the query, including a **listingId** filter, a date range filter, and filters based on states. Sort parameters are also available. """ filter: PurchaseQuoteFirstFilterInput! """ This field is used to control the amount of purchase quotes that are returned per page of results. If this field is not used, up to 200 purchase quotes are returned per page. **Minimum value**: 1 **Maximum value**: 200 """ maxPageSize: Int! } """ This input type is used when retrieving purchase quotes for an authenticated seller or buyer. The **purchaseQuotesFirstPage** container is used for an initial search of purchase quotes, and includes parameters to retrieve purchase quotes in specific states and/or from a specific listing, as well as a field to control the number of purchase quotes retrieved per page of results. The **purchaseQuotesPage** container is used for a subsequent search of purchase quotes, and allows the user to retrieve the next or previous page of results if the query produced multiple pages of results. **Note**: Either the **purchaseQuotesFirstPage** container or the **purchaseQuotesPage** container may be used, but not both. """ input PurchaseQuotesInput { """ This object is used for the initial query of purchase quotes, and includes parameters to retrieve purchase quotes in specific states and/or from a specific listing, as well as a field to control the number of purchase quotes retrieved per page of results. """ purchaseQuotesFirstPage: PurchaseQuotesFirstPageInput """ This object is used for a subsequent search of purchase quotes, and allows the user to retrieve the next or previous page of results if the query produced multiple pages of results. """ purchaseQuotesPage: PageInfoInput } """ This enumeration type contains the sort values that may be used when configuring sorting for a **sellerPurchaseQuotes** or a **buyerPurchaseQuotes** query. """ enum PurchaseQuoteSortField { """ If this value is used, purchase quotes are sorted according to creation date. """ CREATED_AT """ If this value is used, purchase quotes are sorted according to the last time they were updated. """ UPDATED_AT } """ This type is used to control how purchase quotes are sorted in the query response. """ input PurchaseQuoteSortInput { """ The enumeration value here controls whether purchase quotes are sorted according to creation date or last update action. The supported values are: - CREATED_AT - UPDATED_AT **Default**: CREATED_AT """ sortField: PurchaseQuoteSortField! """ The enumeration value here controls whether purchase quotes are sorted in descending (most recent first) or ascending order. The supported values are: - DESC - ASC **Default**: DESC """ sortOrder: SortOrder! } """ This is the base output type used for **purchaseQuotes** queries. The **sellerPurchaseQuotes** container is used when queries are being made on behalf of an authenticated seller, and the **buyerPurchaseQuotes** container is used when queries are being made on behalf of an authenticated buyer. Purchase quote views for the authenticated user. """ type PurchaseQuotesOutput { """ This object shows all purchase quotes that match the search criteria for an authenticated seller. """ buyerPurchaseQuotes(input: PurchaseQuotesInput!): PaginatedPurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" ]) """ This object shows all purchase quotes that match the search criteria for an authenticated seller. """ sellerPurchaseQuotes(input: PurchaseQuotesInput!): PaginatedPurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) } """ This union type is used to express the different states of purchase quotes. """ union PurchaseQuoteState = PurchaseQuoteActive | PurchaseQuoteCancelled | PurchaseQuoteCompleted | PurchaseQuoteInvalid | PurchaseQuoteLocked | PurchaseQuoteRequested """ This type shows cost breakdown details for a purchase quote, including total cost, taxes, shipping discounts, and additional charges. """ type PurchaseQuoteTotals { """ This object shows any additional charges for handling/processing fees that the seller may have applied to the purchase quote. The amount entered will increase the total cost for the purchase quote by this amount. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ additionalCharge: AmountSet! """ This object shows any shipping discount that the seller may have applied to the purchase quote. The amount here will reduce the cumulative shipping cost for all item commitments in the purchase quote by this amount. **Note**: If one or more item commitments in the purchase quote already have a shipping discount applied, the value supplied here will be an additional shipping discount. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ shippingDiscount: AmountSet! """ This object shows all of the tax details applicable to the purchase quote. """ taxes: OrderTaxes """ This object shows the total cost for the purchase quote, including cost for all items, taxes, shipping discounts, and additional charges. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ total: AmountSet! } """ This type is used to add or modify handling charges and/or a shipping discount for a purchase quote. """ input PurchaseQuoteTotalsInput { """ This object is used if the seller is adding or modifying additional charges for handling/processing fees for the purchase quote. The amount entered will increase the total cost for the purchase quote by this amount. **Note**: The default currency of the eBay listing marketplace should be used. """ additionalCharge: AmountInput """ This object is used if the seller agrees to offer a new shipping discount to the buyer for the purchase quote or to adjust an existing shipping discount for the purchase quote. The amount entered will reduce the cumulative shipping cost for all item commitments in the purchase quote by this amount. **Note**: Any shipping discount applied at the purchase quote level will override any shipping discounts applied at the item commitment level. **Note**: This shipping discount must be equal to or less than the the cost for the cheapest available shipping option. **Note**: The default currency of the eBay listing marketplace should be used. """ shippingDiscount: AmountInput } """ This type shows any item commitment tags added by the seller to the purchase contract. **Note**: Item commitment tags can only be added by seller. """ type PurchaseTags { """ This boolean field indicates whether or not the seller has acknowledged the item commitment tags. """ sellerAcknowledged: Boolean """ This array shows the list of item commitment tags that have been added to the purchase contract. """ tags: [String!] } """ The root query type for eBay's GraphQL API. """ type Query { """ This query returns rate limit usage for the application identified by the OAuth token. If the input is omitted, all available application-level rate limits are returned. If the input filter is invalid or no rate limits match the filter, an empty array is returned. """ applicationApiRateLimits(input: ApplicationApiRateLimitsInput): ApplicationApiRateLimitsOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope"]) """ This query returns bulk data transfer threshold metrics for the calling context. Third-party developers can use this information to monitor current usage against policy thresholds and identify the APIs contributing to that usage. The query is read-only and does not change threshold limits or usage counts. """ bulkDataTransferThresholds(input: BulkDataTransferThresholdsInput): BulkDataTransferThresholdsOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope"]) """ This query returns rate limit usage for the end user identified by the OAuth token. If the input is omitted, all available user-level rate limits are returned. If the input filter is invalid or no rate limits match the filter, an empty array is returned. """ userApiRateLimits(input: UserApiRateLimitsInput): UserApiRateLimitsOutput @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.inventory" "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" "https://api.ebay.com/oauth/api_scope/sell.marketplace.insights.readonly" "https://api.ebay.com/oauth/api_scope/commerce.catalog.readonly" "https://api.ebay.com/oauth/api_scope/sell.marketing" "https://api.ebay.com/oauth/api_scope/sell.marketing.readonly" ]) """ Query to return auction and bid information for a specified listing. This query returns auction details such as current price, highest bid, etc., as well as bidder information. **Note**: When auction and bid information is requested by a buyer, their username and other private information is restricted to their data. """ itemBiddingActivity(input: ItemBiddingActivityInput!): ItemBiddingActivityOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.auction.read" "https://api.ebay.com/oauth/api_scope/buy.auction" "https://api.ebay.com/oauth/api_scope/sell.auction.read" "https://api.ebay.com/oauth/api_scope/sell.auction" ]) """ Query to return a list of all items on which the user is currently bidding, as well as those that they have previously won or purchased. The user id for this query is obtained from the auth token. ### HTTP Headers - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the calling context. Defaults to EBAY-US. """ userBiddingActivity(input: UserBiddingActivityInput!): UserBiddingActivityOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.auction.read" "https://api.ebay.com/oauth/api_scope/buy.auction" ]) """ The **contractCancellation** query retrieves details about a contract cancellation by its ID. """ contractCancellation(input: ContractCancellationInput!): ContractCancellationOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.cancellation.read" "https://api.ebay.com/oauth/api_scope/buy.cancellation" "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ The **sellerContractCancellations** query retrieves a list of contract cancellations with optional filtering. """ sellerContractCancellations(input: SellerContractCancellationsInput!): SellerContractCancellationsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.cancellation.read" "https://api.ebay.com/oauth/api_scope/sell.cancellation" ]) """ This query can be used to retrieve item commitments associated with a user. """ itemCommitments: ItemCommitmentsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) """ This query is used to retrieve detailed information on up to 100 of an authenticated user's item commitments. """ itemCommitmentsByIds(input: ItemCommitmentsByIdsInput!): ItemCommitmentsByIdsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) """ This query can be used to retrieve a user's saved searches. If successful, this query returns a list of a user's saved searches and information about each, such as their creation date, unique identifier, name, and URL. By default, saved searches are returned by the date they were saved, with the most recent first. Pagination settings can be specified in the input to control the page size of the response and navigation through the result set. """ userSavedSearches(input: UserSavedSearchesInput): UserSavedSearchesOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.follow.read"]) """ This query can be used to retrieve a user's saved sellers. If successful, this query returns a list of a user's saved sellers and information about each, such as the date and time the user saved the seller, their unique identifier, their login name, their eBay store name, and the URL to their profile picture. By default, saved sellers are returned by the date they were saved, with the most recent first. Pagination settings can be specified in the input to control the page size of the response and navigation through the result set. """ userSavedSellers(input: UserSavedSellersInput = { sort: DATE_ADDED_DESC }): UserSavedSellersOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/buy.follow.read"]) """ The listingPreviewsCreationTaskById query retrieves a ListingPreviewsCreationTask by ID. The data returned includes the task's status and results, including the listing previews created and any products not processed, unmapped, or invalid. Use this query to check task status or obtain the results of converting a seller's external products into eBay listing previews. You can call this query immediately after submitting the startListingPreviewsCreation mutation to check the task's status. However, if that mutation has not completed, the query may return a null or an incomplete result. """ listingPreviewsCreationTaskById(input: ListingPreviewsCreationTaskByIdInput!): ListingPreviewsCreationTaskByIdOutput @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inventory.mapping"]) """ This query can be used to retrieve full inquiry details for an inquiry, specified by its inquiry ID. This includes inquiry status, refund status, review/resolution flow, buyer/seller information, and shipment activity. """ orderInquiry(input: OrderInquiryInput!): OrderInquiryOutput @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.inquiry" "https://api.ebay.com/oauth/api_scope/buy.inquiry.read" "https://api.ebay.com/oauth/api_scope/sell.inquiry" "https://api.ebay.com/oauth/api_scope/sell.inquiry.read" ]) """ This query can be used to retrieve a paginated list of order inquiries visible to the seller. This query supports standard filters, sorting, and offset-based pagination. **Note**: This query does not raise errors for invalid or conflicting filter values. If filters are inconsistent (e.g., end date before start date), the server will return an empty result set. """ sellerOrderInquiries(input: SellerOrderInquiriesInput!): SellerOrderInquiriesOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.inquiry" "https://api.ebay.com/oauth/api_scope/sell.inquiry.read" ]) """ This query searches for a seller's listings based on the provided criteria. The user issuing the call **must** be the seller associated with the listings. """ sellerListingSearch: SellerListingSearchOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.listing.read" "https://api.ebay.com/oauth/api_scope/sell.listing" ]) """ The **buyerNegotiationHistory** query can be used to retrieve the buyer perspective of the user's negotiation history, such as negotiations for items a buyer is trying to purchase. Upon success, this query returns the **latest offer per negotiation thread**, grouped by item and sorted by most-recent activity in descending order. The **BuyerNegotiationHistoryInput** request object is required. With no **filters** included in this request object, information from the last 90 days will be returned. To further limit the result set, add optional **filters** to the request object. **Note**: The following default filters will be applied if **filters** are not provided in the **BuyerNegotiationHistoryInput** object: - Time window: last `90 days` by most-recent activity (if both **activeAfter** and **activeBefore** are omitted) - Status: `ACTIONABLE` - Initiator: `BUYER` - Pagination: Returns up to 10 item entities per page """ buyerNegotiationHistory(input: BuyerNegotiationHistoryInput!): BuyerNegotiationHistoryOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.offer.read" "https://api.ebay.com/oauth/api_scope/buy.offer" ]) """ The **sellerNegotiationHistory** query can be used to retrieve the seller perspective of the user's negotiation history, such as negotiations on items a seller has listed. Upon success, this query returns the **latest offer per negotiation thread**, grouped by item and sorted by most-recent activity in descending order. The **SellerNegotiationHistoryInput** request object is required. With no **filters** included in this request object, information from the last 90 days will be returned for the seller. To further limit the result set, add optional **filters** to the request object. **Note**: The following default filters will be applied if the **SellerNegotiationHistoryInput** object is omitted: - Time window: last `90 days` by most-recent activity - Status: `ACTIONABLE` - Initiator: `BUYER` - Pagination: Returns up to 10 item entities per page """ sellerNegotiationHistory(input: SellerNegotiationHistoryInput!): SellerNegotiationHistoryOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.offer" "https://api.ebay.com/oauth/api_scope/sell.offer.read" ]) """ This query can be used to retrieve one or more line items from orders using their unique IDs. This allows for direct access to individual line items without requiring retrival of the full order. Use this query for operations requiring a line-item level retrieval such as fulfillment, returns, or inventory processing. You can access up to 100 identifiers for each query. **Note**: Line items not found will be excluded from the results. ### HTTP Headers   - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the calling context. Defaults to EBAY-US. """ orderLineItemsByIds(input: OrderLineItemsByIdsInput!): OrderLineItemsByIdsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ This query can be used to retrieve detailed information about one or more of a user's orders. ### HTTP Headers   - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the calling context. Defaults to EBAY-US. """ orders: OrdersOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ This query can be used to retrieve one or more orders by their unique IDs. You can access up to 100 identifiers for each query. **Note**: Orders not found will be excluded from the results. ### HTTP Headers   - **X-EBAY-C-MARKETPLACE-ID**: Determines the site/marketplace id associated with the calling context. Defaults to EBAY-US. """ ordersByIds(input: OrdersByIdsInput!): OrdersByIdsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ This query is used to retrieve detailed information on up to 100 of an authenticated user's purchase quote line items. Each returned purchase quote line item includes pricing details, available logistics options, and serves as the source of truth during checkout. **Note**: If an purchase quote line item is not found, it will not be included in the output. """ purchaseQuoteLineItemsByIds(input: PurchaseQuoteLineItemsByIdsInput!): PurchaseQuoteLineItemsByIdsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ This query is used to search for and retrieve detailed information on multiple purchase quotes. Each returned purchase quote includes pricing details, available logistics options, and serves as the source of truth during checkout. This query includes filters that can be used to retrieve purchase quote(s) for a specific listing, or one or more of the boolean fields can be used to retrieve purchase quotes in certain states. There is also pagination control available. """ purchaseQuotes: PurchaseQuotesOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ This query is used to retrieve detailed information on up to 100 of an authenticated user's purchase quotes using provided purchase quote identifiers. Each returned purchase quote includes pricing details, available logistics options, and serves as the source of truth during checkout. **Note**: If an purchase quote is not found, it will not be included in the output. """ purchaseQuotesByIds(input: PurchaseQuotesByIdsInput!): PurchaseQuotesByIdsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ The **orderReturn** query retrieves information on a specific return by return ID. Sellers can use this query to view and manage returns requiring action by the seller, buyer, or eBay. Buyer's can use this query to return the request's status (such as requested, open, closed), associated order and items, seller decisions or messages, and any buyer actions that are available. **Note**: Returns are handled at order line item level. """ orderReturn(input: OrderReturnInput!): OrderReturnOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" "https://api.ebay.com/oauth/api_scope/buy.return.read" "https://api.ebay.com/oauth/api_scope/buy.return" ]) """ The **sellerOrderReturns** query retrieves a list of order returns for the seller, with filtering and sorting options. Sellers can use this query to view and manage returns requiring action by the seller, buyer, or eBay, as well as filter results by date range or other supported return attributes. """ sellerOrderReturns(input: SellerOrderReturnsInput!): SellerOrderReturnsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" ]) """ The **sellerReturnPreference** query retrieves the return preferences set by a seller on a specified marketplace. Sellers can use this query to view the preferences that control or automate steps in the return process. If a marketplace is not provided in the query, preferences for `EBAY_US` are returned. """ sellerReturnPreference(input: SellerReturnPreferenceInput!): SellerReturnPreferenceOutput! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return.preference"]) """ This query can be used by a seller to retrieve the details of a listing specified by its **listingId** value. The user using the query **must** be the seller associated with the listing. """ sellerListings(input: SellerListingsInput!): SellerListingsOutput @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.listing.read" "https://api.ebay.com/oauth/api_scope/sell.listing" ]) """ Retrieves the user information for the current authenticated user. """ user: User @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/commerce.identity.readonly" "https://api.ebay.com/oauth/api_scope/commerce.identity.name.readonly" "https://api.ebay.com/oauth/api_scope/commerce.identity.address.readonly" "https://api.ebay.com/oauth/api_scope/commerce.identity.email.readonly" "https://api.ebay.com/oauth/api_scope/commerce.identity.phone.readonly" ]) """ The **userCustomLists** query can be used to retrieve one, multiple, or all of a user's custom Watchlists. """ userCustomLists(input: UserCustomListsInput): UserCustomListsOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.watchlist.read" "https://api.ebay.com/oauth/api_scope/buy.watchlist" ]) """ The **userWatchList** query can be used to retrieve a user's default Watchlist. """ userWatchList(input: UserWatchListInput): UserWatchListOutput! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.watchlist.read" "https://api.ebay.com/oauth/api_scope/buy.watchlist" ]) """ This query can be used to retrieve the metadata for one or more videos, specified by their **videoId** value. This query returns the title, size, description, ID, playlist, status, expiration date, and thumbnail image of the retrieved video(s). Up to 100 video IDs can be input in this query. """ videosByIds(input: VideosByIdsInput): VideosByIdsResult @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.inventory"]) } """ This enumerated type contains the values that indicate the success of matching a rate limit target to an API operation. """ enum RateLimitTargetFilterStatus { """ This value indicates that the filter exactly matched the rate limit target. """ EXACT """ This value indicates that the filter did not match any rate limit target. """ NO_MATCH """ This value indicates that the filter partially matched a rate limit target that contains multiple targets. """ PARTIAL """ This value indicates that no rate limit target filter was used. """ UNFILTERED } """ This interface defines the common fields that describe a rate limit time window. """ interface RateLimitWindow { """ This field returns the date and time when the rate limit window resets. """ resetAt: DateTime! """ This field returns the length of the rate limit window in seconds. """ timeWindow: Int! } """ This type provides count-based rate limit details for an API target. """ type RateLimitWindowByCount implements RateLimitWindow { """ This field returns the number of requests made during the current time window. """ count: Long! """ This field returns the maximum number of requests allowed during the current time window. """ limit: Long! """ This field returns the number of requests remaining before the current time window resets. """ remaining: Long! """ This field returns the date and time when the count-based rate limit window resets. """ resetAt: DateTime! """ This field returns the length of the count-based rate limit window in seconds. """ timeWindow: Int! } """ This type indicates that the buyer received an empty box. """ type ReceivedEmptyBox implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `RECEIVED_EMPTY_BOX`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **recordReturnLabelSentOffline** mutation used to record the return label as sent for the return. Sellers or eBay partners use this mutation to indicate that they have sent the return label to the buyer. """ input RecordReturnLabelSentOfflineInput { """ returnLabelProvisionOfflineChannel is used to provide the channel through which the return label was provided to the buyer. """ offlineReturnLabelChannel: OfflineReturnLabelChannelInput! """ The unique identifier of the return request for which the return label is being marked as sent. This must be a valid return ID that the user has permission to access. """ returnId: ID! """ This field is used to provide carrier and tracking information for the return shipment label that has been sent. This is optional and if not provided indicates that the return label has been sent for untracked shipping carriers. """ trackings: [ReturnLabelTrackingInput!] } """ This error type indicates that one or more validation errors occurred while recording the return label as sent offline. """ type RecordReturnLabelSentOfflineInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_RECORD_OFFLINE_LABEL_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [RecordReturnLabelSentOfflineInputViolation!]! } """ This interface represents input violations detected during record return label sent offline request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for recording a return label sent offline. These rules may include: - maximum allowed characters for tracking number and carrier name - accepted values or codes for tracking number Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration """ interface RecordReturnLabelSentOfflineInputViolation { """ A machine-readable code identifying the specific record return label sent offline input violation. """ code: String! """ A human-readable message describing the record return label sent offline input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base union type for **recordReturnLabelSentOffline** mutation indicates if the return label has been recorded as sent and any errors encountered. """ union RecordReturnLabelSentOfflineOutput = OrderReturn | RecordReturnLabelSentOfflineInputValidationError | ReturnActionNotPermittedError | ReturnNotFoundError """ This action type is used by a seller to notify eBay that the returned item has been received. This is applicable for non-trackable returns, such as freight shipments, where tracking information is unavailable. """ type RecordReturnReceivedAction implements ReturnAction { """ A machine-readable return action code: `RECORD_RETURN_RECEIVED`. """ code: String! """ The human-readable text for return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **recordReturnReceived** mutation which manually marks a return as received. It enables sellers and eBay partners to confirm receipt of the returned item from the buyer, typically for non-trackable returns. """ input RecordReturnReceivedInput { """ The unique identifier of the Return which is being marked as received. """ returnId: ID! } """ This base response union type for the **recordReturnReceived** mutation records the return as received and returns any errors encountered. """ union RecordReturnReceivedOutput = OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError """ This type defines any input arguments that contain references to data that could not be found. When a field accepts arguments that are references to other other data (typically arguments with type `ID`), it may return this type if any of the referenced data can't be found. This type must only be used with fields that directly accept arguments. """ type ReferenceArgumentsNotFound implements BusinessError { """ The names of the input fields that contain references to data that could not be found. **Maximum length per item**: 100 characters **Format**: Alphanumeric characters and underscores, matching GraphQL field names """ argumentNames: [String!]! """ A unique identifier for this specific error type. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. Each error type will always return the same **errorCode** value. **Maximum length**: 40 characters """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters """ errorMessage: String! } """ This type represents a single refund that was executed on a purchase contract. """ type Refund { """ The unique identifier of the refund. """ refundId: ID! """ This object provides a breakdown of the refund for the buyer. This can be requested only if the user context is the buyer on the contract. """ buyerRefundBreakdown: BuyerRefundBreakdown! """ This array specifies how the refund was distributed to the payee. The payee could be the buyer who receives the funds from the refund, or eBay that receives the funds due to withholding for label costs or eBay coupons that funded the original payment. **Note**: This field cannot be accessed by a seller. """ distributions: [PayeeRefundDistribution!]! """ This array specifies how the refund was funded by the payer. The payer could be the seller who is funding the amount or an eBay partner funding the amount. **Note**: This field cannot be accessed by a buyer. """ fundings: [PayerRefundFunding!]! """ This boolean field is returned as *true* if eBay provided any upfront provisional refund to the buyer. """ provisionalRefundProvided: Boolean! """ If a buyer's provisional refund is fully or partially reversed by eBay after the seller wins a return/SNAD or INR case, this array will be a breakdown of refund(s) recovered by the seller. """ refundRecoveries: [RefundRecovery!]! """ The current status of the refund. """ refundStatus: RefundStatus! """ This object provides a breakdown of the refund for the seller. This can only be requested if the user context is the seller on the contract. """ sellerRefundBreakdown: SellerRefundBreakdown! } """ This type defines a refund adjustment. A refund refers to the process of returning money to a customer for a purchase they made, typically due to dissatisfaction with the product or service, cancellation of the order, or a mistake in processing the transaction. """ type RefundAdjustment implements OrderAdjustment { """ The unique identifier of the refund adjustment. """ adjustmentId: ID! """ The creation date of the adjustment. """ createdAt: DateTime! """ The refund event associated with this adjustment. """ refund: Refund! """ The current state of the adjustment. """ state: OrderAdjustmentState! """ This timestmap indicates the last update made to the adjustment. """ updatedAt: DateTime! } """ This type defines the error returned when the refund did not go through because of the inability to verify authentication of your payment option. Please change your payment option and try again. """ type RefundAuthorizationFailedError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_AUTHORIZATION_FAILED_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type defines the error returned when there is a payment dispute opened for the entity for which refund is triggered. """ type RefundBlockedByPaymentDisputeError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_BLOCKED_BY_PAYMENT_DISPUTE_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This interface represents the itemized breakdown of a refund, including refund amounts, refunded pricelines, and adjustment details. """ interface RefundBreakdown { """ This array returns the list of pricelines that are being refunded. """ refundPriceLines: [PriceLineRollup!]! """ The total monetary amount of the refund. """ totalRefundAmount: AmountSet! """ The total withholding amount applied on the refund. If this object is returned `null`, there is no withholding amount applied on the refund. """ totalWithholdingAmount: AmountSet """ This array returns the list of withholdings made on the order. If this array is returned `null`, there are no additional withholdings applied on refund. """ withholdings: [RefundWithholding!] } """ This type specifies that the refund is in `COMPLETED` status. """ type RefundCompleted implements RefundStatus { """ The machine-readable status code specifying the status of the refund. **Note**: In this case, the status code will always be returned as `COMPLETED`. """ code: String! """ The human-readable text detailing the status of the refund. """ displayText: String! } """ This type represents a refund decision outcome, including refund amount and who will be charged. """ type RefundDecisionOutcome implements PostPurchaseCaseDecisionOutcome { """ A machine-readable code indicating the type of outcome. """ code: String! """ The monetary amount of the refund issued as part of the decision. """ decisionAmount: AmountSet! """ The human-readable text of the case decision outcome. **Maximum length**: 100 characters """ displayText: String! } """ This type specifies that the refund distribution has been cancelled. """ type RefundDistributionCancelled implements RefundDistributionState { """ The machine-readable status code specifying the state of refund distribution cancellation. **Note**: In this case, the status code will always be returned as `REFUND_DISTRIBUTION_CANCELLED`. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This type defines the state for refund distribution completion. """ type RefundDistributionCompleted implements RefundDistributionState { """ The machine-readable status code specifying the state of refund distribution once it has been completed. **Note**: In this case, the status code will always be returned as `REFUND_DISTRIBUTION_COMPLETED`. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This type defines the distribution execution details for a refund. """ type RefundDistributionExecution { """ The total monetary amount that is transferred from the source account to the destination account. """ amount: AmountSet! """ The date and time when the execution was attempted, regardless success or failure. """ attemptedAt: DateTime! """ The date and time when the execution was completed, regardless success or failure. """ completedAt: DateTime """ The payment method where funds were distributed. """ paymentMethod: RefundPaymentMethod """ The state of the payment. """ state: PaymentState! } """ This type defines the state for refund distribution failure. """ type RefundDistributionFailed implements RefundDistributionState { """ The machine-readable status code specifying the state of refund distribution failure. **Note**: In this case, the status code will always be returned as `REFUND_DISTRIBUTION_FAILED`. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This type defines the initial state of a refund distribution at the time of creation. """ type RefundDistributionInitiated implements RefundDistributionState { """ The machine-readable status code specifying the state of refund distribution at the time of creation. **Note**: In this case, the status code will always be returned as `REFUND_DISTRIBUTION_INITIATED`. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This type defines the state of a refund distribution in progress. """ type RefundDistributionInProgress implements RefundDistributionState { """ The machine-readable status code specifying the state of refund distribution in progress. **Note**: In this case, the status code will always be returned as `REFUND_DISTRIBUTION_IN_PROGRESS`. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This interface defines the refund payment distribution state. """ interface RefundDistributionState { """ The machine-readable status code for refund distribution. """ code: String! """ The human-readable status for refund distribution. """ displayText: String! } """ This type indicates that the buyer was already refunded through the eBay platform. """ type RefundedBuyer implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `REFUNDED_BUYER`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type provides an estimation breakdown of a refund for both the buyer and seller. """ type RefundEstimate { """ This object returns an itemized breakdown of the refund estimate for buyer. This information can be requested only if the user context is of buyer on the contract. """ buyerRefundEstimateBreakdown: BuyerRefundEstimateBreakdown! """ This object returns an itemized breakdown of the refund estimate for seller. This information can only be requested if the user context is of seller on the contract. """ sellerRefundEstimateBreakdown: SellerRefundEstimateBreakdown! } """ This interface represents the itemized breakdown of a refund estimate and provides the estimated refund amount along with all with holdings, pricelines, etc. """ interface RefundEstimateBreakdown { """ This array returns a list of withholdings made on the order. If this array is empty, no additional withholdings have been applied to the refund estimation. """ estimatedWithholdings: [RefundWithholding!]! """ This array returns a list of pricelines that are being refunded. """ refundPriceLines: [PriceLineRollup!]! """ The estimated total monetary amount of the refund. """ totalEstimatedRefundAmount: AmountSet! """ The estimated total withholding amount on the refund. **Note**: If this object is returned `null`, there is no withholding amount applied for refund estimation. """ totalEstimatedWithholdingAmount: AmountSet } """ This type specifies that the refund is in `FAILED` status. """ type RefundFailed implements RefundStatus { """ The machine-readable status code specifying the status of the refund. **Note**: In this case, the status code will always be returned as `FAILED`. """ code: String! """ The human-readable status detailing the status of the refund. """ displayText: String! } """ This type specifies that the refund funding has been cancelled. """ type RefundFundingCancelled implements RefundFundingState { """ The machine-readable status code specifying the cancelled state of the funding. **Note**: In this case, the status code will always be returned as `REFUND_FUNDING_CANCELLED`. """ code: String! """ The human-readable status for refund funding. """ displayText: String! } """ This type defines the state for refund funding completion. """ type RefundFundingCompleted implements RefundFundingState { """ The machine-readable status code specifying the state of the funding completion. **Note**: In this case, the status code will always be returned as `REFUND_FUNDING_COMPLETED`. """ code: String! """ The human-readable status for refund funding. """ displayText: String! } """ This type defines the funding execution details for a refund. """ type RefundFundingExecution { """ The total monetary amount that is transferred from the source account to the destination account. """ amount: AmountSet! """ The date and time when the execution was attempted, regardless success or failure. """ attemptedAt: DateTime! """ The date and time when the execution was completed, regardless success or failure. """ completedAt: DateTime """ The payment method that funded the refund. """ paymentMethod: RefundPaymentMethod """ The state of the payment. """ state: PaymentState! } """ This type defines the state for refund funding failure. """ type RefundFundingFailed implements RefundFundingState { """ The machine-readable status code specifying the state of the funding failure. **Note**: In this case, the status code will always be returned as `REFUND_FUNDING_FAILED`. """ code: String! """ The human-readable status for refund funding. """ displayText: String! } """ This type defines the initial state for funding at the time of funding creation. """ type RefundFundingInitiated implements RefundFundingState { """ The machine-readable status code specifying the state of the funding at the time of funding creation. **Note**: In this case, the status code will always be returned as `REFUND_FUNDING_INITIATED`. """ code: String! """ The human-readable status for refund funding. """ displayText: String! } """ This type defines the state for refund funding in progress. """ type RefundFundingInProgress implements RefundFundingState { """ The machine-readable status code specifying the state of the funding in progress. **Note**: In this case, the status code will always be returned as `REFUND_FUNDING_IN_PROGRESS`. """ code: String! """ The human-readable status for refund funding. """ displayText: String! } """ This interface defines the payment funding state of a refund. """ interface RefundFundingState { """ The machine-readable status code specifying the funding state of a refund. """ code: String! """ The human-readable status detailing the funding state of a refund. """ displayText: String! } """ This type specifies that the refund is in `IN_PROGRESS` status. """ type RefundInProgress implements RefundStatus { """ The machine-readable status code specifying the status of the refund. **Note**: In this case, the status code will always be returned as `IN_PROGRESS`. """ code: String! """ The human-readable text detailing the status of the refund. """ displayText: String! } """ This type defines the error returned when a refund instrument is unable to be verified. Please ensure the instrument and identification details match on your card, or change your payment option below and try refunding again. """ type RefundInstrumentDeclinedError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_INSTRUMENT_DECLINED_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type defines the error returned when a refund fails due to insufficient funds. """ type RefundInstrumentInsufficientFundsError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_INSTRUMENT_INSUFFICIENT_FUNDS_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type defines the error returned when a refund fails due to an invalid refund instrument. """ type RefundInstrumentInvalidError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_INSTRUMENT_INVALID_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type indicates that the buyer has not received a refund for the return. """ type RefundNotReceived implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `NO_REFUND_RECEIVED`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type provides details about the payment method used to process a refund. """ type RefundPaymentMethod { """ This object provides details on the payment method used to process the refund. """ paymentType: PaymentMethodType! } """ This type defines the error returned when the refund cannot be processed. Please try again or contact us for help. """ type RefundProcessingError implements BusinessError { """ The error code associated with the error. **Note**: In this case, this field will return `RFND_PROCESSING_ERROR`. """ errorCode: String! """ The human-readable error message for the refund error. **Maximum length**: 512 characters """ errorMessage: String! } """ This type is used to provide details if a buyer's provisional refund for an Item Not Received inquiry or SNAD-related return is reversed by eBay if the buyer ends up keeping the item. **Note**" This type is only applicable to buyers. """ type RefundRecovery { """ This object gives the breakdown of a buyer's provisional refund that has been reversed by eBay, and may include refunds against multiple pricelines such as `ITEM_PRICE`, `SHIPPING_COST` or `ITEM_TAX`. """ buyerRefundRecoveryBreakdown: BuyerRefundRecoveryBreakdown """ The unique identifier of the buyer's refund recovery. """ refundRecoveryId: ID! """ This object provides the current status of the buyer's refund recovery. """ refundRecoveryStatus: RefundRecoveryStatus! } """ This type specifies that the refund recovery is in 'COMPLETED' status. """ type RefundRecoveryCompleted implements RefundRecoveryStatus { """ The machine-readable status code specifying the status of the refund recovery. **Note**: In this case, the status code will always be returned as 'COMPLETED'. """ code: String! """ The human-readable text detailing the status of the refund recovery. """ displayText: String! } """ This type specifies that the refund recovery is in 'FAILED' status. """ type RefundRecoveryFailed implements RefundRecoveryStatus { """ The machine-readable status code specifying the status of the refund recovery. **Note**: In this case, the status code will always be returned as 'FAILED'. """ code: String! """ The human-readable status detailing the status of the refund recovery. """ displayText: String! } """ This type specifies that the refund recovery is in 'IN_PROGRESS' status. """ type RefundRecoveryInProgress implements RefundRecoveryStatus { """ The machine-readable status code specifying the status of the refund recovery. **Note**: In this case, the status code will always be returned as 'IN_PROGRESS'. """ code: String! """ The human-readable text detailing the status of the refund recovery. """ displayText: String! } """ This interface is used to convey the status of a buyer's refund recovery. """ interface RefundRecoveryStatus { """ The machine-readable status code specifying the status of the refund recovery. """ code: String! """ The human-readable text detailing the status of the refund recovery. """ displayText: String! } """ This type specifies that the refund is in `SCHEDULED` status. """ type RefundScheduled implements RefundStatus { """ The machine-readable status code specifying the status of the refund. **Note**: In this case, the status code will always be returned as `SCHEDULED`. """ code: String! """ The human-readable text detailing the status of the refund. """ displayText: String! } """ This interface defines the status of a refund. """ interface RefundStatus { """ The machine-readable status code specifying the status of the refund. """ code: String! """ The human-readable text detailing the status of the refund. """ displayText: String! } """ This enumerated type indicates the seller's return resolution options, either a refund only, or a refund or a replacement. """ enum RefundType { """ The seller provides refunds only when the buyer returns the product. """ MONEY_BACK """ The seller may provide either a refund or a replacement item when the buyer returns the product. The availability of a replacement item may depend on item stock and policy. """ MONEY_BACK_OR_REPLACEMENT } """ This interface represents any withholding applied on the refund contract. These withholding can happen from any party who is funding the refund and can reduce the refund/charge amount. """ interface RefundWithholding { """ The monetary amount being withheld from the gross refund amount. """ amount: AmountSet! """ The name of the withholding. """ name: String! } """ This type is used to display country-specific product compliance policies. Each marketplace may have up to six product compliance policies. """ type RegionalProductCompliancePolicies { """ This object contains one or more regional product compliance policies applied to the listing and which country the policies apply to. """ countryPolicies: [CountryPolicy!] } """ This type is used to display a country-specific take-back policy. Each country can have only one take-back policy, but up to five different countries can have their own version of a take-back policy. The law in some countries may require sellers to take back a used product when the buyer buys a new product. """ type RegionalTakeBackPolicies { """ This object contains one regional take-back policy applied to the listing and which country the policy applies to. """ countryPolicies: [CountryPolicy!] } """ This type is used to show the regulatory documents that are attached to the listing. These documents provide various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ type RegulatoryDocument { """ This field specifies the document ID of the document that is associated with the listing. """ id: ID } """ This type is used to show various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ type RegulatoryInfo { """ This object is used specify regulatory document ids information for the listing. """ documents: [RegulatoryDocument!] """ This object provides information about the energy efficiency for certain durable goods. """ energyEfficiencyLabel: EnergyEfficiencyLabel """ This object is used by the seller to provide hazardous material information for the listing. """ hazardousMaterial: HazardousMaterial """ The contact details for the EU-based manufacturer of a product. """ manufacturer: Manufacturer """ This object is used by the seller to provide product safety information for the listing. """ productSafety: ProductSafety """ This field represents the repair index score for the listing. The repair index score identifies the manufacturer's repair score for a product (how easy is it to repair the product). This field is a floating point value between 0 and 10 **Min value**: 0.1 **Max value**: 10.0 """ repairIndexScore: Decimal """ The contact details for the Responsible Person along with Person Type, for the product. **Note**: A responsible person is needed if the manufacturer of the product is not based in an EU-based country. """ responsiblePersons: [ResponsiblePerson!] } """ This type defines the priceline for Regulatory Tax Fee. """ type RegulatoryTaxFee implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `TAX_FEE`. """ name: String! } """ This type is used to add or modify auction-specific pricing settings for auction listings. """ input RelistListingAuctionPriceInput { """ This field is used to set the lowest price at which the seller is willing to sell an auction listing. A small fee is charged to use this feature. If the **reservePrice** field value is not met or surpassed during bidding, the auction will end without a winning bidder. This price must be higher than the **startingBidPrice**. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Note**: The **reservePrice** value for an ended auction listing may retain that value. Regardless if the **reservePrice** value is retained or not, it is a good idea for the seller to evaluate the price and make an update if desired. """ reservePrice: Decimal """ This field is mandatory for auction listings and sets the starting bid amount. The first bid must meet or exceed this value or it will be rejected. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Note**: The **startingBidPrice** value for an ended auction listing should retain that value. Regardless if the **startingBidPrice** value is retained or not, it is a good idea for the seller to evaluate the price and make an update if desired. """ startingBidPrice: Decimal } """ This type is used to make changes to **Best Offer** settings, including enabling or disabling the Best Offer feature, or to add, modify, or remove the auto-accept and auto-reject thresholds. """ input RelistListingBestOfferTermsInput { """ Include this field to set, modify, or remove the auto-accept threshold price. Best Offers will be automatically accepted by the seller if they meet or exceed the price. For this field to have an effect, the listing category must support the Best Offer auto-accept feature and the corresponding **bestOfferEnabled** field must be included and set to `true`. **Note**: To remove the auto-accept threshold price if one is set up for the listing, included this field and use an empty or null value. """ autoAcceptThreshold: Decimal """ Include this field to set, modify, or remove the auto-decline threshold price. Best Offers will be automatically declined by the seller if the price is at or below this value. For this field to have an effect, the listing category must support the Best Offer auto-decline feature and the corresponding **bestOfferEnabled** field must be included and set to `true`. **Note**: To remove the auto-decline threshold price if one is set up for the listing, included this field and use an empty or null value. """ autoDeclineThreshold: Decimal """ This field is used to enable or disable the Best Offer feature for a fixed-price or auction listing. If set to `true`, the Best Offer feature is enabled, allowing potential buyers to make offers on the item. If set to `false` the Best Offer feature is disabled. **Note**: For auction listings, the Buy It Now and Best Offer features cannot be used simultaneously. **Note**: If Best Offer is enabled for an auction listing, it is automatically disabled as soon as the listing receives a qualifying bid, and any pending offers or counteroffers are invalidated. """ bestOfferEnabled: Boolean } """ This type is used to add or modify the street address for a business entity such as the product manufacturer or responsible person. """ input RelistListingBusinessEntityAddressInput { """ This field adds or modifies the first line of the entity's street address. **Maximum length**: 180 characters """ addressLine1: String """ This field adds or modifies the second line of the entity's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. **Maximum length**: 180 characters """ addressLine2: String """ This field adds or modifies the city of the entity's street address. **Maximum length**: 64 characters """ city: String """ The two letter ISO 3166-1 standard abbreviation of the country of the entity's address. """ country: CountryAlpha2Code """ This field adds or modifies the postal code of the entity's street address. **Maximum length**: 9 characters """ postalCode: String """ This field adds or modifies the state or province of the entity's street address. **Maximum length**: 64 characters """ stateOrProvince: String } """ This type is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the product manufacturer or responsible person. At least one of the three fields in this type must be specified for a product manufacturer or responsible person. """ input RelistListingBusinessEntityContactInput { """ This field is used to specify the entity's URL for their online Contact Us/Support page. **Maximum length**: 250 characters """ contactUrl: HttpOrHttpsUrl """ This field is used to add or modify the entity's email address. **Maximum length**: 180 characters """ email: String """ This field is used to add or modify the entity's phone number. **Maximum length**: 64 characters """ phone: String } """ This type is used to disable or enable a seller's account-level buyer restrictions and/or set or modify a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ input RelistListingBuyerRestrictionsInput { """ This field can be included and set to `true` if the seller wishes to disable all buyer restrictions (that are set in the seller's account) for the listing, or set to `false` if the seller wishes to have all account-level buyer restrictions to apply to the listing. """ disableBuyerRestrictions: Boolean """ This field is used to set or modify the maximum quantity of items that a single buyer may purchase during the duration of a fixed price listing (single or multiple-variation). The buyer is blocked from the purchase if that buyer is attempting to purchase a quantity of items that will exceed this value. Previous purchases made by the buyer are taken into account. For example, if **quantityLimitPerBuyer** is set to `5` for a listing, and *Buyer1* purchases a quantity of three in a previous sale, *Buyer1* is only allowed to purchase an additional quantity of two in subsequent orders on the same listing. """ quantityLimitPerBuyer: Int } """ This type is used if the seller wishes to make the listing a charitable listing, or if a charity is already set up, it is used to change the charitable organization and/or the donation percentage per sale. """ input RelistListingCharityInput { """ The unique identifier of the non-profit organization that will benefit from the sale of the item. The [Charity API](https://developer.ebay.com/api-docs/commerce/charity/resources/methods) can be used to retrieve the numeric identifiers for the charities and to find out more about the organization. """ charityOrganizationId: ID """ This field sets the percentage of the purchase price that the seller chooses to donate to the selected non-profit organization for each sale generated by the listing. An integer value is used here with supported values ranging from 10 to 100. Within this range, only increments of 5 can be used, so 15, 20, 25, etc. **Minimum value**: 10 **Maximum value**: 100 """ donationPercentage: Int } """ This type is used to add or modify one or more country-specific product compliance or takeback policies. Up to 6 product compliance policies may be set per country, but only 1 takeback policy may be set per country. """ input RelistListingCountryPolicyInput { """ The two-letter ISO 3166-1 standard abbreviation for a country that hosts an eBay marketplace, a marketplace to which the corresponding policy or policies apply. The supported values are `GB`, `DE`, `FR`, `IT`, and `ES`. """ country: CountryAlpha2Code! """ This array is used to set or modify one or more country-specific product compliance policy ID values or one takeback policy ID value that will apply to the corresponding country. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used to retrieve all policies defined for a seller's account. **Note**: All country-specific product policies that the seller would like to apply to the corresponding country in the listing must be included in this array, and not just the new policies being added. There can only be one takeback policy per country, so there will only be just one takeback policy ID in this array. """ policyIds: [ID!]! } """ This type is used to add or modify global or country-specific product compliance and/or takeback policies for a listing. """ input RelistListingCustomPoliciesInput { """ This array is used to add or modify the global product compliance policies that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. The product compliance policies set with this array will apply to all countries where the seller operates. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies should be set with the **regionalProductCompliancePolicies** object instead. **Maximum number of product compliance policies allowed per listing**: 6 """ productCompliancePolicyIds: [ID!] """ This object is used add or modify the country-specific product compliance policies that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies may be needed where countries might have special legal/regulatory requirements. For example, if you sell batteries in a country requiring disclosures that apply only to that country, a country-specific product compliance policy could contain this information. If country-specific policies are not needed, use the **productCompliancePolicyIds** array instead. **Maximum number of product compliance policies allowed per marketplace**: 6 (with supported countries being GB, DE, FR, IT, and ES) **Maximum number of product compliance policies allowed per listing**: 30 (6 per country) """ regionalProductCompliancePolicies: RelistListingRegionalProductCompliancePoliciesInput """ This object is used to add or modify one or more country-specific takeback policies that will be used for a listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The law in some countries may require sellers to take back a used product when the buyer buys a new product but wishes to dispose of it. Each country may only have one specific takeback policy. If a country-specific takeback policy is not needed, one global takeback policy is set with the **takebackPolicyId** field. **Maximum number of takeback policies allowed per marketplace**: 1 (with supported countries being GB, DE, FR, IT, and ES) **Maximum number of takeback policies allowed per listing**: 5 (1 per country) """ regionalTakebackPolicies: RelistListingRegionalTakebackPoliciesInput """ This field is used to add, change, or remove the global takeback policy to use for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The takeback policy set with this field will apply to all countries where the seller operates. Country-specific policies should be set with **regionalTakebackPolicies** object instead. **Note**: To remove a global takeback policy, include this field and set its value as empty or null. """ takebackPolicyId: ID } """ This type is used to add or modify Energy Efficiency Label related information for such categories as appliances, smart phones, and tablets. Note that these three category types will also need Rating and Range product aspects. See the [Energy efficiency information](https://developer.ebay.com/api-docs/sell/static/inventory/energy-efficiency.html) topic for more information. """ input RelistListingEnergyEfficiencyLabelInput { """ This field is used to add or modify a brief text-based summary of the information included on the Energy Efficiency Label for a product. The description should be concise and informative, providing key details about the energy efficiency of the product. If this field is provided, the **imageUrl** must also be provided. **Note**: If this field is included, the text in this field will overwrite the text in the current image description if it exists for the listing. **Maximum length**: 280 characters """ imageDescription: String """ This field is used to add or modify the URL to the Energy Efficiency Label image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ imageUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including energy efficiency labels.") """ The URL to the Product Information Sheet image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ productInformationSheetUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including product information sheets.") } """ This type is used to add or modify an eco-participation fee for item(s) in a listing. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ input RelistListingExtendedProducerResponsibilityInput { """ This is the fee paid for new items to the eco-organization (for example, *eco-organisme* in France). It is a contribution to the financing of the disposal of the item responsibly. In a multiple-SKU listing, this fee should be specified at the variation level and not in this field. The [getExtendedProducerResponsibilityPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getExtendedProducerResponsibilityPolicies) method can be used to see if a leaf category supports, requires, or recommends eco-participation fees at the listing or variation level. """ ecoParticipationFee: Decimal! } """ This type is used to modify details on how the item will be delivered to the buyer. The data in this type includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. """ input RelistListingFulfillmentTermsInput { """ This field should be included if the seller wishes to enable or disable digital delivery of an item. A digital delivery item is an item that can be downloaded via a link or delivered to the buyer via email. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see if a leaf category supports digital delivery. """ digitalDeliverySupported: Boolean """ This field can be included if the seller wishes to enable or disable eBay's Global Shipping Program (GSP) to ship items internationally. With GSP, the seller ships the item to eBay's shipping partner, and that shipping partner handles all logistics of the international shipping leg. GSP is only available for listings on the eBay GB (EBAY_GB) marketplace. eBay US (EBAY_US) has a similar program called eBay International Shipping, but there is currently no boolean field associated with this feature. """ globalShippingSupported: Boolean """ This object is used to add or modify information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. Package weight is required when calculated shipping is used, and shipping services generally have dimension and weight restrictions. """ packageSpecifications: RelistListingShippingPackageSpecificationsInput """ This object is used to modify information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ shippingTerms: RelistListingShippingTermsInput } """ This type is used to provide a Global Trade Item Number (GTIN) for the item. GTIN is a globally unique identifier for trade items used by companies to identify products. GTINs include UPCs, EANs, and ISBNs. Optionally, eBay will search for a catalog product against a provided GTIN if the **includeEbayProductDetails** field is included and set to `true`. If a matching eBay catalog product is found, the listing will automatically pick up product details of that catalog product, including product title, product description, product aspects, and stock photo(s). """ input RelistListingGlobalProductIdentifiersInput { """ This field is used to supply a European Article Number (EAN) for a product. It is a 13-digit barcode standard used internationally for retail product identification. Also known as International Article Number. Some leaf categories may require an EAN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this EAN, include the **includeEbayProductDetails** field and set its value to true. **Maximum length**: 13 characters """ ean: ID """ This field is used to supply an International Standard Book Number (ISBN) for a product. It is a unique identifier for books and book-like products. Can be 10 digits (older format) or 13 digits (current format). Some leaf categories may require an ISBN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this ISBN, include the **includeEbayProductDetails** field and set its value to true. **Maximum length**: 13 characters """ isbn: ID """ This field is used to supply a Universal Product Code (UPC) for a product. It is a 12-digit barcode standard used primarily in North America for retail product identification. Some leaf categories may require a UPC, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this UPC, include the **includeEbayProductDetails** field and set its value to `true`. **Maximum length**: 12 characters """ upc: ID } """ This type is used to add or modify hazardous material related information about a product, including pictograms and statements. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend hazardous material information. """ input RelistListingHazardousMaterialInput { """ This field is used by the seller to add or modify component information for the listing. For example, component information can provide the specific material of Hazmat concern. **Note**: If this field is included, the text in this field will overwrite the current additional info text if it exists for the listing. **Maximum length**: 120 characters """ additionalInformation: String """ This array is used to add or modify one to four pictogram codes that represent the possible hazard(s) that a product poses. The pictograms that are stated on the product's Safety Data Sheet should be used. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the codes that can be passed into this array. The pictogram(s) that the code(s) represent will be painted on the created listing. **Note**: All pictogram codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. **Maximum number of pictogram codes allowed**: 4 pictograms """ pictogramCodes: [ID!] """ This field is used to add or modify the hazardous material signal word for the product. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the strings that can be passed into this array. """ signalWordCode: ID """ This array is used to add or modify one to eight hazardous statement codes that are applicable to the product. These codes map to actual hazardous statement text. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the statement codes that can be passed into this array. The hazardous statements that the code(s) represent will be painted on the created listing. **Note**: All statement codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. **Maximum number of statement codes allowed**: 8 statements """ statementCodes: [ID!] } """ The base request type for the **relistListing** mutation. This type is used to provide product details, eBay listing terms, and price and quantity information for each item that will be available for sale in the new listing. This **relistListing** mutation is used to relist a recently ended listing, and the seller has the option to relist with all of the same data and settings, or the seller can also choose to make updates. For multiple-SKU listings, the **listingVariations** object will be used to add or modify variation information for a multiple-SKU listing. """ input RelistListingInput { """ This field allows the user to provide a client-side idempotency key to help avoid duplicate listings when a **relistListing** mutation is retried after a system failure. It must be 32 characters long, contain only hexadecimal characters (0–9 and A–F), and be unique for the seller across all eBay marketplaces. **Note**: The **idempotencyKey** value, if set for the ended listing, does not carry over to the relisted listing. To use this field for the relist request, provide a new value. """ idempotencyKey: IdempotencyKey """ This object is used to identify the listing to be relisted. The listing can either be identified with the **listingId** or the SKU value if defined in the ended listing. """ listingIdentifier: ListingIdentifierInput! """ An array of one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. **Note**: A SKU value is optional for a single-SKU listing, but mandatory for a multiple-SKU listing. **Note**: Price(s), Global Trade Item Numbers (GTINs), and the eBay Product ID (ePID) defined in the ended listing will be carried over in the relisted listing unless the seller desires to make updates. The quantity should be checked and updated as needed though. **Maximum number of items for a multiple-SKU listing**: 250. """ listingItems: RelistListingItemsInput """ This object is used to provide listing terms details for the listing, including listing format, listing duration, payment terms, return policy, fulfillment terms, and more. **Note**: A majority of the listing terms defined in the ended listing will be carried over in the relisted listing unless the seller desires to make updates. """ listingTerms: RelistListingTermsInput """ This object provides details on the available product variations within a multiple-SKU listing, and which traits are different for each of these variations. Products in a multiple-SKU listing tend to vary by one or more traits such as color and size, and interested buyers need to select which variation they want to purchase. For example, the `Blue, Large` t-shirt. **Note**: A majority of the variation information defined in the ended listing will be carried over in the relisted multiple-SKU listing unless the seller desires to make updates. """ listingVariations: RelistListingVariationsInput """ This field is used to identify the eBay marketplace where the listing will be created. Generally, an ended listing will be relisted on the same eBay marketplace. See **ListingMarketplace** for list of supported enumeration values. It determines the regional settings, currency, and other marketplace-specific configurations. """ marketplace: ListingMarketplace! """ This object allows a user to run a **relistListing** mutation in validation mode, which means that the listing object will be validated, but a successful mutation will not relist a listing. """ options: ListingOptionsInput """ This object is used to add or modify product data for the listing. Product data under this object includes title, description, product aspects, item condition, images, and more. **Note**: A majority of the product data defined in the ended listing will be carried over in the relisted listing unless the seller desires to make updates. """ product: RelistListingProductInput } """ This type is used to update the available quantity for a purchasable item. """ input RelistListingItemAvailabilityInput { """ The quantity available for an item. For auction listings, this value must always be 1, and it should still be 1 if the item in the ended auction listing didn't sell. For a multiple-SKU listing, each item variation can have its own quantity value, allowing sellers to manage inventory for each variation independently. **Note**: For a multiple-SKU listing, the quantity for an item variation can be se set to 0 if the SKU is temporarily out of stock, but a seller wishes to retain the variation and restock inventory at a later time. **Note**: It depends on how a listing was ended, but it is possible that any given purchasable item may still have quantity defined, but it is highly recommended that a seller revisits their inventory and makes sure that the quantity value is accurate. """ quantityAvailable: Int! } """ This type is used to add or modify the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input RelistListingItemCompatibilitiesInput { """ This array is used to add or update the list of compatible vehicles or assemblies through a set of name-value pairs such as *Year*, *Make*, and *Model*. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Note**: The specified compatibility list of the ended listing will be retained, but this array will be needed if the seller wants to make any changes. **Maximum number of allowed compatibilities on the listing**: 3000 """ itemCompatibilities: [RelistListingItemCompatibilityInput!] """ This field indicates if the entire compatibility list is to be deleted. If `true`, all existing compatibilities will be removed from the listing's compatibility list. If `false` or omitted, the compatibilities specified in the `itemCompatibilities` will be added or updated in the listing's compatibility list. **Default value**: false """ replaceAll: Boolean } """ This type is used to add or modify the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input RelistListingItemCompatibilityInput { """ This array is used to add or modify the list of compatible vehicles or assemblies that are compatible with a Parts and Accessory item. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Note**: If any changes are being made to the compatibility list, the full set of compatibility name-value pairs that you wish to be on the listing must be included, and not just the compatibilities that are being added or modified. **Maximum number of allowed compatibilities on the listing**: 3000 **Maximum compatibility name length**: 65 **Maximum compatibility value length**: 65 """ compatibilities: [NameValuesPairInput!]! """ The seller can use this field to add or modify compatibility notes pertaining to the parts compatibility being specified. For example, if this compatibility information applies to a vehicle, a seller may use this field to specify the placement of the part on a vehicle or the type of vehicle a part fits. **Note**: If this field is used, the text provided in the field will completely overwrite the current compatibility notes text if it exists for the listing. **Maximum length**: 500 characters """ compatibilityNotes: String """ This field indicates if the compatibility is to be deleted. If `true`, the compatibility specified by the `compatibilities` will be removed from the listing's compatibility list. If `false` or omitted, the compatibility specified by the `compatibilities` will be added or updated in the listing's compatibility list. **Default**: false """ removeCompatibilityFromListing: Boolean } """ This type is used to add or modify condition descriptor data (through name-value pairs) for a single graded and ungraded trading card listing in one of the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as 'Near mint or better'. """ input RelistListingItemConditionDescriptorInput { """ This field can be used to add or modify additional information about a condition descriptor. One example is using this field to specify the **Certification Number** for a graded card. **Note**: If this field is used, the text provided in the field will completely overwrite the current additional information text if it exists for the listing. **Maximum length**: 30 characters """ additionalInformation: String """ This field is used to add or change the alphanumeric identifier of the condition descriptor that maps to the condition descriptor name. The IDs for condition descriptor names can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Condition descriptor names for graded cards include **Grader** and **Grade** (both required) and **Certification Number** (optional), and condition descriptor names for ungraded cards include **Card Condition**. """ name: ID """ This array is used to add or change the alphanumeric identifier of the condition descriptor value that maps to an actual value supported by the condition descriptor. For example, graded cards require **Grader** and **Grade** as condition descriptor names, so the value(s) in this array will show the organization that graded the card and the card's actual grade, which ranges from 1 to 10. The numeric IDs for condition descriptor values can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Locate the Condition descriptor name first in the response, and then look for the corresponding values in the **conditionDescriptorValues** array of that response. """ values: [ID!] } """ This type is used to change the condition of the item, to add or modify the condition description for a used item, or to make any changes to the condition descriptor data for a single trading cards listing. """ input RelistListingItemConditionInput { """ This field is used to add or modify additional details about a non-new item's physical state, including any defects, wear, or other characteristics that affect its condition. This field can be used for all categories except those that require the **conditionDescriptors** array. **Note**: If this field is used, the text provided in the field will completely overwrite the current condition description if one exists for the listing. **Maximum length**: 1000 characters """ conditionDescription: String """ This array is used to add or modify item condition information (through name-value pairs) for a single graded and ungraded trading card listed in the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as 'Near mint or better'. **Note**: If any changes are being made to condition descriptor data, the full set of condition descriptor name-value pairs that you wish to be on the listing must be included, and not just the condition descriptor data that is being added or modified. """ conditionDescriptors: [RelistListingItemConditionDescriptorInput!] """ This field is used to change the item's condition using the numeric identifier for a condition. Supported conditions and the text used to describe the conditions vary by marketplace and leaf category. Use the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method to get the supported condition IDs and their descriptions for leaf categories. **Note**: The **conditionId** value will be retained from the original listing, so this field will generally not be needed unless the seller decides that a less appropriate item condition was being used previously. """ conditionId: ID } """ This type is used to modify a specific purchasable item within a listing, allowing you to create, update, or remove them. It includes a unique combination of identifying characteristics such as global identifiers, listing terms, availability, price, and regulatory information requirements. Every listing contains at least one item, providing a unified approach that works transparently across simple single-SKU listings and complex multiple-SKU listing. """ input RelistListingItemInput { """ This object is used to add or modify the pricing information, available quantity, and eco-participation fee (if applicable) for a purchasable item. Each item should have price and quantity. """ itemTerms: RelistListingItemTermsInput """ For either a single-SKU or a multiple-SKU listing, this object can be used to provide a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will prefill the relisted listing. For a multiple-SKU listing, the **traits** array is required and identifies the unique traits of the variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are `Color` and `Size`. For example, a `Blue, Large` shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ product: RelistListingItemProductInput """ The field indicates whether to delete this variation. If set to true, the variation is removed from the listing. Note that this is only applicable for multiple-SKU listings; for single-SKU listings, the field value is ignored if included. **Default value**: false """ removeItemFromListing: Boolean """ The seller-defined Stock-Keeping Unit (SKU) that uniquely identifies a purchasable item in the listing. When updating a SKU-managed listing, the behavior of this field is conditional. For single-SKU listings, this field is ignored, as the listing is already identified by its SKU. For multiple-SKU listings, you must provide a variation's existing SKU to identify it for modification (e.g. changing its price). To add a new variation, you must assign it a new SKU, and this value must be unique for each variation in the listing. **Note**: For relist operations, the presence of a SKU in the item object will cause the listing to be treated as a multiple-SKU (MSKU) listing. **Maximum length**: 50 characters """ sku: String } """ This type is used to provide the item's physical location. Item location is required for every listing. The **country** field is always required, and either the **postalCode** or **location** must also be provided, but not necessarily both. """ input RelistListingItemLocationInput { """ The two-letter country code, as defined in the ISO-3166 standard, must be specified in this field to indicate the country where the item is located. Please keep in mind that the item is often located in the same country as the listing marketplace, but this is not a requirement. """ country: CountryAlpha2Code """ The field indicates the geographic location (city and state/province) where the listing is physically located. If you do not provide a value in this field, you must provide a value in the **postalCode** field and the field value will be derived from the postal code. For the `CLASSIFIED_AD` format for Motor vehicles, the value provided in the field is used as item location only if the **addressLine1** and **addressLine2** fields of the **UpdateListingSellerContactInput** are not provided. If the **addressLine1** and **addressLine2** fields of the **UpdateListingSellerContactInput** are provided, the item location field value is ignored. **Maximum length**: 200 characters """ location: String """ The postal code (zip code) where the listing is physically located. Either the **location** field or the **postalCode** field must be specified or an error will occur. Postal/zip code format varies by region. e.g. US: 5-digit numeric codes (e.g., 12345), Australia: 4-digit numeric codes (e.g., 2000), GB: Variable-length alphanumeric codes with letters and numbers (e.g., SW1A 1AA). Other regions follow local postal service standards. **Maximum length**: 32 characters """ postalCode: String } """ This type is used to add or modify price data for an item in a listing, including the price for a fixed price listing or the 'Buy it Now' price for an auction listing. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. """ input RelistListingItemPricingTermsInput { """ This object is used to add or modify auction-specific price settings including starting bid price and reserve price. """ auctionPrice: RelistListingAuctionPriceInput """ This field sets or modifies the price of a fixed price item or the 'Buy it Now' price for an auction listing. This field is mandatory for fixed price listings. The 'Buy it Now' option is disabled for an auction listing as soon as that listing has a qualifying bid. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Note**: The **fixedPrice** values for all items in an ended fixed price listing should retain those values. The 'Buy it Now' price for an auction item may also be retained if the auction listing ended without bids. Regardless if the price values from the last listing have been retained or not, it is a good idea for the seller to evaluate the price(s) and make any necessary updates. **Note**: For relist operations when listing format is not provided, the mapping behavior depends on the presence of auction price object. If only `fixedPrice` is provided (no `auctionPrice` object), it will be treated as a fixed price listing. If `fixedPrice` is provided along with `auctionPrice` object, it will be treated as an auction listing. """ fixedPrice: Decimal """ This object is used to add or modify pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ marketingPrice: RelistListingMarketingPriceInput } """ This type can be used to provide a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will prefill the relisted listing. """ input RelistListingItemProductInput { """ This object is used to provide a Global Trade Item Number (GTIN) or an eBay product ID (ePID) for a product. If an eBay catalog product is found that maps to a GTIN or an ePID, product details of that eBay catalog product will be used to populate the listing. The product details in a catalog product include product title, product description, aspects, eBay leaf category, and stock photo. **Note**: If an eBay catalog product is found and used to prefill a relisted listing, any other product-related details defined in the ended listed and/or provided by the seller may be dropped. """ productIdentifiers: RelistListingProductIdentifiersInput """ This array is mandatory for multiple-SKU listings and is used to provide the traits that make each item unique in context of the multiple-SKU listing. Each item in a multiple-SKU listing must have a unique combination of trait values, and the trait names and trait values specified here must be defined as available trait names and trait values in the **variationDetails** object. An error will be thrown if the specified traits do not match the variation traits defined in the **variationDetails** object. **Note**: The trait names and values must match the marketplace's language and locale. **Max allowed traits**: 5 **Maximum length for trait names and values**: 65 characters """ traits: [NameValuePairInput!] } """ This type is used to modify an array of one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. """ input RelistListingItemsInput { """ This array is used to manage the list of items or variations in the listing, allowing you to create, update, or remove them. For a single-SKU listing, this array must contain exactly one item. For a multiple-SKU listing, it must contain one item for each product variation (e.g., one for "Red / Large", one for "Blue / Small"). **Maximum number of items for a multiple-SKU listing**: 250 """ items: [RelistListingItemInput!]! } """ This type is used to provide quantity and pricing information for a purchasable item. All SKUs within a multiple-SKU listing must have their own quantity and price values. All SKUs may have the same price, but prices also may vary by SKU. This object is also used to provided an eco-participation fee if applicable for the item. """ input RelistListingItemTermsInput { """ This object is used to provide the available quantity for a purchasable item. Quantity is mandatory for all purchasable items. **Note**: It depends on how a listing was ended, but it is possible that any given purchasable item may still have quantity defined, but it is highly recommended that a seller revisits their inventory and makes sure that the quantity value is accurate. """ availability: RelistListingItemAvailabilityInput """ This object is used to add or modify an eco-participation fee for an item. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ extendedProducerResponsibility: RelistListingExtendedProducerResponsibilityInput """ This object is used to provide price data for the item, including the price for a fixed price item or the *Buy it Now* price for an auction item. Other price fields include auction starting bid price, auction reserve price, and other settings related to discount pricing features. **Note**: Each item within a multiple-SKU listing can have its own price, allowing for different pricing based on traits (e.g., larger sizes might cost more than smaller ones). **Note**: Price settings will generally carry over from the ended listing, but it is highly recommended that the price data is rechecked and that any necessary adjustments are made. """ pricingTerms: RelistListingItemPricingTermsInput } """ This type is used to change the duration of the listing, and can also be used to set the future date when a relisted listing will become active. """ input RelistListingLifecycleTermsInput { """ This field is used to change the duration of the listing that is to be relisted. All fixed price listings must be set to `GTC`(Good 'til Cancelled), but the listing duration days of auction and ad listings may vary based on marketplace and category. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see supported durations for each leaf category. """ listingDurationInDays: ListingDurationInDays """ This field is used if the user wishes to publish the relisted listing at a future date and not right after a successful mutation. The timestamp specified in this field must be a future date. For more information on eBay scheduled listings, see the [Listing durations and timings](https://www.ebay.com/help/selling/listings/creating-managing-listings/selecting-listing-duration?id=4652) help topic. """ scheduledToStartAt: DateTime } """ This type is used to add or modify the radius for a local listing, making it available to buyers within that specified area. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. """ input RelistListingLocalDistanceInput { """ The numeric value for the radius. The unit of measurement for this value is specified in the **distanceUnit** field. This value defines the radius of the area around the seller's location where the listing will be visible to local buyers. The user can call the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get supported distances. Look for the [localListingDistances](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies#response.motorsListingPolicies.localListingDistances) array in the response. """ distance: Int! """ The unit of measurement used for the **distance**. Currently, the only supported value is `MILES`. """ distanceUnit: DistanceUnit } """ This type is used to add a product manufacturer contact or to update any of the data currently associated with the product manufacturer that is already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ input RelistListingManufacturerInput { """ This object adds or modifies the street address for the product manufacturer. """ address: RelistListingBusinessEntityAddressInput """ This field adds or modifies the name of the company that manufactured the product. This field is required if manufacturer information is supplied. **Maximum length**: 100 characters """ companyName: String """ This object is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the product manufacturer. At least one of the three is required if manufacturer information is supplied. """ contact: RelistListingBusinessEntityContactInput } """ This type adds or modifies pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ input RelistListingMarketingPriceInput { """ This field is used to add or modify the price that will be displayed as the **Made for Outlet** comparison price for a listing, and can only be used if the listing will be displayed on an eBay Outlet page. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ madeForOutletComparisonPrice: Decimal """ This field is used to add or modify the Minimum Advertised Price (MAP) for a listing. MAP is an agreement between suppliers (or manufacturers (OEM)) and the retailers (sellers) stipulating the lowest price a listing is allowed to be advertised at. Sellers can offer prices below MAP by means of other discounts. This only applies to fixed price listings and auction listings with the 'Buy It Now' option. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ minimumAdvertisedPrice: Decimal """ This field is only applicable for the Minimum Advertised Price feature, and controls whether the discounted price is shown to buyers prior to checkout by the buyer clicking on a link on the View Item page, or the discounted price is shown just prior to checkout when the buyer has clicked the Buy button. See **ListingMinimumAdvertisedPriceExposure** for the list of supported enumeration values. """ minimumAdvertisedPriceExposure: ListingMinimumAdvertisedPriceExposure """ This **originalRetailPrice** price must be provided if a qualified seller is using the Strikethrough Price feature. The **originalRetailPrice** price is the actual retail price set by the manufacturer (OEM). The price specified in this field should always be more than the price specified in the **fixedPrice** field. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ originalRetailPrice: Decimal """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOnEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. Set this field to `true` if the item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. """ soldOffEbay: Boolean """ This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOffEbay** field must be included and set to `true`, and it is acceptable for them both to be included and set to `true`. Set this field to `true` if the item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. """ soldOnEbay: Boolean } """ This type is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. """ input RelistListingMotorVehicleDepositInput { """ This field is used to set or modify the due date (in days) for the buyer to pay off the full balance of the motor vehicle. The clock starts on the full payment due date as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The supported values here are `DAYS_3` `DAYS_7`, `DAYS_10`, and `DAYS_14`. """ daysToMakeFullPayment: ListingTimeDuration """ This field sets or modifies the deposit amount to secure the purchase of a motor vehicle. This field is required if the seller is requiring a deposit. This deposit must be made immediately by the buyer if **immediatePay** is set to `true`, or within 24, 48, or 72 hours (set with **hoursToDeposit** field) if **immediatePay** is set to `false`. **Max value**: 2000 USD (non-immediate pay), 500 USD (immediate pay) """ depositAmount: Decimal """ This boolean field is included and set to `true` if the seller requires a deposit to secure the purchase of a motor vehicle. **Note**: If a motor vehicle deposit is currently required for the motor vehicle listing, but the seller wants to disable, the field can be included and set to `false`. """ depositRequired: Boolean """ This field is used to set the deadline (in hours) for the motor vehicle deposit. The deposit amount is specified in the **depositAmount** field. The clock starts on the deposit deadline as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The three supported integer values here are 24, 48, and 72 (hours). If **immediatePay** is `true`, and the listing qualifies for immediate payment (e.g. the 'Buy It Now' button is used), this field will not be applicable, since the buyer will be required to pay any deposit amount immediately (and not within 24, 48, and 72 hours). """ hoursToDeposit: Int } """ This type is needed for motor vehicle listings to provide the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ input RelistListingMotorVehicleIdentifierInput { """ This field is used to add or change the Vehicle Identifier Number (VIN) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vin: ID """ This field is used to add or change the Vehicle Registration Mark (VRM) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vrm: ID } """ This union type is used to represent the possible outcomes of the **relistListing** mutation. Three possible results of a **relistListing** mutation are: a listing object (and possibly one or more warnings); a listing object with validation success (listingId = 0) and possibly one or more warnings; or an array of blocking errors if the mutation fails and a listing is not relisted. If a mutation fails, there will always be at least one blocking error, and there may also be one or more warning messages that are triggered. """ union RelistListingOutput = RelistListingSuccess | RelistListingValidationError | RelistListingValidationSuccess """ This type is used to override the shipping costs for one or more domestic or international shipping service options defined in the fulfillment business policy being used for the listing. The shipping costs provided will only affect the listing and will not update the fulfillment business policy. """ input RelistListingOverrideShippingOptionInput { """ This field is used to override the additional unit shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost when a buyer is purchasing multiple quantities of the same line item. Note that this value should never be higher than the base shipping cost. **Note**: If the additional shipping cost of the corresponding shipping service was already overriding the cost set up in the fulfillment business policy, the dollar value supplied here will replace that value. """ additionalUnitShippingCost: Decimal """ This field is used to specify if the shipping service option identified through the corresponding **rank** field is a shipping service. The value of this field should be set to `false` if the shipping service is a domestic shipping service, and `true` if it is an international shipping service. **Default value**: false """ internationalShippingOption: Boolean = false """ The integer value specified here identifies the shipping service in the fulfillment business policy whose cost value(s) will be overridden. This should be a positive integer from 1 to 4 if overriding a shipping service option that ships within the marketplace or from 5 to 9 if overriding a shipping service option that ships outside of the marketplace. A rank value of `1` means it is the first shipping option displayed in the View Item page. """ rank: Int! """ This field is used to override the shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost for the line item. **Note**: If the shipping cost of the corresponding shipping service was already overriding the cost set up in the fulfillment business policy, the dollar value supplied here will replace that value. """ shippingCost: Decimal } """ This type is used to add or modify the dimensions of the shipping package according to the unit of measurement applicable to the marketplace. When specifying the dimensions of the shipping package, all three values (length, width, and height) are required. The precision of the dimension values is up to two decimal places. """ input RelistListingPackageDimensionsInput { """ The height (or depth) of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service. """ height: Float """ The length of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service. """ length: Float """ The width of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service. """ width: Float } """ This type is used to add or modify the weight of the shipping package according to the unit of measurement applicable to the marketplace. The weight of the shipping package is required when the listing is using the calculated shipping cost type. For English measurement system, the supported unit of measurement is pounds for **majorUnit** and ounces for **minorUnit**. For Metric measurement system, the supported unit of measurement is kilograms for **majorUnit** and grams for **minorUnit**. """ input RelistListingPackageWeightInput { """ The major weight value of the shipping package according to the unit of measurement applicable to the marketplace. The major weight value is the whole number part of the weight. For English measurement system, the supported unit of measurement for **majorUnit** is pounds. For Metric measurement system, the supported unit of measurement for **majorUnit** is kilograms. **Note**: If the package weighs less than one pound or one kilogram, *0* can be used as the value for this field. """ majorUnit: Int """ The minor weight value of the shipping package according to the unit of measurement applicable to the marketplace. The minor weight value is the decimal part of the weight. For English measurement system, the supported unit of measurement for **minorUnit** is ounces. For Metric measurement system, the supported unit of measurement for **minorUnit** is grams. **Minimum value**: 0 **Maximum value**: 15 for English measurement system (ounces); 999 for Metric measurement system (grams). """ minorUnit: Int } """ This type is used to modify various payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This object also has a **businessPolicyId** field that is used to associate a payment business policy with the listing. """ input RelistListingPaymentTermsInput { """ This field is used to add or change a payment business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all payment settings are configured in the business policy instead. The [getPaymentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/payment_policy/methods/getPaymentPolicies) method can be used to retrieve all payment business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This field is included to enable or disable the immediate payment requirement for fixed price listings and auction listings where the 'Buy it Now' option is used. **Note**: This field is not applicable if the seller is using business policies. """ immediatePay: Boolean """ This object is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. **Note**: This object is not applicable if the seller is using business policies. """ motorVehicleDeposit: RelistListingMotorVehicleDepositInput """ This field is used if the seller wants to add or modify instructions related to payment. **Note**: If this field is included, the text provided will overwrite existing payment instructions if defined in the listing. **Note**: This field is not applicable if the seller is using business policies. **Maximum length**: 500 characters """ paymentInstructions: String """ This array is used to modify the list of offline payment methods for listings that support offline transactions. Use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see the payment methods supported for a leaf category. **Note**: The full list of payment methods must be included in the array, and not just the new ones that are being added. **Note**: This array is not applicable if the seller is using business policies. """ paymentMethods: [ListingPaymentMethod!] } """ This type is used to add or modify the primary eBay category for the listing, and optionally, add or modify a secondary eBay category and/or eBay store categories. """ input RelistListingProductCategoriesInput { """ This field is used if the seller wishes to change the eBay primary category of the listing. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. **Note**: If the eBay primary category is being changed, it is recommended that the user check to see if the optional, recommended, and required aspects are different for that new category and to make adjustments as needed. """ primaryCategoryId: ID """ This field is used if the seller wishes to add or change the eBay secondary category of the listing. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. **Note**: The secondary category must be different from the primary category. """ secondaryCategoryId: ID """ This field is used if the seller wishes to change the eBay store primary category of the listing. If this field was not specified during the original creation of the listing, the listing is placed in the default *Other* category of the seller's eBay store. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storePrimaryCategoryId: ID """ This field is used if the seller wishes to add or change the eBay store secondary category of the listing. This field is optional, but if specified, it must be a valid eBay store category ID. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storeSecondaryCategoryId: ID } """ This type is used to match to and leverage the product details of a product defined in eBay's product catalog. The user can directly provide the identifier of the eBay catalog product, or they can provide a GTIN value that can possibly be matched to an eBay catalog product. When an eBay catalog product is used, the product title, product description, item specifics, and stock photo defined for that product will be used in the relisted listing. """ input RelistListingProductIdentifiersInput { """ The unique identifier of an eBay catalog product. If this field is provided, the title, description, item specifics, and stock photo defined for that eBay product will be used in the resultant listing, overriding the seller provided information and/or the information defined in the ended listing. The [search](https://developer.ebay.com/api-docs/commerce/catalog/resources/product_summary/methods/search) method of the **Catalog API** can be used to search for eBay catalog products and get their IDs. """ ebayProductId: ID """ This object is used to specify a UPC, EAN, or ISBN value for a product, and optionally, try to match the value to an eBay catalog product so that the product details of that catalog product can be prefilled in the resultant listing. Some leaf categories require a GTIN, and the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see if a leaf category requires a UPC, EAN, or ISBN. """ globalIdentifiers: RelistListingGlobalProductIdentifiersInput """ This field controls whether or not an eBay catalog product is leveraged to prefill a listing with that catalog product's details, including product title, product description, item specifics, and stock photo. If you want to use an eBay catalog product to populate your listing, you can either set this field to `true` or omit it entirely, as `true` is the default value. If you provide a GTIN (Global Trade Item Number) or eBay Product ID but do not want to use the corresponding eBay catalog product to prefill your listing, you must set this field to false. If set to `false`, you will be required to provide your own listing title, description, category, and at least one image. This is only applicable to single-SKU listings. **Default value**: true """ includeEbayProductDetails: Boolean } """ This type is used to add or modify common product details for the listing, including title, description, listing category, condition, product aspects, images, and more. """ input RelistListingProductInput { """ This array is used to set or modify name-value pairs that define the product aspects. Most leaf categories require at least a few aspects, and the listing will fail if these are not provided. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method can be used to see which aspects are required, recommended, or optional for a leaf category. This method also returns typical values for an aspect name and will indicate if an aspect name supports multiple values or just one value. For a multiple-SKU listing, only the common aspects will be specified in this array, and the pivoting aspects (aka traits) will be specified at the item level. **Note**: The specified aspects of the ended listing will be retained, but this array will be needed if the seller wants to make any changes. Changes most likely will be necessary if the primary eBay category is being changed. **Note**: If any changes are being made to product aspects, the full set of aspect name-value pairs that you wish to be on the listing must be included, and not just the aspects that are being added or modified. **Maximum length**: 65 characters for each aspect name and value. """ aspects: [NameValuesPairInput] """ This object is used to change the primary eBay category for the listing, and optionally, to add or modify a secondary eBay category and/or eBay store categories. **Note**: The specified categories of the ended listing will be retained, but this object can be used in case the seller wants to change or add new categories. """ categories: RelistListingProductCategoriesInput """ This field is used to modify the full description of the product or group of products. HTML markup and inline CSS can be used. However, a seller can not use any active content in their listing description. Active content includes animation or video via JavaScript, Flash, plug-ins, or form actions. All active content will be blocked/removed from a listing. Sellers are only allowed to provide links to product videos, freight shipping services, or other legally required information, and when providing these links in the listing description, the secure 'https' protocol must be used instead of 'http'. In addition, any valid links to sites outside of eBay should use the target="_blank" attribute in the a href tag so a new browser window will be loaded when the link is clicked instead of buyers being redirected off of eBay. **Note**: The **description** of the ended listing will be retained, so this field will only need to be included if the seller wishes to modify the description. **Maximum length**: 500,000 characters (including all markup tags/CSS) """ description: String """ This array is used to update the list of image URLs that will become photos in the listing's photo gallery. Most eBay categories support up to 24 photos per listing at no extra charge. The URLs used in this array must use 'https'. Either all eBay Picture Services (EPS) or all self-hosted picture URLs may be used in this array, but not a combination of both. **Note**: The list of images of the ended listing will be retained, but this array will be needed if the seller wants to add or remove any images. **Note**: The full set of image URLs that you wish to be images in the listing must be included, and not just the images that are being added. **Max images allowed on a listing**: 24 """ imageUrls: [HttpsUrl!] """ This object is used to change the condition of the item, to add or modify the condition description for a used item, or to make any changes to the condition descriptor data for a single trading cards listing. **Note**: All condition information of the ended listing will be retained, but this object will be needed if the seller wants to make any changes. """ itemCondition: RelistListingItemConditionInput """ This object is used to add or update the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. Year, Make, and Model are typical aspects used to identify a motor vehicle. **Note**: The specified compatibility list of the ended listing will be retained, but this object will be needed if the seller wants to make any changes. **Max compatibilities allowed on a listing**: 3000 """ listingCompatibilities: RelistListingItemCompatibilitiesInput """ This object is needed for motor vehicle listings and is used to add or change the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ motorVehicleIdentifier: RelistListingMotorVehicleIdentifierInput """ This field is used to modify the product title displayed on the listing. The **title** of the ended listing will be retained, so this field will only need to be included if the seller wishes to modify the title. **Maximum length**: 80 characters """ title: String """ This array is used to add, replace, or remove a seller's video to the listing. A unique identifier for a seller's video is passed into this array to add a product video to the listing. Although a video can be added to a listing before it is in the `LIVE` state, the video won't be available for viewing in the listing until it does reach this state. To know more about the video upload process and various states for a video, see the [Media API documentation](https://developer.ebay.com/api-docs/sell/media/overview). **Note**: Currently, only one video may be added to each listing. **Note**: If set, the video attached to the ended listing will be retained, but this array will be needed if the seller wants to change or remove the video. If a video is already associated with a listing, but a new video ID is passed into this field, that video will replace the current one. To remove the current video and not add a new one, include this array as empty and the current video will be removed. """ videoIds: [ID!] } """ This type is used to add or modify product safety information for an item, including product safety statements and pictograms. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend product safety information. """ input RelistListingProductSafetyInput { """ This free-form text field is used to add or modify additional product safety information that goes beyond what is expressed through the pictogram(s) and/or safety statements. **Note**: This field cannot be used without the **pictogramCodes** and/or **statementCodes** arrays. **Note**: If this field is included, the text in this field will overwrite the current additional info text if it exists for the listing. **Maximum length**: 120 characters """ additionalInformation: String """ This array is used to add or modify one to four product safety pictogram codes, and if successful, the pictogram(s) associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes, and this method will also return the URLs to the pictograms so that these pictograms can be previewed before adding them to a listing. **Note**: All pictogram codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. **Max number of pictogram codes allowed**: 4 pictograms """ pictogramCodes: [ID!] """ This array is used to add or modify one to eight product safety statement codes, and if successful, the safety statements associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes and the safety statements associated with them. **Note**: All statement codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. **Max number of statement codes allowed**: 8 statements """ statementCodes: [ID!] } """ This type is used to attach one or more country-specific product compliance policies. """ input RelistListingRegionalProductCompliancePoliciesInput { """ This array is used to add or modify one or more country-specific product compliance policies. **Note**: All country-specific product compliance policies that the seller wants to be attached to the listing should be included in this array, and not just any new ones that are being added. **Max number of product compliance policies allowed per marketplace**: 6 """ countryPolicies: [RelistListingCountryPolicyInput!]! } """ This type is used to add or change country-specific takeback policies. Each country may only have one specific takeback policy. """ input RelistListingRegionalTakebackPoliciesInput { """ This array is used to specify a country-specific takeback policy. Each country may only have one country-specific takeback policy. **Note**: All country-specific takeback policies that the seller would like to apply to the listing must be included in this array, and not just the new policies being added. **Max number of takeback policies allowed per marketplace**: 1 """ countryPolicies: [RelistListingCountryPolicyInput!]! } """ This type is used to add or modify various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ input RelistListingRegulatoryInput { """ This array is used to attach one or more documents to the listing using their unique identifiers. The **Media API** is used to upload documents to a seller's account. See the [DocumentTypeEnum](https://developer.ebay.com/api-docs/commerce/media/types/api:DocumentTypeEnum) type of the **Media API** for the full list of supported document types. **Note**: The document ID values for all documents that the seller would like to attach to the updated listing must be included in this array, and not just the new ones that are being added. **Max number of document IDs allowed**: 10 """ documentIds: [ID!] """ This object is used to add or modify Energy Efficiency Label related information for such category types as appliances, smart phones, and tablets. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend Energy Efficiency Label information. """ energyEfficiencyLabel: RelistListingEnergyEfficiencyLabelInput """ This object is used to add or modify hazardous material related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend hazardous material information. """ hazardousMaterial: RelistListingHazardousMaterialInput """ This object is used to add a product manufacturer contact or to update any of the data currently associated with the product manufacturer that is already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ manufacturer: RelistListingManufacturerInput """ This object is used to add or modify product safety related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend product safety information. """ productSafety: RelistListingProductSafetyInput """ This field is used to add or modify the manufacturer's repair index score for a product. This value should be between 0.1 (extremely difficult to fix) to 10 (extremely easy to fix). A maximum of one digit to the right of the decimal point may be used. 0 or 0.0 should never be used as values as this would indicate that the product is not repairable. **Min value**: 0.1 **Max value**: 10.0 """ repairIndexScore: Float """ This array is used to add one or more responsible person contacts or to update any of the data currently associated with one or more of the responsible person entities that are already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide either the product manufacturer or responsible person(s) contact information in their eBay listings. This array is only necessary if the product manufacturer contact is not based in an EU country. **Note**: If the listing already has one or more responsible persons defined, all current data must be included in the array, even the data that is not changing. **Max number of EU responsible persons allowed**: 5 """ responsiblePersons: [RelistListingResponsiblePersonInput!] } """ This type is used to add one or more responsible person contacts or to update any of the data currently associated with one or more of the responsible person entities that are already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide either the product manufacturer or responsible person(s) contact information in their eBay listings. """ input RelistListingResponsiblePersonInput { """ This object is used to add or modify a street address for a responsible person. """ address: RelistListingBusinessEntityAddressInput """ This field is used to add or modify the company name associated with the responsible person. **Maximum length**: 100 characters """ companyName: String! """ This object is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the responsible person. At least one of the three is required if a responsible person is supplied. """ contact: RelistListingBusinessEntityContactInput """ This array is required for each responsible person specified, and the only allowed value is `EU_RESPONSIBLE_PERSON`. **Max number of person types allowed**: 1 """ personTypes: [String!]! } """ This input type is used to add or modify a domestic return policy or an international return policy (if the seller ships internationally) that is to be used for the listing. This type also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this type if the seller's account is opted into business policies. """ input RelistListingReturnTermsInput { """ This field is used to add or change a return business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all return policy settings are configured in the business policy instead. The [getReturnPolicies](https://developer.ebay.com/api-docs/sell/account/resources/return_policy/methods/getReturnPolicies) method can be used to retrieve all return business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This object is used to modify the seller's domestic return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Note**: If the listing only has a domestic return policy set up, but the item is shipped internationally, the settings in this object will also apply to international returns. **Note**: This object is not applicable if the seller is using business policies. """ domesticReturnTerms: RelistListingReturnTermsOptionsInput """ This object is used to add or modify the seller's international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Note**: This object is not applicable if the seller is using business policies. """ internationalReturnTerms: RelistListingReturnTermsOptionsInput """ This free-form text field is used to add or modify details about a seller's return policy. Currently, this field is only supported on the EBAY_DE, EBAY_AT, EBAY_FR, EBAY_IT, and EBAY_ES marketplaces. **Note**: If this field is included, the text provided will overwrite existing return instructions if defined in the listing. **Note**: This field is not applicable if the seller is using business policies. **Maximum length**: 8000 (for EBAY_DE, EBAY_AT); 5000 (for EBAY_FR, EBAY_IT, EBAY_ES). """ returnInstructions: String } """ This type is used to add or modify the seller's domestic or international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. """ input RelistListingReturnTermsOptionsInput { """ This field specifies the refund method that will be used if the buyer returns the item. This field must be included if the seller accepts returns for the item. Currently, the only supported value for this field is `MONEY_BACK`. **Note**: Although `MONEY_BACK_OR_REPLACEMENT` is defined in the schema, replacement items are not currently supported in Returns flow, so `MONEY_BACK` is the only option. """ refundMethod: ListingRefundMethod """ This field is used to indicate whether or not the seller accepts returns for the item. This field set to `true` if the seller accepts returns for the item or 'false' if the seller does not accept returns for the item. """ returnAccepted: Boolean """ This field specifies the amount of time the buyer has to return an item. The return duration begins when the item is marked 'delivered' at the buyer's specified ship-to location. This field must be included if the seller accepts returns for the item, and sets the number of days that a buyer has to return the item for a full refund. Supported values are `DAYS_14`, `DAYS_30`, and `DAYS_60`. The supported return periods can vary by category (with `DAYS_14` limited to just a few categories), and the [getReturnPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getReturnPolicies) method of the **Metadata API** can be used to see the supported return periods for a category. """ returnDuration: ListingTimeDuration """ This option specifies either the buyer or the seller as the party who pays for return shipping charges. This field must be included if the seller accepts returns for the item, and specifies the person responsible for return shipping costs if the item is returned due to a buyer remorse. See [`Invoicee`] for the list of supported enumeration values. The seller is always responsible for return shipping costs when an item is being returned due to a Significantly not as described (SNAD) issue. """ returnShipmentInvoicee: Invoicee } """ This type is used to specify the days and times when a seller may be contacted regarding a classified ad listing. This object is used by the **primarySellerContactHours** and **secondarySellerContactHours** objects and the days specified here should not overlap between the two. """ input RelistListingSellerContactHoursInput { """ This field can be included and set to `true` if the seller is available the full 24 hours on the days specified through the **supportOnDays** field. If this field is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ anyTime: Boolean """ This field is used to indicate the end time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursEndAt** value should always be later than the **supportHoursStartAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursEndAt: Time """ This field is used to indicate the start time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursStartAt** value should always be earlier than the **supportHoursEndAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursStartAt: Time """ This field is used to specify the block of days that the support hours will apply to. See [`ListingDaysCode`] for the list of supported enumeration values. """ supportOnDays: ListingDaysCode } """ This type is used for classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ input RelistListingSellerContactInput { """ The first line of the street address of the seller. """ addressLine1: String """ The second line of the seller's street address. This field is not always used, but can be used for secondary address information such as `Suite Number` or `Apt Number`. """ addressLine2: String """ This field is used to indicate whether potential buyers can contact the seller via email. A value of `true` in this field indicates that potential buyers can contact the seller of the listing via email. """ contactByEmailEnabled: Boolean """ The two-letter [ISO 3166 Country Codes](https://www.iso.org/iso-3166-country-codes.html) to indicate which country the seller is located. """ country: CountryAlpha2Code """ The county where the seller resides. """ county: String """ The seller's phone number. """ phone: String """ This object is used to add or modify the seller's primary support days and hours. This will generally be used to show support hours on weekdays. This object should always be provided to let potential buyers know when the seller may be contacted. """ primarySellerContactHours: RelistListingSellerContactHoursInput """ This object is used to provide the seller's secondary support days and hours. This will generally be used to show support hours on weekends if the support hours vary on weekends. """ secondarySellerContactHours: RelistListingSellerContactHoursInput } """ This type is used to modify information on domestic and international shipping, including the shipping cost type used (flat vs. calculated) and the shipping service options available to ship the item. There is also a field to add or change a shipping rate table to use against the listings and fields to add or change a shipping discount. """ input RelistListingShippingOptionsInput { """ This field is included to add, change or remove a specific flat or calculated shipping discount for the listing. The numeric identifier for the shipping discount is passed into this field. The [GetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetShippingDiscountProfiles.html) call can be used to retrieve the numeric IDs of the shipping discounts defined for the seller's account. The shipping cost type must match the shipping discount type being enabled or the shipping discount will not be active in the listing. **Note**: To remove the existing combined shipping rule, include this field and leave value as empty. """ combinedShippingRuleId: ID """ This field is used to change the shipping cost type for locations within marketplace and outside of marketplace shipping. Note that all of the specified shipping services should support the shipping cost type specified here. **Note**: To specify local pick only option for listings, set this field to `NOT_SPECIFIED`. """ costType: ListingShippingType """ This field is included to add, modify, or remove a flat-rate handling cost for shipping. This cost is in addition to whatever the final shipping cost is based on the buyer's location and selected shipping service option. **Note**: To remove the existing package handling cost, include this field and set value to `0.0`. """ packageHandlingCost: Decimal """ This field is used to enable or disable a seller's promotional shipping discount for the listing. A seller can only have one promotional shipping discount active on a marketplace. The [GetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetShippingDiscountProfiles.html) call can be used to retrieve the details of the promotional shipping discount, and the [SetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/SetShippingDiscountProfiles.html) call can be used to add/modify the promotional shipping discount. """ promotionalShipping: Boolean """ This field is included to add, change or remove a location within marketplace and outside of marketplace rate table for the listing. Shipping rate tables let sellers customize flat-rate shipping costs based on buyer's location and selected shipping service level. The numeric identifier for the shipping rate table is passed into this field. The numeric IDs for a seller's shipping rate tables can be retrieved with the [getRateTables](https://developer.ebay.com/api-docs/sell/account/resources/rate_table/methods/getRateTables) method, and details on a specific shipping rate table can be retrieved with the [getRateTable](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/getRateTable) method. The [updateShippingCost](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/updateShippingCost) method can be used to modify the shipping costs for a shipping rate table. **Note**: The shipping cost type must be set to flat-rate to use a shipping rate table. **Note**: To remove the existing shipping rate table, include this field and leave value as empty. """ shippingRateTableId: ID } """ This type is used to add or modify information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. """ input RelistListingShippingPackageSpecificationsInput { """ This field should be included if the seller wants to mark the shipping package as irregular size or if the seller wishes to undo this setting. A shipping carrier may charge additional handling fees for an irregular package. """ irregularPackage: Boolean """ The measurement system used by the marketplace for the package dimensions and weight. If the value is not supplied, the default measurement system for the marketplace will be used. See [`MeasurementSystem`] for the list of supported enumeration values. """ measurementSystem: MeasurementSystem """ This object is used to add or modify the dimensions of the shipping package. """ packageDimensions: RelistListingPackageDimensionsInput """ This field is used to change the type of package used to ship the item. See [`ListingPackageType`] for the list of supported enumeration values. """ packageType: ListingPackageType """ This object is used to add or modify the weight of the shipping package. The weight of the shipping package is required when the listing is using the calculated shipping cost type. """ packageWeight: RelistListingPackageWeightInput } """ This type is used to modify the list of domestic or international shipping service options that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. """ input RelistListingShippingServiceInput { """ This field adds or modifies the flat-rate shipping cost to ship each additional unit of the item using the corresponding shipping service. This field is required for multiple-quantity, fixed price listings using flat-rate shipping. The cost specified in this field must be the same or lower than the cost specified in the **shippingCost** field, with the idea being that multiple quantities of the line item might be shipped in the same shipping package, decreasing the per-unit cost for shipping. """ additionalUnitShippingCost: Decimal """ This array is used to add or modify the list of geographical regions or individual countries that the corresponding international shipping service operates in. **Note**: The full list of shipping locations must be included if any changes are being made, and not just the ones that are being added. """ includedShipToLocations: [ListingShippingLocationInput!] """ The integer value specified here controls the order in which the corresponding shipping service will be displayed in the View Item page. This should be a positive integer from 1 to 4 for a shipping service that ships within the marketplace or from 5 to 9 for a shipping service that ships outside of the marketplace. A rank value of `1` means it is the first shipping option displayed in the View Item page. If this field is not used, the rank and hence order of the shipping services will depend on the order they are specified under the **shippingServices** array. """ rank: Int """ This field adds or modifies the flat-rate shipping cost to ship one unit of the item using the corresponding shipping service. This field is required for each shipping service if flat-rate shipping is being used. This field must still be included and set to `0.0` if the corresponding shipping service is offered free of charge to the buyer. """ shippingCost: Decimal """ This field identifies the domestic or international shipping service and is required for each specified shipping service. Use the [getShippingServices](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices) method to retrieve the full list of domestic and international shipping services supported on a marketplace. The enumeration values representing each shipping service option are returned in the [shippingService](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices#response.shippingServices.shippingService) fields of the **getShippingServices** response. """ shippingServiceCode: ID } """ This type is used to modify information about where the item can be shipped, the shipping cost type, the shipping service options offered, the handling time, applicable shipping discounts, and more. """ input RelistListingShippingTermsInput { """ This field is used to provide information about the shipping business policy to be used for the listing. If this field is used, none of the other fields in RelistListingShippingTermsInput object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ businessPolicy: RelistShippingBusinessPolicyInput """ This field is only applicable to motor vehicle listings and indicates if the buyer is responsible for shipping or picking up the purchased vehicle. **Note**: This field is not applicable if business policies are being used by the seller. """ buyerResponsibleForShipping: Boolean """ This array is used to add or modify locations where the seller will not ship the item. The values specified in this array can be continents, geographical regions, countries, or special locations within the marketplace. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Note**: The entire array of excluded shipping locations must be included if the list is being updated, and not just locations that are being added. **Note**: This array is not applicable if business policies are being used by the seller. """ excludedShipToLocations: [ListingShippingLocationInput!] """ This field indicates how many business days that the seller needs to ship the item after payment is made by the buyer. The handling time is required by most categories. Top-rated sellers typically set the handling time to 0 or 1 day, but longer handling times are supported. **Note**: This field is not applicable if business policies are being used by the seller. """ handlingTimeDuration: ListingTimeDuration """ This array is used to add or modify locations where the seller will ship the item. The values specified in this array can be continents, geographical regions or countries. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Note**: The entire array of shipping locations must be included if the list is being updated, and not just locations that are being added. **Note**: This array is not applicable if business policies are being used by the seller. """ includedShipToLocations: [ListingShippingLocationInput!] """ This object is used to modify information on shipping options local to the country of themarketplace, including the shipping cost type used (flat vs. calculated). There is also a field to add or change a shipping rate table to use against the listings and fields to add or change a shipping discount. **Note**: This object is not applicable if business policies are being used by the seller. """ marketplaceShippingOptions: RelistListingShippingOptionsInput """ This object is used to modify information on shipping options not local to the country of the marketplace, including the shipping cost type used (flat vs. calculated). There is also a field to specify a shipping rate table to use against the listings and fields to add or change a shipping discount. **Note**: This object is not applicable if business policies are being used by the seller. """ nonMarketplaceShippingOptions: RelistListingShippingOptionsInput """ This array is used to provide information on one or more shipping services that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. **Note**: Up to 10 shipping service options may be specified per listing, with up to five 'marketplace' shipping options and up to five 'non-marketplace' shipping options. **Note**: This array is not needed if business policies are being used by the seller. """ shippingServices: [RelistListingShippingServiceInput!] } """ This type is used for a successful **relistListing** mutation. It will show the complete details of the listing, and will also include a list of non-blocking warning messages if any occurred. """ type RelistListingSuccess { """ This object shows the complete details of the relisted listing. """ listing: SellerListing! """ This array shows the type of discount(s) applied to the listing fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the relisted listing will incur. **Note**: Always consider the fee amounts to be estimated only. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings triggered by the mutation request, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to add or modify various tax information, including VAT rates, sales tax rates tor US territories and Canadian provinces, and special tax category codes. """ input RelistListingTaxTermsInput { """ This field is included and set to `true` if the seller wants the sales tax rate for the jurisdiction to apply to the cumulative amount of item cost and shipping charges, or set to `false` if the seller does not want sales tax to apply to shipping charges. This field is only applicable if the **salesTaxPercentage** and **salesTaxJurisdictionId** fields are also set. """ salesTaxApplicableToShipping: Boolean """ This field is used to specify a US territory or a Canadian province that will be charged the sales tax rate specified in the **salesTaxPercentage** field. The supported US territories are `AS` (America Samoa), `GU` (Guam), `MP` (Northern Mariana Islands), `PW` (Palau), and `VI` (US Virgin Islands). The two-letter codes for Canadian provinces can be found here on the [Government of Canada](https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/completing-slips-summaries/financial-slips-summaries/return-investment-income-t5/provincial-territorial-codes.html) website. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxJurisdictionId: String """ This field is used along with **salesTaxJurisdictionId** field to set or modify the sales tax rate for a specific US territory or a Canadian province. The percentage set here will be applied to sale price as the sales tax for the order line item. The value passed in is stored with a precision of 1 digits after the decimal point. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxPercentage: Decimal """ This field is included and set to `true` if the seller has an account level sales tax table set up and wishes to use the sales tax rates set up in that table. If this field is set to `true`, the values contained in the other sales tax fields (if set) in this object will be overridden by the values set in the sales tax table. """ salesTaxTableUsed: Boolean """ This field is used to provide a special category of tax such as a recycling fee or disposal tax. """ thirdPartyTaxCategoryCode: String """ This field is used to set or modify the VAT (Value-added Tax) percentage rate that will be charged to buyers when an item is purchased from the listing. VAT is not applicable to all countries, including the US. Allowed VAT percentage rates can vary by region/country, so sellers should be aware of the rates they are legally required/allowed to charge, and they are responsible for charging the correct VAT rate. Only one digit is allowed to the right of the decimal point. """ vatPercentage: Decimal """ This field should be included and set to `true` if the seller is registered on the listing site as a Business Seller and intends to use listing features that are offered to business users only. This field must be included and set to `true` if the **vatRestrictedToBusinessUser** field is also included and set to `true`. """ vatRecognizedBusinessSeller: Boolean """ This field is included and set to `true` if a business seller wishes to make the listing exclusively available to potential buyers registered on eBay as business users. This feature is only applicable to business sellers residing in Germany, Austria, or Switzerland who are listing in a B2B VAT-enabled category on the eBay Germany (EBAY_DE), Austria (EBAY_AT), or Switzerland (EBAY_CH) marketplaces. To set this field as `true`, the **vatRecognizedBusinessSeller** field must also be included and set to `true`. """ vatRestrictedToBusinessUser: Boolean } """ This type is used to add or modify listing terms details for the listing, including listing duration, item location, return policy, fulfillment terms, and more. """ input RelistListingTermsInput { """ This object is used for classified ad listings, and adds or modifies contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ adsSellerContact: RelistListingSellerContactInput """ This object is used if the seller wishes to make changes to **Best Offer** settings, including enabling or disabling the Best Offer feature, or to add, modify, or remove the auto-accept and auto-reject thresholds. """ bestOfferTerms: RelistListingBestOfferTermsInput """ This object is used to disable or enable a seller's account-level buyer restrictions and/or set or modify a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ buyerRestrictions: RelistListingBuyerRestrictionsInput """ This object is used if the seller wishes to make the listing a charitable listing, or if a charity is already set up, this object is used to change the charitable organization and/or the donation percentage per sale. **Note**: eBay for Charity is only supported on the eBay US, eBay UK, eBay Germany, and eBay Canada marketplaces. """ charity: RelistListingCharityInput """ This object is used to add or modify global or country-specific product compliance and/or takeback policies for a listing. """ customPolicies: RelistListingCustomPoliciesInput """ This object is used to modify details on how the item will be delivered to the buyer. The data under this object includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. This object also has a **businessPolicyId** field that is used to associate a fulfillment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. """ fulfillmentTerms: RelistListingFulfillmentTermsInput """ This field can be included and set to `true` if the seller wishes to make the listing private. With private listings, the eBay user and feedback scores for bidders and buyers are obfuscated to everyone except for the seller. If the ended listing was a private listing and the seller does not wish to keep this setting, this field should be included and set to `false`. """ hideParticipation: Boolean """ This array can be used if the seller wishes to add or modify site visibility settings. With site visibility, sellers can choose to actively display their listing on one or more other eBay marketplaces for a small fee. Currently, this feature can only be used on the EBAY_US, EBAY_CA, EBAY_GB, and EBAY_IE marketplaces. EBAY_US and EBAY_CA listings can specify `UNITED_KINGDOM` in this array to have their listing displayed on the EBAY_GB and EBAY_IE marketplaces, and EBAY_GB and EBAY_IE listings can specify `NORTH_AMERICA` in this array to have their listing display on the EBAY_US and EBAY_CA marketplaces. """ internationalSiteVisibility: [CrossBorderTradingRegion!] """ This object is used to change the actual physical location of the item(s) in this listing. The **country** field is always required, and then either the **location** or **postalCode** must be provided, but not necessarily both. """ itemLocation: RelistListingItemLocationInput """ This object is used to change the duration of the listing, and can also be used to set a future date when the listing will become active. """ lifecycleTerms: RelistListingLifecycleTermsInput """ This field can be used if the seller wishes to change the listing format. See [`ListingFormatType`] for the list of supported enumeration values. **Note**: If the listing format is being changed, there's a good chance that many other fields will need to be changed, added, or removed just because the requirements for each listing format are different. """ listingFormat: ListingFormatType """ This object is used to add or modify the radius for a Motors Local Listing. The value supplied in the **distance** field sets the radius of the area in which the vehicle will be available and exposed to interested local buyers. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. You can use the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get the supported listing distance values for a leaf category. Seller provide the unit of measurement for the **distance** value through the **distanceUnit** field. """ localListingDistance: RelistListingLocalDistanceInput """ This field is needed to modify the lot size for the lot-enabled listing. With lot-enabled listing, the seller is selling a set of two or more similar/related items as a part of one listing. An example of a lot listing might be a collection of children's clothes. The value specified in this field will be the number of distinct items in the lot. Not all leaf categories support lot listings, and the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see which leaf categories do support lot listings. **Minimum value**: 2 **Maximum value**: 450,000 """ lotSize: Int """ A reference identifier used to attribute the source of data across API families. This ID is returned in the response of the **listingPreviewsCreationTaskById** query of the **Inventory Mapping API**. To ensure continuity and traceability of the data flow, it is strongly recommend that you include this reference ID in any create, update, or relist mutation. Using this ID associates any mutations with the listing preview referenced to create or update the listing. **Maximum length**: 25 """ mappingReferenceId: String """ This object is used to modify payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This object also has a **businessPolicyId** field that is used to associate a payment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. This object is optional for sellers not opted into business policies. """ paymentTerms: RelistListingPaymentTermsInput """ This object is used to add or modify various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ regulatory: RelistListingRegulatoryInput """ This object is used to modify a domestic return policy and/or an international return policy (if the seller ships internationally) that is to be used for the listing. This object also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. With the exception of a few categories, this object is generally required even if the seller's *return policy* is to not accept returns. """ returnTerms: RelistListingReturnTermsInput """ This field is used by the seller to add or modify custom, application-specific data associated with the listing. The string specified here is stored by eBay with the listing but it is not used by eBay in any way other than that. **Note**: If this field is included, the text provided will overwrite the custom data text that is currently associated with the listing. **Maximum length**: 32 """ sellerCustomData: String """ This object is used to add or modify various tax information, including VAT rates, sales tax rates to US territories and Canadian provinces, and special tax category codes. """ taxTerms: RelistListingTaxTermsInput """ This object is used to enable or disable Bold Title or Gallery Plus listing upgrades, or to add, modify, or remove a Subtitle. Each of these listing upgrades will incur a small fee when the item is relisted. **Note**: Any listing upgrades set for the ended listing will carry over to the relisted listing and will incur fees upon relisting. """ visualEnhancements: RelistListingVisualEnhancementsInput } """ This type is used when the **relistListing** mutation fails due to one or more blocking validation errors. A list of validation rule violations that must be fixed before retrying will be shown, and one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type RelistListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type is used for a successful **relistListing** mutation that is run in `VALIDATE` mode, and the listing object is successfully validated without any errors. The results of the validation will be shown, including warnings if any occurred. """ type RelistListingValidationSuccess { """ This object shows the complete details of the validated listing object. """ listing: SellerListing! """ This array shows the type of discount(s) applied to the expected fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the listing object would occur if relisted. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings generated during the validation, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to identify or modify the main trait by which SKUs within a multiple-SKU listing differ, and to provide image URLs demonstrating the variations of this trait for each item variation. """ input RelistListingVariationImagesVaryByTraitInput { """ The trait name by which pictures of the item variations vary. The specified trait will be used to determine which images to display when a buyer selects a variation in the View Item page. For example, if the trait is `Color`, then a corresponding product image in the **traitValueImages** array will be displayed when that color is selected in the View Item page. The trait name specified here must be one of the variation traits specified in the **variationTraits** array. **Maximum length**: 65 characters. """ traitName: String! """ This array is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImageUrls** array. **Note**: The full list of trait value images must be included in this array, and not just the ones that are being added. """ traitValueImages: [RelistListingVariationTraitValueImageInput!]! } """ This type is used to add or modify name-value pairs for the traits where each SKU within a multiple-variation listing differs, such as `Color` and `Size`. Each available color and each available size will be listed through the **variationTraits** array. If the listing featured t-shirts, each variation within that listing would have a unique color and size combination such as `Blue, Large`. """ input RelistListingVariationsInput { """ This object identifies the main trait by which variations differ, and provides image URLs demonstrating the variations of this trait for each variation. For example, the varying trait may be `Color`, and image URLs would be provided showcasing the different color of each variation. """ imagesVaryByTrait: RelistListingVariationImagesVaryByTraitInput """ This array provides the names of the varying traits and the available values for each of these traits. For example, one trait might be `Color`, and all of the available colors would be specified in the corresponding **values** array. Another trait might be `Size`, and all of the available sizes would be specified in the corresponding **values** array. If the multiple-SKU listing has two varying traits such as `Color` and `Size`, each variation would have a different combination of each of these traits, such as a `Large, Red` shirt. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method of the **Taxonomy API** can be used to retrieve aspects that are optional, recommended or required for a specific category. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method in the **Taxonomy API** works similarly but is processed asynchronously and provides optional, recommended or required aspects every leaf category on an eBay marketplace. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method can be paired up with the **Taxonomy SDK** to help maintain an up-to-date list of aspects for each leaf category. **Note**: The full list of all variation traits and values must be included in this array, and not just the ones that are being added. **Maximum number of traits**: 5 **Maximum values per trait**: 50 **Maximum length of each trait name and value**: 65 characters """ variationTraits: [NameValuesPairInput!] } """ This type is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is `Color`, each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImageUrls** array. """ input RelistListingVariationTraitValueImageInput { """ An array of one or more images that demonstrate the corresponding **traitValue**. For example, if the **traitName** is `Color` and the **traitValue** is `Red`, the image(s) would show a red variation of the product. Depending on the product, one image per variation may be enough, but multiple images may be specified for each **traitValue**. For example, it is possible that a seller would want to show the front and back of each shirt in each color. **Note**: The full list of image URLs must be included in this array, and not just the ones that are being added. **Note**: All images, whether they are hosted by eBay Picture Server (EPS) or self-hosted, must comply with eBay picture requirements. eBay Picture Server (EPS) and self-hosted picture URLs should not be mixed, and all URLs must use 'https' and not 'http'. **Maximum number of images per trait value**: 12. """ traitImageUrls: [HttpsUrl!]! """ The trait value of the corresponding image(s) in the **traitImageUrls** array. If the **traitName** is `Color`, values in this field may include *Red*, *Blue*, *Green*, etc. At least one of the variations within the multiple-SKU listing must have this value. **Maximum length**: 65 characters. """ traitValue: String! } """ This type is used to enable or disable Bold Title or Gallery Plus listing upgrades, or to add, modify, or remove a Subtitle. Each of these listing upgrades will incur a small fee. """ input RelistListingVisualEnhancementsInput { """ This field is used to enable or disable the Bold Title listing upgrade. With this upgrade, the listing title will be in boldface type in search results for greater visibility. **Note**: This feature cannot be enabled for a motor vehicle listing as motor vehicle listing titles are automatically generated by eBay based on Year, Make, Model, and other aspects of the vehicle such as engine type and trim. """ boldTitle: Boolean """ This field is used to enable or disable the Gallery Plus feature. With Gallery Plus, a larger gallery image of the item is displayed in search results. **Note**: This feature cannot be enabled for a motor vehicle listing. """ galleryPlus: Boolean """ This field is used to add or modify a customized subtitle for the listing. By using a subtitle, more keywords can be provided and search results may be improved. **Note**: If this field is included, the text in this field will overwrite the current subtitle if one is defined for the listing. **Maximum length**: 55 characters. """ subtitle: String } """ This type is used to add or modify a domestic return policy or an international return policy (if the seller ships internationally) that is to be used for the listing. This object also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. """ input RelistShippingBusinessPolicyInput { """ This field is used to specify a fulfillment business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID! """ This array is used to override the shipping costs for one or more shipping service options defined in the fulfillment terms being used for the listing. """ overrideShippingOptions: [RelistListingOverrideShippingOptionInput!] } """ This type indicates that the buyer cancelled due to a change of mind about the purchase. """ type RemorseCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `REMORSE`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ The union type for the **removeAllFromWatchList** mutation. If the **removeAllFromWatchList** mutation succeeds, all items will be removed from the user's watchlist. If the **removeAllFromWatchList** mutation fails, an error detailing why the mutation failed will be returned, and the items will not be removed from the user's Watchlist. """ union RemoveAllFromWatchListOutput = RemoveAllFromWatchListSuccess """ This type indicates that the **removeAllFromWatchList mutation succeeded, and all items were successfully removed from the user's Watchlist. This type returns the number of items successfully removed from the user's Watchlist. """ type RemoveAllFromWatchListSuccess { """ The number of items that were successfully removed from the user's Watchlist. """ numberOfItemsUnwatched: Int! } """ This type indicates that the **removeFromWatchList** mutation failed, and that all requested items failed to be removed for the user's Watchlist. The unique identifier of each item that failed to be removed from the Watchlist is returned, alongside the reason each failed. This type also returns the total number of items being watched by the user after the failed mutation and the maximum number of items they can add to their Watchlist. """ type RemoveFromWatchListFailure implements BusinessError { """ A machine-readable error code (clients should use this for handling, not the message): `WTCHL_REMOVE_ALL_FAILED` """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters """ errorMessage: String! """ This array returns the unique identifier(s) of the item(s) that failed to be added to the user's Watchlist, along with the reason each failed. """ failedItems: [WatchListRemoveFailure!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ The base input type for the **removeFromWatchList** mutation. """ input RemoveFromWatchListInput { """ An array of items to be removed from the user's Watchlist. **Note**: This array must contain at least one item. """ itemsToRemove: [WatchListEntryToRemove!]! } """ The union type for the **removeFromWatchList** mutation. This type covers three possible scenarios: success, partial failure, or failure. If the **removeFromWatchList** mutation succeeds, the specified items will be removed from the user's Watchlist. If the **removeFromWatchList** mutation fails or partially fails, an array of blocking errors detailing why each item failed will be returned, and the item(s) will not be removed from the user's Watchlist. If a mutation fails, there will always be at least one blocking error. """ union RemoveFromWatchListOutput = RemoveFromWatchListFailure | RemoveFromWatchListPartialFailure | RemoveFromWatchListSuccess """ This type indicates that the **removedFromWatchList** mutation partially failed. Some of the specified items were successfully removed from the user's Watchlist, but one or more failed to be removed. The unique identifier of each item that successfully removed from the Watchlist is returned. In addition, the unique identifier of each item that failed to be removed from the Watchlist is returned, alongside the reason each failed. This type also returns the total number of items removed from the user's Watchlist after the partially failed mutation, the current total number of items being watched by the user, and the maximum number of items they can add to their Watchlist. """ type RemoveFromWatchListPartialFailure implements BusinessError { """ A machine-readable error code (clients should use this for handling, not the message): `WTCHL_PARTIAL_REMOVE_FAILURE` """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters """ errorMessage: String! """ This array returns the unique identifier(s) of the item(s) that failed to be added to the user's Watchlist, along with the reason they failed. """ failedItems: [WatchListRemoveFailure!]! """ The number of items that were successfully removed from the user's Watchlist. """ numberOfItemsUnwatched: Int! """ This array returns the unique identifier(s) of the item(s) that were successfully removed from the user's Watchlist. """ removedItems: [Item!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ This type indicates that the **removeFromWatchList** mutation succeeded, and all requested items were successfully removed from a user's Watchlist. The unique identifier of each item that was successfully removed from the Watchlist is returned. This type also returns the total number of items removed from the user's Watchlist after the successful mutation, the current total number of items being watched by the user, and the maximum number of items they can add to their Watchlist. """ type RemoveFromWatchListSuccess { """ The number of items that were successfully removed from the user's Watchlist. """ numberOfItemsUnwatched: Int! """ This array returns the unique identifier(s) of the item(s) successfully removed from the user's Watchlist. """ removedItems: [Item!]! """ The current total number of items in the user's Watchlist. """ watchListCount: Int! """ The maximum number of items allowed in the user's Watchlist. """ watchListMaximum: Int! } """ This type indicates that the seller has sent a replacement item to the buyer. """ type ReplacementSent implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `REPLACEMENT_SENT`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type is used when a business error occurs with a **requestPurchaseQuote** mutation. """ type RequestPurchaseQuoteBusinessError implements BusinessError { """ The unique identifier of the specific error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. **Maximum length**: 40 characters """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. **Maximum length**: 500 characters """ errorMessage: String! """ This boolean indicates whether or not the user should try to request the purchase quote again. If this field is returned as `true`, the user can make another attempt to request the purchase quote. """ retryable: Boolean! } """ This input is used by buyer to request a purchase quote when using the **requestPurchaseQuote** mutation. """ input RequestPurchaseQuoteInput { """ This array is used to provide two or more item commitment identifiers that will become a part of the requested purchase quote. A comma is used as a delimiter for each item commitment identifier. """ lineItems: [PurchaseQuoteItemInput!]! """ This field allows the buyer to provide a custom message to the seller regarding the purchase quote being requested. **Maximum length**: 512 characters """ messageToSeller: String """ This object is used to provide an alternative shipping address to use if the buyer wishes that the items be sent to this address instead of the buyer's shipping address on file with eBay. """ shippingAddress: AddressInput } """ This union type is used to represent the possible outcomes of the **requestPurchaseQuote** mutation. """ union RequestPurchaseQuoteOutput = RequestPurchaseQuoteBusinessError | RequestPurchaseQuoteSuccess """ This base output type is used for a successful **requestPurchaseQuote** mutation, and shows the details of the successfully requested purchase quote. """ type RequestPurchaseQuoteSuccess { """ This object shows the successfully requested purchase quote. """ purchaseQuote: PurchaseQuote } """ This type is used to provide the name and contact information for one or more responsible persons based in the EU. """ type ResponsiblePerson { """ This object shows the street address for a responsible person. """ address: BusinessEntityAddress """ This field shows the company name associated with the responsible person. """ companyName: String """ This object shows the phone number, email address, and/or the Contact/Support page URL for the responsible person. A seller must provide at least one of the three is required if a responsible person is supplied. """ contact: BusinessEntityContact """ This array shows the responsible person type, and the only supported value is `EU_RESPONSIBLE_PERSON`. """ personTypes: [String!] } """ This type defines the information associated with retracted bid records. """ type RetractedBidMetadata implements BidMetadata { """ The date and time, expressed in UTC, when the corresponding bid was placed. **Format**: `YYYY-MM-DDTHH:MM:SS.SSSZ` """ placedAt: DateTime! """ User-specified text indicating the reason for retracting the corresponding bid. **Note**: The seller of an item will be able to view all retraction reasons for retracted bids associated with their own item. A bidder will only be able to view the retraction reason associated with their own bid. """ reason: String! """ The date and time, expressed in UTC, when the corresponding bid was retracted. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ """ retractedAt: DateTime! } """ This type, available for the seller, is used to retry refund cancellation action on the contract. """ type RetryRefundContractCancellationAction implements ContractCancellationAction { """ The machine-readable cancellation action code for this use case. For this type, the value is `RETRY_REFUND`. """ code: String! """ A human-readable message explaining the cancellation action code. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface represents various return actions that can be taken by an actor (for example, the buyer or the seller). **Seller:** Actions include sending a message, submitting an offer, approving a return, declining a return, providing shipment information, recording the returned item received, issuing a refund, and similar actions. **Buyer:** Actions include sending a message, accept an offer, providing shipment information, recording the item as shipped, and similar actions. """ interface ReturnAction { """ A machine-readable code identifying the return action. For example: `SEND_MESSAGE`, `APPROVE_RETURN`, `DECLINE_RETURN`, `PROCESS_RETURN_REFUND`, and similar action codes. **Maximum length**: 100 characters """ code: String! """ Human-readable text for return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ The error type indicates when an action is not allowed. This is used when a user attempts to perform an action they don't have permission for, or when the action is not valid in the current state. """ type ReturnActionNotPermittedError implements BusinessError { """ A list of one or more actions that are available to the user in the current state. This can be used to guide the user on what actions they can take. """ availableActions: [ReturnAction!] """ A machine-readable error code: `RTRN_ACTION_NOT_PERMITTED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This interface represents a return address associated with a user or a business. Address formats vary by country and carrier, and some fields may not apply or can be omitted based on regional conventions and data availability. Optional string fields may be returned as null when: - it was not provided by the user - it is not applicable in the region - it is unknown When a field is present, values are returned in their localized form and may be normalized (for example, uppercased postal codes) depending on upstream systems. **Note**: Avoid relying on empty strings. Absence of a value is represented as null. """ interface ReturnAddress { """ The contact details associated with this address (e.g., name, phone). This field is only returned in the case of a buyer receiving the seller’s contact details for a return address to generate a return label. """ addressContact: AddressContact """ The unique public identifier for the address. This field is used primarily for Return Address records and for sharing a reference that is stable across requests. **Example:** `RA-9c4b2f58-1f4e-4e72-9a4c-702d5e2b74e1` """ addressId: ID """ The first line of the street address (e.g., house number and street name). **Examples:** - `2025 Hamilton Avenue` - `221B Baker Street` - `Building 12` (in regions where street numbering is uncommon) **Notes**: - This field is required in most street-addressing countries (e.g., United States, United Kingdom). - This field may be null in regions that rely primarily on district/building names rather than street numbers (e.g., Hong Kong). - This field may be null for pure P.O. Box formats or institutional addresses where the line is not used separately (e.g., UAE, certain Qatar addresses). """ addressLine1: String """ The second line of the street address, such as apartment, suite, building, floor, or additional delivery detail. **Examples:** - `Apt 5B` - `Suite 1200` - `Room 303, East Wing` **Notes**: - This field is common and often present in the U.S., Canada, and the U.K. for unit-level delivery. - This field is null if no secondary address details are provided or applicable. """ addressLine2: String """ The city, town, or locality name. **Examples:** - `San Jose` - `London` - `Toronto` **Notes**: - This field may be null in regions that instead use district/municipality without a conventional **city** field (e.g., Hong Kong, Macau). - This field may be null for rural/local addresses that rely on townland or parish concepts (e.g., some legacy Irish addresses). """ city: String """ The two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code of the return address. **Examples:** - `US`, `GB`, `CA`, `IE`, `HK` **Note**: This field is required for all addresses. """ countryCode: CountryAlpha2Code """ The postal code, ZIP code, or PIN code used for mail routing for the return address. **Examples:** - `95110` (U.S. ZIP) - `SW1A 1AA` (UK post code) - `H3Z 2Y7` (Canada postal code) **Note**: This field may be null in countries or territories that do not use postal codes (e.g., many Hong Kong and UAE addresses relying on P.O. Boxes). """ postalCode: String """ The state, province, region, or administrative area code or name. **Examples:** - `CA` or `California` - `ON` or `Ontario` **Notes**: - This field may be null in countries without a state/province concept (e.g., Singapore, Hong Kong). - This field may be null when the locality and postal code provide sufficient routing and the region does not require this field. - This field may be present as either code or full name depending on upstream normalization. """ stateOrProvince: String } """ This type defines the return adjustment. A return adjustment refers to the modification of a transaction or order after a customer returns a product. This adjustment typically involves updating the payment, inventory, or order state to reflect the return of goods. It ensures that the financial and inventory records are accurate after the product is returned, whether due to a defect, dissatisfaction, or change of mind. """ type ReturnAdjustment implements OrderAdjustment { """ The unique identifier of the return adjustment. """ adjustmentId: ID! """ The creation date of the adjustment. """ createdAt: DateTime! """ The return request associated to this adjustment. """ return: OrderReturn! """ The current state of the adjustment. """ state: OrderAdjustmentState! """ This timestamp indicates the last update of the adjustment. """ updatedAt: DateTime! } """ This type details a seller's return automation preferences. """ type ReturnAutomationPreference { """ The return addresses eligible for use in the seller's automation return preferences. Addresses are available per eBay business policies. """ eligibleReturnAddress: [ReturnAddress!] """ A list of seller-defined listing groups used in return automation rules. These groups can be referenced in rule conditions to target specific listings. Each group may contain a limited number of listings. """ listingGroups: [ReturnRuleListingGroup!] """ This list of one or more rules defines the seller-configured respond rules that determine **how** to respond a buyer's return request. Each rule defines the conditions and parameters for an automation decision: - `APPROVE_KEEP_THE_ITEM`: Buyer keeps the item and return is approved with Refund. - `APPROVE_RETURN_THE_ITEM`: Buyer is instructed to return the item The rules are evaluated in order of priority (lowest numbered first), with the first matching rule produces the approval automation outcome. This is then used to drive subsequent routing through the **returnToAddressRules**. """ returnResponseRules: [ReturnResponseRule!] """ This list of one or more rules defines the seller-configured routing rules that determine **where** an approved return should be sent once a buyer is instructed to return the item. Each rule within this list corresponds to the `RETURN_TO_ADDRESS` automation type and specifies the conditions under which a particular return address (from the eligible address pool) should be used. These routing rules are evaluated before an approval rule (for example, `APPROVE_RETURN_THE_ITEM`) has matched, and are prioritized by `priority` (lowest first). The first matching rule resolves the `returnAddressId` to which the buyer will be directed. """ returnToAddressRules: [ReturnToAddressRule!] } """ This interface provides for an automation return rule definition with ID, categories, status, priority, and conditions. """ interface ReturnAutomationRule { """ The associated condition set for this rule. """ conditionSet: ReturnRuleConditionSet! """ The unique name of the rule. **Maximum length**: 100 characters """ name: String! """ This integer defines the rule's evaluation order. Rules are processed from lowest to highest number, where a lower number means higher priority. Evaluation stops as soon as a rule matches. For example, a rule with priority 1 is evaluated before a rule with priority 5. **Note**: Each rule must have a unique priority number. """ priority: Int! """ The unique identifier of the rule generated by the system. """ ruleId: ID! """ The current status of the rule. Only rules with the status `ENABLED` are executed. """ status: SellerReturnRuleStatus! } """ This type indicates that the return was closed without completion and is considered cancelled. Instances when this status applies: - the buyer closes the return request without shipping the item back - eBay closes the return due to timeout occurring due to the following: - an approved return was not shipped back by the buyer within the allowed time - a requested return was not approved by the seller, and the buyer did not ask eBay to step in and assist - eBay closes the return because the buyer filed an external payment dispute """ type ReturnCancelled implements ReturnStatus { """ A machine-readable return status code: `CANCELLED`. """ code: String! """ A human-readable return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicate the return is closed (is at an end state). This typically indicates that the return lifecycle completed successfully. Instances when this status applies: - the buyer keeps the item and receives a full refund - the buyer ships the item back and receives a full refund - the buyer keeps the item and receives a partial refund after negotiating with seller The refund object provides the refund amount and breakdown, and the return shipment section provides package or shipment details. """ type ReturnClosed implements ReturnStatus { """ A machine-readable return status code: `CLOSED`. """ code: String! """ A human-readable return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface describes why the line item is ineligible for return. """ interface ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code. """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The specific line item that is ineligible for return. """ orderLineItem: OrderLineItem! } """ This error type provides for a return creation eligibility error that denotes return creation is blocked due to eligibility issues. It provides additional details explaining why the return line item is not eligible for return. """ type ReturnCreationNotAllowedError implements BusinessError { """ A machine-readable return error code: `RTRN_CREATION_NOT_ALLOWED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. """ errorMessage: String! """ A list of one or more reasons describing why the line item is not eligible for a return request. """ returnIneligibilityReasons: [ReturnCreationIneligibilityReason!]! } """ This type indicates the return is declined by the seller or eBay admin and it's in an end state, in both code and a human-readable description. """ type ReturnDeclined implements ReturnStatus { """ A machine-readable code providing the return status: `DECLINED`. """ code: String! """ A human-readable description of the return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the buyer returned the wrong item. """ type ReturnedWrongItem implements PostPurchaseCaseReferralReason { """ Machine-readable reason code: `BUYER_RETURNED_WRONG_ITEM`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type represents the fulfillment details of a return. This object bridges between the user-facing return process and the underlying logistics execution. It provides the shipment-related context for a return, such as label details, addresses, and tracking data. Buyers and sellers interact primarily with high-level fulfillment states, the internal logistics components (for example, carrier tracking and events) are managed under `logisticExecutionDetail`. """ type ReturnFulfillment { """ The destination address where the return package is expected to be delivered. """ finalDestinationAddress: ReturnAddress! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" ]) """ This object represents user-friendly fulfilment states for a return. These states convey to buyers and sellers where their return stands in the fulfillment lifecycle, while also aligning with underlying logistics milestones. **Note**: Returns presently have one package per return line item. """ fulfillmentStatus: ReturnFulfillmentStatus! """ The summary of the return fulfillment including the latest events for the return shipment. This provides the minimal details required for launching the return. This optional object is present only when a return shipment is initiated. """ returnFulfillmentSummary: ReturnFulfillmentSummary """ This object provides RMA (Return Merchandise Authorization) details for the return shipment, optionally present based on seller preference. """ rmaDetails: [RmaDetail!] """ This object provides details for initiating the return shipment and is optionally present when return fulfillment is to be initiated. It is not present if there are no action items for the seller to initiate the return fulfillment or the fulfillment has already been initiated. Included in this object are available ways to start the return, for example, a seller-provided label or other label that could be used by the buyer or eBay to initiate the return shipment, and address information. """ sellerFulfillmentInitiation: ReturnFulfillmentInitiation @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" ]) } """ This type indicates that the return shipment is currently in transit to the destination or being processed by the carrier. """ type ReturnFulfillmentComplete implements ReturnFulfillmentStatus { """ A machine-readable code identifying the return fulfillment status. **Maximum length**: 512 characters """ code: String! """ The date and time when the return shipment was completed (delivered). """ completedAt: DateTime! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that the return shipment is currently in transit to the destination or being processed by the carrier. """ type ReturnFulfillmentException implements ReturnFulfillmentStatus { """ A machine-readable code identifying the return fulfillment status. **Maximum length**: 512 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type provides details for initiating the return shipment and is optionally present when return fulfillment is to be initiated. Included are available ways to start the return, for example, a seller-provided label or other label that could be used by the buyer or eBay to initiate the return shipment, and address information. """ type ReturnFulfillmentInitiation { """ The address that has been provided as the return destination address for the return shipment. This address could be a seller address or a facility address if the package has to be routed to an intermediate facility before reaching final destination. Sellers and Buyers are encouraged to use this address for initiating providing the return label. """ destinationAddress: ReturnAddress! """ A list of one or more available options for initiating the return shipment. Available actions may vary based on the return and the actor, and include the following: - Use Platform Label - Attach Label to Return - Record Label was sent offline This list is provided only when the return label provisioning options are available for the return. It is omitted if the return label has been already provided. """ labelProvisionOptions: [ReturnLabelProvisionOption!] """ The origin address from which the return shipment will be initiated. This may be the buyer's address or, if the package was routed through an intermediate facility, the facility's address. Buyers and sellers are encouraged to use this address when initiating the return. """ originAddress: ReturnAddress! """ A list of one or more return labels provisioned to be used to send the return packages. This optionally present return label is not returned if the label is already provisioned for the return shipment. """ provisionedLabels: [ProvisionedReturnLabel!] } """ This type indicates that the return shipment is currently in transit to the destination or being processed by the carrier. """ type ReturnFulfillmentInProgress implements ReturnFulfillmentStatus { """ A machine-readable code identifying the return fulfillment status. **Maximum length**: 512 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface represents the user-friendly fulfillment states for a return. These states convey to buyers and sellers where their return stands in the fulfillment lifecycle, while also aligning with underlying logistics milestones. """ interface ReturnFulfillmentStatus { """ A machine-readable code identifying the return fulfillment status. **Maximum length**: 512 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type provides a summary of the return fulfillment including the latest events for the return shipment. It includes the latest events for every return shipment package. """ type ReturnFulfillmentSummary { """ A list containing one or more of the latest return package events. A return supports only one package. The list provides latest events for every return shipment package. """ latestPackageEvents: [ReturnLogisticEvent!]! } """ This type represents that a line item is ineligible for return creation because a cancellation exists for this transaction. """ type ReturnIneligibleCancellationExists implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `CANCELLATION_EXISTS` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type indicates that the line item is ineligible for return creation because an inquiry already exists for the transaction. """ type ReturnIneligibleInquiryExists implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `INQUIRY_EXISTS` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because in-store returns are not permitted. """ type ReturnIneligibleInStoreReturnNotSupported implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `IN_STORE_RETURN_NOT_SUPPORTED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because a payment dispute exists for the transaction. """ type ReturnIneligiblePaymentDisputeExists implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `PAYMENT_DISPUTE_EXISTS` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type indicates that a line item is ineligible for return creation because requested quantity exceeds the returnable quantity. """ type ReturnIneligibleQuantityExceeded implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `QUANTITY_EXCEEDED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! """ Quantity requested by the user. """ requestedQuantity: Int! """ Quantity that can be returned. """ returnableQuantity: Int! } """ This type indicates that the line item is ineligible for return creation because a requested return reason is not allowed. """ type ReturnIneligibleReasonNotAllowed implements ReturnCreationIneligibilityReason { """ The return reason codes that are allowed for this line item. """ allowedReasons: [ReturnReason!]! """ A machine-readable ineligibility code: `RETURN_REASON_NOT_ALLOWED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because a refund has already been issued. """ type ReturnIneligibleRefundIssued implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `REFUND_ALREADY_ISSUED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because a return already exists for the transaction. """ type ReturnIneligibleReturnExists implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `RETURN_EXISTS` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type indicates that a line item is ineligible to have a return created because returns disallowed by policy (seller-specific and/or eBay policy). """ type ReturnIneligibleReturnNotAccepted implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `RETURN_NOT_ACCEPTED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because the return window has elapsed. """ type ReturnIneligibleReturnWindowElapsed implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `RETURN_WINDOW_ELAPSED` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This type represents that a line item is ineligible for return creation because it is too early to file a return. """ type ReturnIneligibleTooEarly implements ReturnCreationIneligibilityReason { """ A machine-readable ineligibility code: `TOO_EARLY_TO_REQUEST_RETURN` """ code: String! """ A human-readable ineligibility message. """ displayMessage: String! """ The line item that is ineligible for a return request. """ orderLineItem: OrderLineItem! } """ This error type indicates that the specified date range exceeds the allowed limit or has an invalid start and end date order. """ type ReturnInvalidDateRangeError implements BusinessError { """ A machine-readable error code: `RTRN_INVALID_DATE_RANGE`. """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This error type indicates that the specified page size exceeds the allowed limit. """ type ReturnInvalidPageSizeError implements BusinessError { """ A machine-readable error code: `RTRN_INVALID_PAGE_SIZE`. """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum allowed page size. """ maxAllowedPageSize: Int! """ The minimum allowed page size. """ minAllowedPageSize: Int! """ The requested page size. """ requestedPageSize: Int! } """ This error type indicates that the search request must include either initial search input or page cursor information. """ type ReturnInvalidSearchInputError implements BusinessError { """ A machine-readable error code: `RTRN_INVALID_SEARCH_INPUT`. """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This type restricts conditions to a specific category list. """ type ReturnItemCategoryCondition { """ A list of one or more categories referenced by this condition. **Note**: These need to be eBay leaf category IDs. """ categories: [Category!]! } """ This input type defines the leaf categories applicable to an automation return rule template. - specify categories by their ID - duplicate category IDs are not allowed """ input ReturnItemCategoryConditionInput { """ A list of leaf category IDs to which the rule applies. Constraints: - they must be eBay leaf category IDs - a maximum of 20 category IDs can be specified - IDs must be unique """ categoryIds: [ID!]! } """ This type restricts conditions to the item's location country. The list of countries can be provided. """ type ReturnItemLocationCountryCondition { """ The list of countries in which the seller has a return rule based on item condition. """ itemLocationCountries: [CountryAlpha2Code!]! } """ This input type defines the item location countries applicable for an automation return rule template: - specify countries using their codes. - duplicate country codes are not allowed. """ input ReturnItemLocationCountryConditionInput { """ The list of countries in which the seller will apply a return rule based on item condition. """ itemLocationCountries: [CountryAlpha2Code!]! } """ This type provides details about the return shipment's return label. """ type ReturnLabel { """ This field contains the return label document ID. This is the unique identifier for the return shipment label document. **Note**: Use the **Media API** [downloadPostOrderDocument](https://developer.ebay.com/api-docs/commerce/media/resources/post_order/methods/downloadPostOrderDocument) method to download the label. This optional field is not available during the following scenarios. - seller provides only tracking and shipping carrier code for offline methods - return label is from by the buyer """ labelDocument: OrderReturnDocument """ The shipping carrier used for the return shipment. """ shippingCarrier: ShippingCarrier! """ The total label cost for this return label. This optionally present field is only available when the platform label is provided. """ totalLabelCost: AmountSet """ The carrier tracking number used to track the return fulfillment status for the return. This optional field will not be present if the tracking number is not provided for the return shipment. **Note**: Some carriers do not have trackable labels. """ trackingNumber: String } """ This enumerated type is used to provide the return label options for the return shipment label. """ enum ReturnLabelProvisionOption { """ This enum value indicates that the seller attaches the return label to the return. **Note**: Use the **Media API** [downloadPostOrderDocument](https://developer.ebay.com/api-docs/commerce/media/resources/post_order/methods/downloadPostOrderDocument) method to download the label. """ ATTACH_LABEL_TO_RETURN """ This enum value indicates that the seller has sent the return label to the buyer offline. """ RECORD_LABEL_SENT_OFFLINE """ This enum value indicates that the platform provides the return shipping label. """ USE_PLATFORM_LABEL } """ This type is used to provide the carrier and tracking information for the return shipment label that has been sent. """ input ReturnLabelTrackingInput { """ The date when the return shipment label was sent to the buyer. If this optional field is not provided, the current date will be used as the label sent date. """ labelSentAt: DateTime """ The standardized carrier details (for example, UPS, USPS, FEDEX) for the return shipment. It is not nullable, but the entire object may be omitted if tracking info is unavailable. """ shippingCarrier: ReturnShippingCarrierInput! """ The tracking number for the return shipment. """ trackingNumber: String! } """ This type contains information on the order line item attached to the return. """ type ReturnLineItem { """ The restock details for the returned listing. Present only when listing restock is requested through returns mutations. This can be a list in case we will support restock for individual listing inside one item bundle. """ listingRestockTasks: [PostPurchaseListingRestockTask!] @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/sell.return.read" "https://api.ebay.com/oauth/api_scope/sell.return" ]) """ The order line item that is part of the return request. """ orderLineItem: OrderLineItem! """ The number of units in the request to return. This field is optional and applies only to multi-quantity line items. """ requestedQuantity: Int """ This list contains one or more documents uploaded when the return was created. Optionally present only if the requester has provided any documents during return creation. """ returnCreationDocuments: [OrderReturnDocument!] """ The unique identifier of the return line item. """ returnLineItemId: ID! """ Notes that were provided during the creation of the return. Optionally present only if the requester has provided a note. """ returnNote: String """ The return reason, which could change based on the return request and category of items. As new return reasons can be added in future, code so clients can handle this field gracefully. In countries where the return reason is not mandatory to provide, it will be returned as `UNDISCLOSED`. """ returnReason: ReturnReason! } """ This error type indicates that the specified return line item in the request does not exist. """ type ReturnLineItemNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_LINE_ITEM_NOT_FOUND` """ errorCode: String! """ A human-readable error message. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the line item that was requested but not found. """ requestedLineItemIds: [ID!]! } """ This input type specifies the line-item level refund withholds for the return. """ input ReturnLineItemRefundWithholdInput { """ The identifier of the return line item for which the refund withholds are being applied. """ returnLineItemId: ID! """ The percentage (1–99) to withhold from the refundable item price. The maximum allowed percentage is determined by the applicable return refund policy. """ withholdPercentageOnItemPrice: Int! = 0 """ The reason withholding was applied to the refund amount for the return line item. This is to provide context on why the refund amount is being withheld. """ withholdReturnRefundReason: [WithholdReturnRefundReasonInput!]! """ If `true`, the shipping cost is withheld from the refund for this line item. Withholding of shipping cost is subject to the return refund policy and may not be permitted if the policy requires shipping costs to be refunded. """ withholdShippingCostFromRefund: Boolean! = false } """ This type restricts conditions to specify to a specific listing group. Every group can have a specified number of listings. """ type ReturnListingGroupCondition { """ A listing group ID referenced by this condition: - a group can have a specified number of listings - only one group can be defined per condition """ returnRuleListingGroupId: ID! } """ This input type defines a group containing multiple listings to which the return automation rule applies. """ input ReturnListingGroupConditionInput { """ This field specifies the unique identifier of the listing group used by this condition in an automation return rule template. **Note**: Only one listing group can be specified per condition. """ returnRuleListingGroupId: ID! } """ This interface represents actions completed and their timing during return logistic fulfillment, for actions such as carrier pickup, in transit, delivered actions, and facility actions. """ interface ReturnLogisticEvent { """ The date and time when the tracking event occurred. """ occurredAt: DateTime! """ The return line items that were affected by this event. **Note**: For multiple-quantity orders, line items may have the same type of event affect them multiple times. """ returnLineItems: [ReturnLineItem!]! } """ This type represents a complete negotiation conversation on return. Current policy supports one offer per negotiation. """ type ReturnNegotiation { """ The latest return offer made in the negotiation. """ latestReturnOffer: ReturnOffer! } """ This type represents the validation constraints defined for the return note. """ type ReturnNoteConstraint { """ The minimum and maximum number of characters allowed. """ characterLimit: InputTextLengthRange! } """ This type represents the return note input violations. """ type ReturnNoteViolation implements ApproveReturnInputViolation & CreateInStoreReturnInputViolation & DeclineReturnInputViolation & SendMessageInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example, `RETURN_NOTE_VIOLATION`). """ code: String! """ This field indicates the constraints defined for return note input. """ constraint: ReturnNoteConstraint! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ This field ndicates whether the return note exceeded the allowed length. """ exceededLength: Boolean! } """ This error type indicates that the return was not found. """ type ReturnNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_NOT_FOUND` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. """ errorMessage: String! """ The unique identifier of the return request that was not found. """ requestedReturnId: ID! } """ This type indicates that the return item has not been received by the seller. """ type ReturnNotReceived implements PostPurchaseCaseReferralReason { """ The machine-readable reason code: `RETURN_NOT_RECEIVED`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a single return offer made in the context of the return. """ type ReturnOffer { """ This object shows proposed offer terms in the return negotiation. """ proposedTerm: [ReturnOfferTerm!]! """ The current status of the return offer that was made in the negotiation. """ status: ReturnOfferStatus! } """ This type indicates the offer has been accepted by the offeree. """ type ReturnOfferAccepted implements ReturnOfferStatus { """ A machine-readable return offer status code: `ACCEPTED`. """ code: String! """ The human-readable text for return offer status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the offer has been declined by the offeree. """ type ReturnOfferDeclined implements ReturnOfferStatus { """ A machine-readable return offer status code: `DECLINED`. """ code: String! """ The human-readable text for return offer status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the offer has expired due to no response from the offeree within the specified time frame. """ type ReturnOfferExpired implements ReturnOfferStatus { """ A machine-readable return offer status code: `EXPIRED`. """ code: String! """ The human-readable text for return offer status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates the offer has been made and is awaiting offeree's response. """ type ReturnOfferPending implements ReturnOfferStatus { """ A machine-readable return offer status code: `PENDING`. """ code: String! """ The human-readable text for return offer status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This interface provides the status of the proposed keep-item partial refund offer. """ interface ReturnOfferStatus { """ A machine-readable code identifying the return offer status. For example, `PENDING`, `ACCEPTED`, `DECLINED`, `EXPIRED`. **Maximum length**: 100 characters """ code: String! """ Human readable text for return offer status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This union type represents all possible return offer terms. **Note**: This union is forward-compatible. New types may be added without notice. """ union ReturnOfferTerm = KeepItemPartialRefundTerm """ This type indicates the return is approved by the seller or eBay admin, awaiting processing, in both code and a human-readable description. """ type ReturnOpen implements ReturnStatus { """ A machine-readable code providing the return status: `OPEN`. """ code: String! """ A human-readable description of the return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type provides the business policy's options for returns including if returns are accepted, who pays for return shipping, and how refunds are issued. """ type ReturnOptions { """ This field indicates the refund method offered by the seller. Its value will be `MONEY_BACK` unless the seller is enabled for Buy online, Pickup in Store or Click and Collect, and then it might be `MERCHANDISE_CREDIT`. Can be null when returns are not accepted or when not specified. Getting their money back for returned items is always an option for buyers, regardless of what the seller sets in this field. **Occurrence**: Always """ refundMethod: RefundType """ The number of calendar days the buyer has to return the item, starting from the date the item is recorded as delivered to the buyer's ship-to address. Most categories support 30-day and 60-day return periods. This field is present only when **returnsAccepted** is `true` and may be null when returns are not accepted or when not specified. **Occurrence:** Conditional """ returnPeriodInDays: Int """ This field indicates who is responsible for paying for the shipping charges for returning the item. The field can be set to either `BUYER` or `SELLER`. Present only when the **returnsAccepted** field is `true` and may be null when returns are not accepted or when not specified. Responsibility may vary based on the return reason and policy. The seller is always responsible for return shipping costs for 'significantly not as described' (SNAD) issues. **Occurrence:** Conditional """ returnShippingPaidBy: Invoicee """ Indicates whether the seller accepts returns for this policy. - `true`: Returns are accepted - `false`: Returns are not accepted **Occurrence:** Always """ returnsAccepted: Boolean! } """ This type represents the constraints defined for partial refund terms input. """ type ReturnPartialRefundTermConstraint { """ This object provides the allowed percentage range. """ allowedPercentageRange: InputPercentageRange! } """ This type provides return-specific information about a seller's return policy, including options on whether returns are accepted, who pays for return shipping, and how refunds are issued. """ type ReturnPolicyDetails { """ This object shows return options for domestic returns. """ domesticReturnOptions: ReturnOptions! """ This object shows return options for international returns. """ internationalReturnOptions: ReturnOptions! """ This optional text-based field provides more details on seller-specified return instructions. May be null if no instructions were provided by the seller. This field is no longer supported on many eBay marketplaces. To see if a marketplace and eBay category does support this field, call the getReturnPolicies method of the **Metadata API**. **Maximum length**: 8000 characters """ returnInstructions: String } """ This error type indicates that the associated return preference could not be found. """ type ReturnPreferenceNotFoundError implements BusinessError { """ A machine-readable error code `RTRN_PREFERENCE_NOT_FOUND` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ An enumerated type that indicates whether the seller's Return Merchandise Authorization (RMA) number requirement is enabled or disabled. """ enum ReturnPreferenceStatus { """ This enum value indicates the seller's RMA requirement is inactive (returns do not require an RMA). """ DISABLED """ This enum value indicates the seller's RMA requirement is active (returns require an RMA). """ ENABLED } """ This interface provides possible reasons that a member could provide while requesting return. """ interface ReturnReason { """ A machine-readable code identifying the return reason. Examples include: `DID_NOT_LIKE_ITEM`, `ORDERED_ACCIDENTALLY`, `ORDERED_WRONG_SIZE`, and similar codes in alphanumeric format with underscores. **Maximum length**: 100 characters """ code: String! """ A human-readable return reason that is intended for display only. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters. """ displayText: String! } """ This type restricts conditions to one or more allowed return reasons. """ type ReturnReasonCondition { """ An array of one or more allowed return reasons. """ returnReasonList: [ReturnReason!]! } """ This input type defines the return reasons applicable to an automation return rule template. """ input ReturnReasonConditionInput { """ A list of one or more return reasons configured for an automation return rule template. """ returnReasons: [ReturnReasonInput!]! } """ This enumerated type provides values for the reason of a return. Available values can change based on the return request and category of the item. In countries where the Return reason is not mandatory to provide, it returns as `UNDISCLOSED`. """ enum ReturnReasonInput { """ This enum value indicates that the item is being returned because it is counterfeit. """ COUNTERFEIT """ This enum value indicates that the item is being returned because it was damaged when received. """ DAMAGED_ITEM_RECEIVED """ This enum value indicates that the item is being returned because it is defective. """ DEFECTIVE """ This enum value indicates that the buyer is returning the item due to personal preference (they did not like the item). """ DID_NOT_LIKE_ITEM """ This enum value indicates that the item is being returned because it did not fit the vehicle. """ FIT_COMPATIBILITY_ISSUE """ This enum value indicates that the item is being returned because the buyer found a better price. """ FOUND_BETTER_PRICE """ This enum value indicates that the item is being returned because one or more parts of the item were missing. """ MISSING_PARTS """ This enum value indicates that the item is being returned because it was not as described. """ NOT_AS_DESCRIBED """ This enum value indicates that the item is being returned as the item is no longer needed. """ NO_LONGER_NEED_ITEM """ This enum value indicates that the item is being returned because the buyer purchased it accidentally. """ ORDERED_ACCIDENTALLY """ This enum value indicates that the item is being returned because the buyer purchased the wrong size. """ ORDERED_WRONG_SIZE """ This enum value indicates that the customer did not disclose the reason for the return. """ UNDISCLOSED """ This enum value indicates that the item is being returned as the wrong item was received instead of the one that was purchased. """ WRONG_ITEM_RECEIVED } """ This type indicates that customer did not disclose the reason for the return and displays as **Undisclosed**. """ type ReturnReasonUndisclosed implements ReturnReason { """ A machine-readable reason code: `UNDISCLOSED`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents the action to refer a return case (escalate or appeal) to eBay for help or further review. The action becomes available when the participant is eligible to escalate the return, and includes the list of valid referral reasons that can be selected during submission. """ type ReturnReferralAction implements ReturnAction { """ A machine-readable return action code: `REFER_RETURN_TO_EBAY`. """ code: String! """ The human-readable text for the return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! """ This list of one or more actions to refer (escalate) an order return for eBay's help or further review, becomes available when the participant is eligible to escalate the return and includes the list of valid referral reasons that may be selected by the user. """ referralReasons: [ReturnReferralReason!]! } """ This type represents the constraints defined for return referral. """ type ReturnReferralConstraint { """ A list of valid referral reason codes that can be used when submitting a return referral. """ validReferralReasons: [ReturnReferralReason!]! } """ This union type represents the list of referral reasons applicable in return cases. Each reason describes a scenario under which the buyer may refer the return case to eBay for help. All types implement the `PostPurchaseCaseReferralReason` interface and expose a machine-readable `code`. """ union ReturnReferralReason = DamagedItemReturned | NoRefundForReturnShipping | OtherReferralReason | ReceivedEmptyBox | RefundNotReceived | RefundedBuyer | ReplacementSent | ReturnNotReceived | ReturnedWrongItem | UnableToReachAgreement | UnresponsiveTradingPartner """ This type represents the violations related to referral return reasons. """ type ReturnReferralReasonViolation implements SubmitReturnReferralInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example, `RETURN_REFERRAL_REASON_VIOLATION`). """ code: String! """ This object defines the constraints for the return referral. """ constraint: ReturnReferralConstraint! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean indicates whether the provided referral reason code is invalid or not recognized. """ invalidReferralReason: Boolean! } """ This type represents the range for total refund. The maximum refund amount (**max**) must be greater than the minimum refund amount (**min**). Both **min** and **max** are inclusive. - if only **max** is specified: The range is **0** to **max** - if only **min** is specified: The range is **min** to infinity - negative values will not be accepted """ type ReturnRefundRangeCondition { """ This object shows the maximum refund amount allowed. """ maxRefundAmount: Amount """ This object shows the minimum refund amount allowed. """ minRefundAmount: Amount! } """ This input type defines the refund range applicable for an automation return rule template: - if a minimum and maximum are both provided, minimum must be less than or equal to maximum - if only maximum is provided, the range is `0` to maximum - negative values will not be accepted - values are set in currency of listing marketplace """ input ReturnRefundRangeConditionInput { """ The maximum refund amount in currency of listing marketplace. """ maxAmountInListingCurrency: Decimal! """ The minimum refund amount in currency of listing marketplace. The currency for minimum and maximum must be the same. **Note**: A value of `0.0` indicates no minimum. **Default**: `0.0` """ minAmountInListingCurrency: Decimal = 0 } """ This error type indicates that refund terms are required but were not provided in the request. """ type ReturnRefundTermsRequiredError implements BusinessError { """ A machine-readable error code: `RTRN_REFUND_TERMS_REQUIRED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This type indicates the return is requested by the buyer or eBay administration and is pending approval, in both code and a human-readable description. """ type ReturnRequested implements ReturnStatus { """ A machine-readable code providing the return status: `REQUESTED`. """ code: String! """ A human-readable description of the return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This error type indicates that the request contains an empty line item list, which is not allowed. """ type ReturnRequestLineItemRequiredError implements BusinessError { """ A machine-readable error code: `RTRN_REQ_LINE_ITEM_REQUIRED` """ errorCode: String! """ A human-readable error message. **Maximum length**: 512 characters """ errorMessage: String! } """ This type represents a required, time-sensitive, primary return action for a specific return, with a due date for completing the action. Use this type to highlight time-sensitive actions required from a buyer or seller. """ type ReturnRespondByAction { """ The action that is required on the return request. """ respondAction: ReturnAction! """ The due date for completing the action. """ responseDueAt: DateTime! } """ This type represents a return response where the buyer keeps the item and no return shipment to the seller is required. """ type ReturnResponseKeepItemStrategy implements ReturnResponseStrategy { """ A machine-readable code identifying the rule response strategy: `AUTO_REFUND_KEEP_ITEM`. """ code: String! """ A human-readable description of the rule outcome. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents a return response where the return request is automatically approved and the buyer must ship the item back to the seller. """ type ReturnResponseReturnItemStrategy implements ReturnResponseStrategy { """ A machine-readable code identifying the rule response strategy: `AUTO_APPROVE_RETURN_ITEM`. """ code: String! """ A human-readable description of the rule outcome. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type defines the automated response applied to a return request when specific conditions are met. Evaluated during the approval phase of the return workflow, based on the matching conditions in the **conditionSet** whether to instruct the buyer to return the item or allow the buyer to keep it as specified by the corresponding response strategy defined in **responseStrategy**. When the rule outcome corresponds to: - `APPROVE_RETURN_THE_ITEM`: The buyer is instructed to return the item within the specified return window. A refund is issued once the returned item is received or validated. - `APPROVE_KEEP_THE_ITEM`: The buyer is allowed to keep the item without returning it, and a refund is issued automatically. """ type ReturnResponseRule implements ReturnAutomationRule { """ The conditions associated with this rule. Each set can encapsulate multiple **conditions**. """ conditionSet: ReturnRuleConditionSet! """ The unique name for the rule. No two rules can have the same name. **Maximum length**: 100 characters """ name: String! """ The rules are processed by ascending priority value (the lowest priority number first). Evaluation stops at the first matching rule. This means that a rule with priority 1 will always be considered before a rule with priority 5. **Note**: Each rule must have a unique priority number. """ priority: Int! """ The automated response to apply when this rule matches. """ responseStrategy: ReturnResponseStrategy! """ The unique identifier for the return rule. """ ruleId: ID! """ The current status of the rule. **Note**: Only rules with `ENABLED` status are applied. """ status: SellerReturnRuleStatus! } """ This type represents the strategy the system uses to automatically respond to a return when the conditions of a **ReturnResponse** rules are satisfied. Each strategy defines a specific method for determining the automated response the system should apply to the return. """ interface ReturnResponseStrategy { """ A machine-readable code identifying the rule response strategy **Maximum length**: 50 characters """ code: String! """ A human-readable description of the rule outcome. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type provides values that determines how a return request is automatically handled by the system. The values are fixed, non-localized codes that can be safely used in automation logic, integrations, and API responses. """ enum ReturnResponseStrategyInput { """ This enum value automatically refunds the buyer without requiring the item to be shipped back to the seller. This is typically used when the item value is low, return shipping is impractical, or the seller opts to provide a goodwill refund. """ APPROVE_KEEP_THE_ITEM """ This enum value automatically approves the buyer's return request and requires the item to be shipped back to the seller before a refund is issued. This outcome accelerates the approval flow while still enforcing return-shipment requirements. """ APPROVE_RETURN_THE_ITEM } """ This type represents the validation constraints defined for Return Merchandise Authorization (RMA) number input. """ type ReturnRmaNumberConstraint { """ The allowed range for the number of characters (minimum and maximum) allowed for the return RMA number input. """ characterLimit: InputTextLengthRange! """ When `true`, this value indicates an RMA number is required. """ rmaNumberRequired: Boolean! } """ This type represents the return RMA number input violations. """ type ReturnRmaNumberViolation implements ProvideRmaNumberInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example, `RETURN_RMA_NUMBER_VIOLATION`). """ code: String! """ This object indicates the constraints defined for return RMA number input. """ constraint: ReturnRmaNumberConstraint! """ This boolean indicates whether the return note contains invalid characters. """ containsInvalidCharacters: Boolean! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean indicates whether the return note exceeded the allowed length. """ exceededLength: Boolean! } """ This union type contains all supported condition types. """ union ReturnRuleCondition = ReturnItemCategoryCondition | ReturnItemLocationCountryCondition | ReturnListingGroupCondition | ReturnReasonCondition | ReturnRefundRangeCondition | ReturnShipmentOriginCountryCondition """ This input type specifies one return rule condition. """ input ReturnRuleConditionInput { """ This object defines return category conditions. **Note**: Multiple categories can be included in a single condition. """ categoryCondition: ReturnItemCategoryConditionInput """ This object is used to configure the countries that the return rule applies to. """ itemLocationCountriesCondition: ReturnItemLocationCountryConditionInput """ The return rule listing group that the return rule applies to. **Note**: Only one listing group can be specified per condition. """ listingGroupCondition: ReturnListingGroupConditionInput """ The return refund amount range applicable to the rule condition is applied in this object. """ refundRangeCondition: ReturnRefundRangeConditionInput """ This object defines the return reason conditions. **Note**: Multiple reasons can be included in a single condition. """ returnReasonCondition: ReturnReasonConditionInput """ This object defines the countries where returns will be accepted from if the return request matches the return rule. """ returnShipmentOriginCountriesCondition: ReturnShipmentOriginCountryConditionInput } """ This type defines the rule set which can encapsulate multiple conditions. The **operator** decides how the child conditions are evaluated. """ type ReturnRuleConditionSet { """ The list of rule conditions that belong to this set. Each element defines a specific criterion that must be evaluated against return data (for example, refund amount, item category, return reason). When evaluated, the overall truth value of this set depends on both the **operator** and the results of these individual conditions. """ conditions: [ReturnRuleCondition!]! """ Logical operator to apply to the child conditions. """ operator: ReturnRuleLogicalOperator! } """ This input type defines the business condition to be evaluated for an automation return rule. Presently, conditions are combined using a logical **AND**, meaning an item must satisfy every conditions you provided to be included. """ input ReturnRuleConditionSetInput { """ This enumerated value provides the logical operator to combine the conditions. """ operator: ReturnRuleLogicalOperator! """ The conditions to be evaluated. """ ruleConditions: [ReturnRuleConditionInput!]! } """ This interface represents a typed validation error for a specific rule condition. """ interface ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type indicates the rules with `DISABLED` status are inactive and ignored. """ type ReturnRuleDisabledStatus implements SellerReturnRuleStatus { """ A machine-readable code identifying the return as `DISABLED`. """ code: String! """ This enumerated value identifies who disabled the rule. The rule can be disabled by the seller through an API mutation or automatically by the eBay system if invalid conditions are detected during rule evaluation or execution. Rules disabled by the system cannot be re-enabled by the seller until all invalid conditions are corrected. """ disabledBy: ReturnRuleDisabler! """ The human-readable text of the rule status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type identifies which party disabled the automation return rule. """ enum ReturnRuleDisabler { """ This value indicates the rule was disabled by the `SELLER`. """ SELLER """ This value indicates the rule was disabled by the `SYSTEM`. """ SYSTEM } """ This type indicates that a condition is duplicated in the input rule set. A condition can appear only once in the input rule set. """ type ReturnRuleDuplicateConditionViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_RULE_DUPLICATE_CONDITION`. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The duplicate condition which is provided in input conditions. A condition can appear only once in the input rule set. """ duplicateCondition: [ReturnRuleCondition!]! } """ This error type is returned when the provided **ruleIdsInPriorityOrder** contains duplicate IDs (the input list requires unique rule IDs). """ type ReturnRuleDuplicateRuleIdsError implements BusinessError { """ A list of one or more duplicate rule IDs in the input list. """ duplicateRuleIds: [ID!]! """ A machine-readable error code: `RTRN_DUPLICATE_RULE_IDS_IN_LIST` """ errorCode: String! """ A human-readable error message for duplicate rule Ids in the ordered list. This check avoids any bad data written to the system. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This type indicates the rules with `ENABLED` status are active and evaluated. """ type ReturnRuleEnabledStatus implements SellerReturnRuleStatus { """ A machine-readable code identifying the return as `ENABLED`. """ code: String! """ A human-readable rule status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This error type indicates that the return rules feature is not enabled for the seller. **Note**: The seller is authenticated but does not have the required feature capability enabled ramped for them. """ type ReturnRuleFeatureNotEnabledError implements BusinessError { """ A machine-readable error code: `RTRN_FEATURE_NOT_ENABLED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This error type indicates the provided **returnRuleConditionSet** contains invalid condition data (for example, the categories are not leaf IDs, invalid country code, or an invalid **refundRange** where the minimum is less than maximum). Purpose: surface specific validation failures in the condition tree. """ type ReturnRuleInvalidConditionsError implements BusinessError { """ A machine-readable error code `RTRN_RULE_INVALID_CONDITIONS` """ errorCode: String! """ A human-readable error message indicating that the rule conditions are invalid. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of violations providing details about each specific invalid condition found in the input. """ ruleConditionViolation: [ReturnRuleConditionViolation!]! } """ This error type is returned when the input includes one or more rule IDs that do not exist for this seller/marketplace (extra or invalid IDs). """ type ReturnRuleInvalidRuleIdsError implements BusinessError { """ A machine-readable error code: `RTRN_INVALID_RULE_IDS_IN_LIST` """ errorCode: String! """ A human-readable error message for invalid rules in the ordered list. For example, rule IDs that do not belong to the seller. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of one or more rule IDs which are not found in the seller's existing rules. """ invalidRuleIds: [ID!]! } """ This type indicates the constraints defined for return rule item condition. """ type ReturnRuleItemCategoryConditionConstraint { """ The maximum number of categories allowed in the condition. """ maxAllowedCategory: Int! } """ This type indicates that there is a category condition violation. Provided category IDs must be leaf categories and category IDs must be valid/known eBay categories. """ type ReturnRuleItemCategoryConditionViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_INVALID_ITEM_CATEGORY_CONDITION`. """ code: String! """ This object indicates the constraints defined for return rule item condition. """ constraint: ReturnRuleItemCategoryConditionConstraint! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of duplicate category IDs. """ duplicateCategoryIds: [ID!] """ This boolean indicates that max number of categories allowed has been exceeded. """ exceedsAllowedThreshold: Boolean! """ A list of invalid or unknown category IDs. """ invalidCategoryIds: [ID!] } """ This violation type occurs when invalid or duplicates countries are provided in the item location countries condition: - a country can appear only once in the input rule set - country codes must be valid **CountryAlpha2Code** """ type ReturnRuleItemLocationCountryViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_RULE_ITEM_LOCATION_CONDITION`. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ A list of one or more duplicate countries in item location input condition. **Note**: A country can appear only once in the input rule set. """ duplicateCountryCodes: [CountryAlpha2Code!] """ A list of one or more invalid country codes provided in item location countries input condition. """ invalidCountryCodes: [CountryAlpha2Code!] } """ This error type is returned when adding this rule would exceed a configured maximum number of rules (organizational or business limit). """ type ReturnRuleLimitExceededError implements BusinessError { """ A machine-readable error code: `RTRN_RULE_LIMIT_EXCEEDED` """ errorCode: String! """ A human-readable error message indicating that the rule limit has been exceeded. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The maximum number of rules allowed for the seller on the specified marketplace. """ maxAllowed: Int! } """ This type details a group containing listing IDs defined by the seller. Each group can contain up to 5000 listing IDs. """ type ReturnRuleListingGroup { """ The unique seller provided name of the group. **Note**: No two group can have the same name. **Maximum length**: 100 characters """ groupName: String! """ This array contains listings that are part of this group. - each Listing can be part of multiple group. - listing IDs must be unique within the group **Note**: A maximum of 5000 listings can be added to a group. """ listings: [ListingReference!]! """ A maximum of 500 listings will be returned in a single page. This value is calculated by the system. """ pagination: Pagination! """ A unique identifier for the listing group. This value is generated by the system when the group is created. """ returnRuleListingGroupId: ID! } """ The listing group condition violation details. The group ID must exist in seller's **availableListingGroups**. """ type ReturnRuleListingGroupConditionViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_INVALID_LISTING_GROUP_CONDITION`. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The listing group ID provided in the request. """ invalidReturnRuleListingGroupId: ID! } """ This error type is returned when the input request contains duplicate listing IDs. **Note**: Clients should deduplicate their list of IDs before re-sending the request. """ type ReturnRuleListingGroupDuplicateListingError implements BusinessError { """ An array of one or more listing IDs that were duplicated in the request. """ duplicateListingIds: [ID!]! """ A machine-readable error code: `RTRN_DUPLICATE_LISTING_IDS_IN_GROUP` """ errorCode: String! """ A human-readable message indicating input request contained duplicated listing IDs. """ errorMessage: String! } """ This error type is returned when a group with the given name already exists for this seller. **Note**: Only unique group names are accepted. """ type ReturnRuleListingGroupInvalidNameError implements BusinessError { """ This field indicates whether the rule name contains invalid characters. """ containsInvalidCharacters: Boolean! """ This field indicates whether the rule name is not unique for the seller in given listing marketplace. """ duplicateGroupName: Boolean! """ A machine-readable error code `RTRN_LISTING_GROUP_NAME_ERROR` """ errorCode: String! """ A human-readable message describing the error. **Maximum length**: 512 characters """ errorMessage: String! """ This object indicates the constraints defined for return rule name input. Constraints include allowed character counts and regular expression pattern for allowed characters. """ nameConstraint: ReturnRuleNameConstraint! } """ This error type indicates that the request attempts to create or expand the listing list which would exceed the list's total item capacity. **Note**: To fix, clients should lower the total number of items to be added to the list. """ type ReturnRuleListingGroupMaxSizeExceededError implements BusinessError { """ A machine-readable error code: `RTRN_LISTING_GROUP_MAX_SIZE_EXCEEDED` """ errorCode: String! """ A human-readable message describing the capacity violation. """ errorMessage: String! """ The configured maximum number of listings allowed per group. """ groupListingLimit: Int! } """ This error type is returned when the listing group cannot be found. This error typically occurs if the specified listing group ID (**listingId**) does not exist or has been deleted (returned when the append request references an unknown list). """ type ReturnRuleListingGroupNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_LISTING_GROUP_NOT_FOUND` """ errorCode: String! """ A human-readable error message indicating the list was not found. **Maximum length**: 512 """ errorMessage: String! """ The listing group ID from the request that could not be found. """ returnRuleListingGroupId: ID! } """ This error type is returned when a seller has reached the maximum number of listing groups allowed for their account. **Note**: Currently, a maximum of 20 listing groups for each seller is allowed. """ type ReturnRuleListingGroupQuotaExceededError implements BusinessError { """ A machine-readable error code: `RTRN_SELLER_LISTING_GROUP_QUOTA_EXCEEDED` """ errorCode: String! """ A human-readable message describing the quota violation. """ errorMessage: String! """ The configured maximum number of listing groups allowed for the seller. """ maxAllowedLists: Int! } """ This error type indicates the request attempts to add more items than the allowed per-request limit. **Note**: To fix, clients should split requests into smaller batches. """ type ReturnRuleListingIdsPerRequestLimitExceededError implements BusinessError { """ A machine-readable error code: `RTRN_LISTING_PER_REQUEST_LIMIT_EXCEEDED` """ errorCode: String! """ A human-readable message describing the limit violation. """ errorMessage: String! """ The configured maximum number of items allowed per request. """ perRequestLimit: Int! """ The number of items the client attempted to add in this request. """ requestedCount: Int! } """ This enumerated type specifies how to combine multiple child conditions into a single result. """ enum ReturnRuleLogicalOperator { """ This enum value indicates that conditions will combined using a logical **AND**. All child conditions must be true. """ AND } """ This error type indicates that no conditions were provided in the rule set. **Note**: A rule must have at least one condition to be valid. """ type ReturnRuleMissingConditionError implements BusinessError { """ A machine-readable code identifying the failed condition: `RTRN_RULE_MISSING_CONDITION` """ errorCode: String! """ Human-readable explanation of the error. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This error type is returned when the input contains one or more rule IDs that do not exist among the seller's defined return rules. """ type ReturnRuleMissingRuleIdsError implements BusinessError { """ A machine-readable error code: `RTRN_MISSING_RULE_IDS_IN_LIST` """ errorCode: String! """ A human-readable error message for the missing rules in the ordered list. All rules defined must be added to the priority list. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ An array of return rule IDs which were not found in the seller's list of existing return rules. """ missingRuleIds: [ID!]! } """ This type defines validation constraints for the return rule name input. """ type ReturnRuleNameConstraint { """ The regular expression pattern that defines allowed characters. """ allowedPattern: String! """ The minimum and maximum number of characters allowed. """ characterLimit: InputTextLengthRange! } """ This error type indicates that the provided rule name violates allowed format, length, or characters (for example, exceeds maximum length, has disallowed characters). """ type ReturnRuleNameError implements BusinessError { """ When `true`, this value indicates the rule name contains invalid characters. """ containsInvalidCharacters: Boolean! """ When `true`, this value indicates the rule name is not unique for the seller in given listing marketplace. """ duplicateRuleName: Boolean! """ A machine-readable error code `RTRN_RULE_NAME_ERROR` """ errorCode: String! """ A human-readable error message indicating that the rule name format is invalid. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ This object indicates the constraints defined for return rule name input, including allowed character counts and regular expression pattern defining allowed characters. """ nameConstraint: ReturnRuleNameConstraint! } """ This error type is returned to indicate the **ruleIds** in the input does not match any existing rule for the seller. """ type ReturnRuleNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_RULE_NOT_FOUND` """ errorCode: String! """ A human-readable error message that the rule was not found. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The unique identifier of the return rule which was not found. """ requestedRuleId: ID! } """ This type defines the refund range condition violation details: - the minimum must be less than or equal to maximum - negative values will not be accepted """ type ReturnRuleRefundRangeConditionViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_INVALID_REFUND_RANGE_CONDITION`. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ When `true`, maximum < minimum. """ invalidRange: Boolean """ When `true`, **minAmount** or **maxAmount** is negative. """ negativeValuesProvided: Boolean """ The value of minimum and maximum refund values provided in input. """ providedRefundRangeCondition: ReturnRefundRangeCondition! } """ This type defines the error that occurs when invalid or duplicates countries are provided in the shipment origin countries condition. A country can appear only once in the input rule set and country codes must be valid CountryAlpha2Code. """ type ReturnRuleShipmentOriginCountryViolation implements ReturnRuleConditionViolation { """ A machine-readable code identifying the failed condition: `RTRN_RULE_SHIPMENT_ORIGIN_CONDITION`. """ code: String! """ A human-readable explanation of the violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The duplicate country codes that are in the return-shipment origin country input condition. **Note**: A country can appear only once in the input rule set. """ duplicateCountryCodes: [CountryAlpha2Code!] """ When `true`, invalid country codes were provided in the shipment origin countries input condition. """ invalidCountryCodes: [CountryAlpha2Code!] } """ This error type is returned when the input specifies a status of `ENABLED`, but the rule cannot be enabled because one or more rule conditions are invalid. This prevents activation of rules that contain invalid configurations. The rule conditions must be corrected before the rule can be enabled. """ type ReturnRuleStatusUpdateBlockedError implements BusinessError { """ A machine-readable error code: `RTRN_RULE_STATUS_UPDATE_BLOCKED` """ errorCode: String! """ A human-readable error message for blocked rule status update. This will appear when trying to enable a rule with invalid conditions. This alphanumeric string is not localized and may change without notice. Maximum length: 512 characters """ errorMessage: String! """ The unique identifier of the return rule which was not found. """ requestedRuleId: ID! } """ This type is used to provide the return shipment label information when a label has not been automatically selected by eBay. """ input ReturnShipmentLabelInput { """ The unique identifier for the uploaded return shipment label. """ documentId: String! """ The standardized carrier details (for example, UPS, USPS, FEDEX) for the return shipment. It is not nullable, but the entire object may be omitted if tracking information is unavailable. """ shippingCarrier: ReturnShippingCarrierInput! """ The carrier-assigned tracking ID for the return shipment. This optional field is present only when the shipment uses a tracked shipping carrier. """ trackingNumber: String } """ This error type denotes that the attached label document ID was not found. """ type ReturnShipmentLabelNotFoundError implements BusinessError { """ A machine-readable error code: `RTRN_LABEL_DOCUMENT_NOT_FOUND` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ A list of unique identifiers for post-order return documents that were not found. """ requestedDocumentId: [ID!]! } """ This type restricts conditions to return by country. The list of countries can be provided. """ type ReturnShipmentOriginCountryCondition { """ Teh buyer's country from which the return is initiated (initially shipped). """ returnShipmentOriginCountries: [CountryAlpha2Code!]! } """ The type of an automation return rule template for return from countries which are applicable for the rule. """ input ReturnShipmentOriginCountryConditionInput { """ The country code in ISO format. Example `US` for United States. """ returnShipmentOriginCountries: [CountryAlpha2Code!]! } """ This type represents an event in the tracking history of a return shipment. """ type ReturnShipmentTrackingEvent implements ReturnLogisticEvent { """ The date and time when the tracking event occurred. """ occurredAt: DateTime! """ This array returns a list of return line items. """ returnLineItems: [ReturnLineItem!]! """ A machine-readable status code representing the current state of the return shipment. Possible values include: `IN_TRANSIT`, `OUT_FOR_DELIVERY`, `DELIVERED`, `EXCEPTION`, and similar. **Maximum length**: 100 characters """ status: ShippingTrackingStatus! """ This object provides the shipment tracking information associated with this tracking event. """ tracking: ShippingCarrierTracking! } """ This type represents the validation constraints defined for return shipping carrier name input. """ type ReturnShippingCarrierConstraint { """ The minimum and maximum number of characters allowed. """ characterLimit: InputTextLengthRange! } """ This input type specifies the shipping carrier for return fulfillment, including the eBay-standard carrier code and, when applicable, the name of an unsupported carrier. """ input ReturnShippingCarrierInput { """ The eBay-standard carrier code for the shipping carrier which must match one of the supported eBay carrier codes for the marketplace. Use the special value `UNSUPPORTED` if the carrier is not supported or recognized by eBay for the marketplace. For unsupported carriers, provide the carrier name in the **unsupportedCarrierName** field. **Note**: Use the **Metadata API** getShippingCarriers method to retrieve **shippingCarrier** codes for an eBay marketplace. """ carrierCode: String! """ The carrier name as provided by the user when the carrier is not recognized by eBay Marketplace. This optional field is only applicable when `carrierCode` is set to `UNSUPPORTED`. """ unsupportedCarrierName: String } """ This type represents input violations related to the return shipping carrier name. """ type ReturnShippingCarrierNameViolation implements AttachReturnShipmentLabelInputViolation & RecordReturnLabelSentOfflineInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example. RETURN_SHIPPING_CARRIER_VIOLATION). """ code: String! """ Indicates the constraints defined for return shipping carrier name input. """ constraint: ReturnShippingCarrierConstraint! """ Indicates whether the shipping carrier name contains invalid characters. """ containsInvalidCharacters: Boolean! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ Indicates whether the shipping carrier name exceeded the allowed length. """ exceededLength: Boolean! } """ This error type indicates that the request contains an empty shipping label list, which is not allowed. """ type ReturnShippingLabelRequiredError implements BusinessError { """ A machine-readable error code: `RTRN_SHIPPING_LABEL_REQUIRED` """ errorCode: String! """ A human-readable error message. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This interface provides the status of the return request in code and a human-readable description. """ interface ReturnStatus { """ A machine-readable code providing the return status. The format is alphanumeric with underscores. For example: `REQUESTED`, `OPEN`, `DECLINED`, `CANCELLED`, `CLOSED` **Maximum length**: 100 characters """ code: String! """ A human-readable description providing the return status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to show the domestic return policy or an international return policy (if the seller ships internationally) that is to be used for the listing. """ type ReturnTerms { """ This field is used to specify a return business policy to use for the listing. If this field is used, none of the other fields in This object should be used since all return policy settings are configured in the business policy instead. The [getReturnPolicies](https://developer.ebay.com/api-docs/sell/account/resources/return_policy/methods/getReturnPolicies) method can be used to retrieve all return business policies defined for a seller on an eBay marketplace. """ businessPolicy: BusinessPolicy """ This object shows the seller's domestic return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. Note that if the listing only has a domestic return policy set up, but the item is shipped internationally, the settings in this object will also apply to international returns. """ domesticReturnTerms: ReturnTermsDetails """ This object shows the seller's international return policy for a listing, which includes whether or not the seller accepts international returns for the item and the duration of the return period. This object is only applicable if the seller has a separate international return policy set up for the listing. """ internationalReturnTerms: ReturnTermsDetails """ This free-form text field provides more details about a seller's return policy. Currently, this field is only supported on the Germany, Austria, France, Italy, and Spain marketplaces. """ returnInstructions: String } """ This type is used to state the seller's domestic or international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. """ type ReturnTermsDetails { """ The enumerated value returned here indicates how a buyer will be refunded if an item is returned. This is a mandatory field if the seller accepts returns for the item. """ listingRefundMethod: ListingRefundMethod """ This boolean field indicates whether or not the seller allows the buyer to return the item. This field is mandatory for return policies and returned as `true` if the seller accepts returns for the item or `false` if the seller does not accept returns for the item. """ returnAccepted: Boolean """ The enumerated value returned in this field indicates the amount of time that the buyer has to return an item. The return period begins when the item is marked 'delivered' at the buyer's specified ship-to location. This field is mandatory if the seller accepts returns for the item. """ returnDuration: ListingTimeDuration """ The enumerated value returned here indicates either the buyer or the seller as the party who pays for return shipping charges. This is a mandatory field if the seller accepts returns for the item. **Note**: The seller is always responsible for return shipping costs when an item is being returned due to a Significantly not as described (SNAD) issue. """ returnShipmentInvoicee: Invoicee } """ This union type is used by the **ReturnTerms** and **BusinessPolicy** type to display return policy terms for a listing, including return period, refund method, and return shipping cost payer. """ union ReturnTermsPolicy = BusinessPolicy | ReturnTerms """ This error type indicates the provided **returnRuleConditionSet** contains invalid condition data (for example, the categories are not leaf IDs, invalid country codes, or an invalid **refundRange** where the minimum is less than maximum). Purpose: surface specific validation failures in the condition tree. """ type ReturnToAddressRequiredError implements BusinessError { """ A list of violations providing details about each specific invalid condition found in the input. """ addressRoutingStrategy: ReturnToAddressRoutingStrategy! """ A machine-readable error code `RTRN_ADDRESS_REQUIRED_ERROR` """ errorCode: String! """ A human-readable error message indicating that the rule conditions are invalid. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! } """ This input type selects the return address routing strategy. """ input ReturnToAddressRouteInput { """ These address IDs can be retrieved from **eligibleReturnAddresses** field in **SellerReturnPreferences.returnResponseRules**. **Note**: This field is required when address routing strategy is `RETURN_TO_SPECIFIC_ADDRESS`. """ addressId: String """ The address routing option for returns. """ returnToAddressRoutingStrategy: ReturnToAddressRoutingStrategyInput! } """ This interface represents the strategy the system uses to automatically select a return address when a ReturnToAddress rule's conditions are satisfied. Each strategy defines a specific method for determining which return address should be chosen for routing the return. """ interface ReturnToAddressRoutingStrategy { """ A machine-readable code identifying the return address routing strategy . **Maximum length**: 50 characters """ code: String! """ A human-readable text of the return address routing strategy. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This enumerated type holds different strategies for selecting return address. Only one strategy is applicable for a given rule. """ enum ReturnToAddressRoutingStrategyInput { """ This value indicates to route returns to the seller's address which is closest to buyer. """ RETURN_TO_ADDRESS_CLOSEST_TO_BUYER """ This value indicates to route returns to the seller's address from where item was shipped to buyer. """ RETURN_TO_ORIGINAL_SHIP_FROM_ADDRESS """ This value indicates to route returns to the seller's specific address. Specific address ID needs to be provided. Addresses can be managed in address book. """ RETURN_TO_SPECIFIC_ADDRESS } """ This type specifies the **returnAddressRoute** that determines how the return address is selected for seller-managed returns. """ type ReturnToAddressRule implements ReturnAutomationRule { """ The strategy for selecting the return address route. """ addressRoutingStrategy: ReturnToAddressRoutingStrategy! """ This defines the set of conditions that must be met for this rule to be applied. """ conditionSet: ReturnRuleConditionSet! """ The unique name for the rule. No two rules can have the same name. **Maximum length**: 100 characters """ name: String! """ The rule's priority determines its evaluation order; lower numbers are evaluated first. Each rule must have a unique priority value. """ priority: Int! """ The unique identifier for the return rule. """ ruleId: ID! """ The status of the rule: `ENABLED` or `DISABLED` **Note**: Only `ENABLED` rules are applied. """ status: SellerReturnRuleStatus! } """ This error type is returned when the provided **addressId** is not eligible as a return address for the seller. This occurs when the **addressId**: - is not in the seller's eligible return addresses - does not exist - not owned by the seller """ type ReturnToAddressValidationError implements BusinessError { """ A machine-readable error code for an incorrect **addressId** in the input: `RTRN_RULE_ADDRESS_INVALID` """ errorCode: String! """ A human-readable error message for an incorrect **addressId** in the input. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ errorMessage: String! """ The returned invalid **addressId** submitted in the input. The **addressId** must be from the seller's eligible return addresses. This alphanumeric string is not localized and may change without notice. **Note**: To avoid this error, fetch eligible return addresses before making the mutation call. **Maximum length**: 512 characters """ invalidAddressId: String! } """ This type automatically routes returned items to the seller's nearest return address based on the buyer's location. """ type ReturnToNearestSellerAddressStrategy implements ReturnToAddressRoutingStrategy { """ A machine-readable code identifying the return address routing strategy: `CLOSEST_RETURN_ADDRESS_TO_BUYER`. **Maximum length**: 50 characters """ code: String! """ A human-readable return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type specifies a routing strategy that directs returns to the address from which the item was originally shipped. """ type ReturnToOriginalShipFromAddressStrategy implements ReturnToAddressRoutingStrategy { """ A machine-readable code identifying the return address routing strategy: `RETURN_TO_SHIP_FROM_ADDRESS`. **Maximum length**: 50 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type specifies the routing strategy for returns. When set, returned items are sent to the seller's defined return address. **Note: **Addresses must be defined in the address book before they can be used. """ type ReturnToSpecificAddressStrategy implements ReturnToAddressRoutingStrategy { """ A machine-readable code identifying the return address routing strategy: `USE_SPECIFIC_RETURN_ADDRESS`. **Maximum length**: 150 characters """ code: String! """ A human-readable label identifying the return fulfillment status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! """ The specific return address to which returns will be routed. This address was set by the seller when rule was created. """ returnAddress: Address! } """ This type represents the constraints defined for return tracking number input. """ type ReturnTrackingNumberConstraint { """ The minimum and maximum number of characters allowed. """ characterLimit: InputTextLengthRange! } """ This type represents input violations related to the return tracking number. """ type ReturnTrackingNumberViolation implements AttachReturnShipmentLabelInputViolation & RecordReturnLabelSentOfflineInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example. RETURN_TRACKING_VIOLATION). """ code: String! """ This object indicates the constraints defined for return tracking number input. """ constraint: ReturnTrackingNumberConstraint! """ This boolean field ndicates whether the tracking number contains invalid characters. """ containsInvalidCharacters: Boolean! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ This boolean field indicates whether the tracking number is already in use for another return. """ duplicateTrackingNumber: Boolean! """ This boolean field indicates whether the tracking number exceeded the allowed length. """ exceededLength: Boolean! } """ This type provides Return Merchandise Authorization (RMA) details for the return shipment. """ type RmaDetail { """ The human-readable RMA number to include with the return (you can include it on the packing slip or label). **Note**: If the seller has waived the RMA requirement, this field may be omitted or empty. **Maximum length**: 100 characters """ rmaNumber: String """ When `true`, the RMA number is not required for this return; `false` indicates the seller requires the RMA number to be included. """ rmaRequirementWaived: Boolean! } """ This type provides the Return Merchandise Authorization (RMA) preference settings. """ type RmaPreference { """ This boolean indicates whether the preference status is enabled (`true`) or disabled (`false`). """ preferenceStatus: ReturnPreferenceStatus! } """ This input type configures the seller's Return Merchandise Authorization (RMA) Preference. """ input RmaPreferenceInput { """ The status of the RMA preference for returns. """ preferenceStatus: ReturnPreferenceStatus! } """ This enumerated type defines the buying format filters that can be used for an advanced search. A buying format filter is used if the user wants the limit the type of listings that are returned in their search. """ enum SavedSearchRequestParamBuyingFormat { """ This enum value indicates that all item types (auctions, fixed price, and classified ads) are included in the saved search results **Note**: This value indicates that a buying format filter was not used. """ ALL_ITEMS """ This enum value indicates that only auction listings are included in the saved search results. """ AUCTION_ITEMS_ONLY """ This enum value indicates that only classified ad listings are included in the saved search results. """ CLASSIFIED_ITEMS_ONLY """ This enum value indicates that only fixed price listings (and auction listings with Buy It Now enabled) are included in the saved search results. """ FIXED_PRICE_ITEM } """ This type provides details on the advanced search criteria used for the corresponding saved search. Some fields may be null if they were not specified as search criteria. """ type SavedSearchRequestParams { """ This field indicates the buying formats that the user searched against. Buying format is an optional filter in advanced search. If the search didn't use this filter, a value of `ALL_ITEMS` is returned. If this filter is used, the user can limit returned items according to buying format such as `AUCTION_ITEMS_ONLY` or `FIXED_PRICED_ITEM`. """ buyingFormat: SavedSearchRequestParamBuyingFormat """ This enumerated value indicates the "Sort by" value that the user specified in the original search. See the **SavedSearchRequestParamSortOption** type for more information on any value that is returned here. """ itemSort: SavedSearchRequestParamSortOption """ This field is returned if the user's search included a filter that limits items located in a specific country. The two-letter ISO-3166 code is returned here. """ itemsAvailableTo: CountryAlpha2Code """ This value indicates that a proximity (Items near me) filter has been specified for the saved search. This value is the maximum distance (in kilometers/miles) away from the buyer's postal code that an item may be located. """ maxDistance: Int """ This field returns either the postal code for the buyer's primary shipping address, or the postal code specified through the proximity (Items near me) filter of a saved search. """ postalCode: String """ The original search string for the buyer's saved search. This is the string that the user input into the search field. """ queryKeywords: String! """ This array will show any additional advanced search filters used, such as charity listings or free shipping. See the **SavedSearchRequestParamSearchFlag** type for more information on any returned value. **Note**: This array may be returned empty. """ savedSearchFlags: [SavedSearchRequestParamSearchFlag!] } """ This enumerated type defines filters that can be used by an eBay Advanced search. These values indicate that the user has specified that they want to include certain listing, such as charity listings, free-shipping listings, and listings with other features, in their search. """ enum SavedSearchRequestParamSearchFlag { """ This enum value indicates that only charity listings are included in the saved search results. """ CHARITY """ This enum value indicates that only listings with free shipping are included in the saved search results. """ FREE_SHIPPING """ This enum value indicates that only listings that offer local pickup for the buyer are included in the search results. """ LOCAL_SEARCH """ This enum value indicates that only lot listings (multiple items sold together) are included in the saved search results. """ LOT } """ This enumerated value defines the sort options specified for a saved search. These values indicate the "Sort by" value that the user specified in their saved search. """ enum SavedSearchRequestParamSortOption { """ This enum value indicates that the saved search is sorted by Best Match relevance. """ BEST_MATCH """ This enum value indicates that the saved search is sorted by distance from the buyer's location with the nearest returned first. """ DISTANCE """ This enum value indicates that the saved search is sorted by listing end time. """ END_TIME """ This enum value indicates that the saved search is sorted by item price plus shipping cost in descending order. """ PRICE_PLUS_SHIPPING_HIGHEST """ This enum value indicates that the saved search is sorted by item price plus shipping cost in ascending order. """ PRICE_PLUS_SHIPPING_LOWEST """ This enum value indicates that the saved search is sorted by listing start date. """ START_DATE } """ This enumeration type contains the supported duration values for a Second Chance Offer listing. The duration time to use is at the discretion of the seller. """ enum SecondChanceListingDurationInDays { """ This enumeration value indicates that the buyer has one day (24 hours) to purchase the item in the Second Chance Offer listing. The clock starts as soon as the seller makes the offer available to the buyer. """ DAYS_1 """ This enumeration value indicates that the buyer has 3 full days to purchase the item in the Second Chance Offer listing. The clock starts as soon as the seller makes the offer available to the buyer. """ DAYS_3 """ This enumeration value indicates that the buyer has 5 full days to purchase the item in the Second Chance Offer listing. The clock starts as soon as the seller makes the offer available to the buyer. """ DAYS_5 """ This enumeration value indicates that the buyer has 7 full days to purchase the item in the Second Chance Offer listing. The clock starts as soon as the seller makes the offer available to the buyer. """ DAYS_7 } """ This type is used to set the price and duration of the Second Chance Offer. """ input SecondChanceListingTermsInput { """ This field is only applicable for auctions involving motor vehicles or other high-priced items where the Reserve Price was never met and there was no winning bidder. Otherwise, the Second Chance listing price automatically defaults to the recipient user's highest bid during the ending auction and this field should not be included. """ fixedPrice: Decimal """ This field sets the length of time (in days) that the Second Chance listing will be available to the recipient. The supported values are `DAYS_1`, `DAYS_3`, `DAYS_5`, and `DAYS_7` """ listingDuration: SecondChanceListingDurationInDays! } """ Filter criteria to apply when searching for a seller's active listings. When multiple filters are included, they are combined using a logical `AND` operation. **Example:** Specify the following filters to return active auction listings in the US or UK marketplace with the specified listing IDs: ``` { listingIds: ['123', '456'] # Results must match one of these IDs marketplaces: [EBAY_US, EBAY_GB] # AND be in one of these marketplaces formatType: AUCTION # AND be auction format } ``` This filter combination returns listings with (listingId IN [123,456]) **AND** (marketplace IN [EBAY_US,EBAY_GB]) **AND** (formatType=AUCTION). """ input SellerActiveListingSearchFilterInput { """ Filter seller listings to return those listing that ended within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that ended between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ endAtRange: SellerListingDateTimeRangeInput """ Filter seller listings by their listing format type. Refer to `ListingFormatType` for supported values. """ formatType: ListingFormatType """ Filter seller listings by their listing IDs. When multiple listing ID values are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. """ listingIds: [ID!] """ Filter seller listings by the eBay marketplace(s) in which the listings are created (e.g., EBAY_US, EBAY_GB, EBAY_DE). Refer to `ListingMarketplace` for a complete list of supported enumeration values. When multiple marketplaces are provided, they are combined using a logical `OR` operation. For example. `marketplaces [EBAY_US, EBAY_GB]` returns listings from the US **OR** UK marketplace. """ marketplaces: [ListingMarketplace!] """ Filter seller listings to return those listings that were modified within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that have been modified between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ modifiedAtRange: SellerListingDateTimeRangeInput """ Filter seller listings by their current listing price. Both `minPrice` and `maxPrice` are optional — omitting one creates an open-ended range. **Auction listings:** The price range filter is applied to the current highest bid price if bids exist. If no bids have been placed, the starting bid price is used instead. The Buy It Now price is not considered. **Note:** Currency conversion is not applied. Prices across all currencies are compared by numeric value only. Use this filter in combination with the `marketplaces` filter when listings span multiple marketplaces to avoid inconsistent results due to currency differences. """ priceRange: SellerListingPriceRangeInput """ Filter seller listings by their primary category ID. When multiple category ids are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 50. If more than 50 listings are identified `BAD_INPUT_VALUE` is returned. """ primaryCategoryIds: [ID!] """ Filter seller listings by Stock Keeping Unit (SKU) values. An SKU is a seller-defined identifier that can be assigned when listing an item using **AddItem** and related calls. eBay preserves SKUs for items allowing users to access them before and after order line items are created. When multiple SKU values are provided, they are combined using a logical `OR` operation. For example, filtering seller listings using `skus ["SKU-1", "SKU-2"]` returns listings that exactly match SKU-1 **OR** SKU-2. **Notes**: - SKU filter values are case-sensitive and must match an item's SKU exactly. - A single SKU may match multiple listings; SKUs are not required to be unique. - This filter returns all listings where the SKU exactly matches any value in the array. - The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. **Maximum filter length:** 50 characters. If more than 50 characters are specified `BAD_INPUT_VALUE` is returned. """ skus: [String!] """ Filter seller listings to return those listing that became active within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that became active between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ startAtRange: SellerListingDateTimeRangeInput } """ This input type specifies criteria to apply when searching for a seller's active listings. It is strongly recommended that criteria be specified in order to limit the number of listings returned. If no criteria are specified, the search will require more time and the request may timeout. """ input SellerActiveListingSearchInput { """ The filter(s) to apply when searching for a seller's active listings. """ filters: SellerActiveListingSearchFilterInput """ Pagination information to control the number of listings returned, the number of pages of data to return, and the starting point. - The maximum number of pages of data to be returned is 200. - The maximum number of listings that can be retrieved is 50,000. To retrieve more than 50,000 records, apply additional filters to narrow the search or use date range filters to segment the queries. **Default Values**: - maxPageSize: 5 - pageIndex: 0 (zero-indexed) **Constraints**: - maxPageSize <= 200 - (maxPageSize * (pageIndex + 1)) <= 50,000 Exceeding the above limit returns a `BAD_INPUT_VALUE` error in the response. """ pagination: PaginationInput """ Sort field and sort order to be applied to the search results. If not specified, by default the results will be sorted in ascending order by their respective `START_TIME`. """ sort: SellerListingSortField } """ This entity type represents a seller-defined set of shipping preferences that are applied to a listing independently of a `listingId`. It exists to enable multiple subgraphs to extend the shared `ShippingOptionDetails` type with additional fields. The fields `shippingRateTableId`, `combinedShippingRuleId`, and `promotionalShipping` act as entity keys. They are used to resolve the corresponding seller-defined preferences exposed by `shippingRateTable`, `combinedShippingRule`, and `promotionalShippingRule`. """ type SellerAppliedShippingPreference { """ The unique identifier of the applied seller-defined combined shipping rule. This field returns null if the seller has not applied a combined shipping rule. """ combinedShippingRuleId: ID """ This boolean indicates if the promotional shipping rule has been applied. If `true`, the promotional shipping rule is applied. If `false`, the promotional shipping rule is not applied. """ promotionalShipping: Boolean """ The unique identifier of the applied seller-defined shipping rate table. This field returns null if the seller has not applied a shipping rate table. """ shippingRateTableId: ID """ The actual seller-defined combined shipping rule associated with the provided **combinedShippingRuleId**. This field returns null if **combinedShippingRuleId** is null or invalid. """ combinedShippingRule: SellerCombinedShippingRule """ The actual seller-defined promotional shipping rule when **promotionalShipping** is 'true'. If **promotionalShipping** is 'false', this field is returned null. """ promotionalShippingRule: SellerPromotionalShippingRule """ The actual seller-defined shipping rate table associated with the provided 'shippingRateTableId'. This field returns null if **shippingRateTableId** is null or invalid. """ shippingRateTable: SellerShippingRateTable } """ This type represents the seller-defined combined shipping rule. """ type SellerCombinedShippingRule { """ The monetary amount of the shipping fee charged for each additional item. This field is applicable when the **ruleType** is `FLAT` and the **ruleSubType** is `EachAdditionalAmount`. This field is returned null for all other rule types and subtypes. """ amount: Amount """ The monetary amount of the shipping fee to be reduced for each additional item. This field is applicable when the **ruleType** is `FLAT` and the **ruleSubType** is `EachAdditionalAmountOff`. This field is returned null for all other rule types and subtypes. """ amountReduction: Amount """ The unique identifier of the combined shipping rule. """ combinedShippingRuleId: ID! """ The unique identifier of the active successor rule, if any. This field is applicable when the **ruleType** is `CALCULATED`. """ mappedActiveRuleId: ID """ The percentage to reduce the shipping fee for each additional item. This value is expressed as a fractional decimal. This field is applicable when the **ruleType** is `FLAT` and the **ruleSubType** is `EachAdditionalPercentOff`. This field returns null for all other rule types and subtypes. **Note**: The value of this field must be between '0.00' and '0.99'. Up to two decimal places are supported. """ percentageReduction: Decimal """ The seller-provided combined shipping rule name. """ ruleName: String """ The further classification of the rule. - When **ruleType** is `CALCULATED`, the **subTypes** can be `CombinedItemWeight`, `IndividualItemWeight`, `WeightOff`. - When **ruleType** is `FLAT`, the **subTypes** can be `EachAdditionalAmount`, `EachAdditionalAmountOff`, `EachAdditionalPercentOff`. """ ruleSubType: String! """ The high-level classification of the rule. This field indicates whether the rule is `CALCULATED` or `FLAT`. - `CALCULATED`: The shipping discount is computed dynamically based on weight or other criteria. - `FLAT`: A fixed discount or surcharge applied per additional item. """ ruleType: String! } """ This type indicates that seller confirmed the shipment. """ type SellerConfirmedShipment implements PostPurchaseCaseReferralReason { """ A machine-readable code indicating the type of outcome. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This input type defines the payload for the **sellerContractCancellations** query, which searches for contract cancellations. """ input SellerContractCancellationsInput { """ Use This object to provide the filter and sorting parameters for retrieving the first page of results. Call using this field first to obtain a cursor before making any pagination requests. **Note**: Do not use both this field and `cursor` in a single request. """ initialPage: ContractCancellationInitialPageInput """ Use This object to provide the maximum page size and the cursor parameters for fetching additional (subsequent) pages of results. Use after returning the first page at least once. The filter and sorting parameters use the same filters and sorting as the initial request (**OrderReturnInitialPageInput** parameters in a previous **initialPage** request). This object requires the opaque `cursor` returned in **Pagination.nextCursor** or **Pagination.previousCursor**. **Note**: Do not use both this field and the `initialPage` field in a single request. Call using **initialPage** before calling using **cursor**. """ pageInfo: PageInfoInput } """ This union type defines the response payload for the **sellerContractCancellations** query. On success, the response includes a **SellerContractCancellationsSuccess** type object; on failure, it returns an error indicating the reason that the cancellation failed. **Note**: Additional types may be added to this union in the future; clients should handle unrecognized types gracefully. """ union SellerContractCancellationsOutput = ContractCancellationInvalidDateRangeError | ContractCancellationInvalidPageSizeError | ContractCancellationInvalidSearchInputError | SellerContractCancellationsSuccess """ This type indicates a successful retrieval of seller contract cancellations. """ type SellerContractCancellationsSuccess { """ A list of one or more contract cancellations retrieved. """ contractCancellations: [ContractCancellation!]! """ Pagination information for navigating through the cancellations. """ pagination: Pagination! } """ This type defines the donation credit amount credited to a seller. """ type SellerDonationCredit implements SellerRefundCredit { """ The monetary amount credited to the seller. """ creditAmount: AmountSet! """ The human-readable name for all the seller refund credits intended for consumption by an end user for `DONATION_CREDIT`. """ name: String! } """ Filter criteria to apply when searching for a seller's ended listings. When multiple filters are included, they are combined using a logical `AND` operation. **Example:** Specify the following filters to return fixed price listings in the US or CA marketplace with the specified listing IDs that have already ended: ``` { listingIds: ['123', '456"] # Results must match one of these IDs marketplaces: [EBAY_US, EBAY_CA] # AND be in one of these marketplaces formatType: FIXED_PRICE # AND be fixed price format type } ``` This filter combination returns listings with (listingId IN [123,456]) **AND** (marketplace IN [EBAY_US, EBAY_CA]) **AND** (formatType=FIXED_PRICE). """ input SellerEndedListingSearchFilterInput { """ Filter seller listings to return those listing that ended within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that ended between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ endAtRange: SellerListingDateTimeRangeInput """ Filter seller listings by their listing format type. Refer to `ListingFormatType` for supported values. """ formatType: ListingFormatType """ Filter seller listings by their listing IDs. When multiple listing ID values are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. """ listingIds: [ID!] """ Filter seller listings by the eBay marketplace(s) in which the listings are created (e.g., EBAY_US, EBAY_GB, EBAY_DE). Refer to `ListingMarketplace` for a complete list of supported enumeration values. When multiple marketplaces are provided, they are combined using a logical `OR` operation. For example. `marketplaces [EBAY_US, EBAY_GB]` returns listings from the US **OR** UK marketplace. """ marketplaces: [ListingMarketplace!] """ Filter seller listings to return those listings that were modified within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that have been modified between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ modifiedAtRange: SellerListingDateTimeRangeInput """ Filter seller listings by their primary category ID. When multiple category ids are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 50. If more than 50 listings are identified `BAD_INPUT_VALUE` is returned. """ primaryCategoryIds: [ID!] """ Filter seller listings by Stock Keeping Unit (SKU) values. An SKU is a seller-defined identifier that can be assigned when listing an item using **AddItem** and related calls. eBay preserves SKUs for items allowing users to access them before and after order line items are created. When multiple SKU values are provided, they are combined using a logical `OR` operation. For example, filtering seller listings using `skus ["SKU-1", "SKU-2"]` returns listings that exactly match SKU-1 **OR** SKU-2. **Notes**: - SKU filter values are case-sensitive and must match an item's SKU exactly. - A single SKU may match multiple listings; SKUs are not required to be unique. - This filter returns all listings where the SKU exactly matches any value in the array. - The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. **Maximum filter length:** 50 characters. If more than 50 characters are specified `BAD_INPUT_VALUE` is returned. """ skus: [String!] """ Filter seller listings to return those listing that became active within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that became active between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ startAtRange: SellerListingDateTimeRangeInput } """ This input type specifies the criteria to apply when searching for a seller's ended listings. It is strongly recommended that criteria be specified in order to limit the number of listings returned. If no criteria are specified, the search will require more time and the request may timeout. """ input SellerEndedListingSearchInput { """ The filters to apply when searching for a seller's listings that have ended. """ filters: SellerEndedListingSearchFilterInput """ Pagination information to control the number of listings returned, the number of pages of data to return, and the starting point. - The maximum number of pages of data to be returned is 200. - The maximum number of listings that can be retrieved is 50,000. To retrieve more than 50,000 records, apply additional filters to narrow the search or use date range filters to segment the queries. **Default Values**: - maxPageSize: 5 - pageIndex: 0 (zero-indexed) **Constraints**: - maxPageSize <= 200 - (maxPageSize * (pageIndex + 1)) <= 50,000 Exceeding the above limit returns a `BAD_INPUT_VALUE` error in the response. """ pagination: PaginationInput """ Sort field and sort order to be applied to the search results. If not specified, by default the results will be sorted in ascending order by their respective `START_TIME`. """ sort: SellerListingSortField } """ This type defines the fee credit amount credited to a seller. """ type SellerFeeCredit implements SellerRefundCredit { """ The monetary amount credited to the seller. """ creditAmount: AmountSet! """ The human-readable name for all the seller refund credits intended for consumption by an end user for `FEE_CREDIT`. """ name: String! } """ This type is used by the responses of mutations and queries to provide the details of the listing. """ type SellerListing { """ The idempotency key provided with the **createListing** request. Use this value to correlate the response with the original create request and to safely reason about retried requests. """ idempotencyKey: IdempotencyKey """ An array of one or more purchasable items. A single-variation listing will only have one item object, while a multiple-variation listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-variation listings will show unique traits that differentiate them from the rest of the variations within the listing. """ items: [ListingItem!] """ The unique identifier of the eBay listing. This ID is permanent throughout the life of a listing and can be used for all subsequent operations on the listing. """ listingId: ID! """ This object provides listing terms details for the listing, including listing format, listing duration, payment terms, return policy, fulfillment terms, and more. """ listingTerms: ListingTerms """ This object is applicable to multiple-variation listings, and provides details on the available product variations within the listing, and which traits are different for each of these variations. Products in a multiple-variation listing tend to vary by one or more traits such as color and size, and interested buyers need to select which variation they want to purchase. For example, the `Blue, Large` t-shirt. """ listingVariations: ListingVariations """ This field indicates the eBay marketplace where the listing is published and displayed to buyers. Through active and passive international site visibility, it is possible that a listing can be on multiple eBay marketplaces, but the ID in this field indicates the original listing marketplace. """ marketplace: ListingMarketplace """ This object provides product details for the listing, including listing category, product aspects, title, description, item condition, images, and more. """ sellerProduct: SellerProduct """ This field is the seller-defined listing-level Stock Keeping Unit (SKU) value. A listing-level **sku** value is specified by the seller if the seller wishes to identify the listing by SKU value as opposed to **listingId**. """ sku: String } """ This input type specifies the date range for which a list of the seller's listings is being requested. """ input SellerListingDateTimeRangeInput { """ Specifies the end date, expressed in ISO 8601 format, of the date range for which a list of the seller's listings is being requested. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ **Example:** 2025-10-04T19:09:02.768Z """ endAt: DateTime! """ Specifies the starting date, expressed in ISO 8601 format, of the date range for which a list of the seller's listings is being requested. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ **Example:** 2025-09-04T19:09:02.768Z """ startAt: DateTime! } """ This type is used to show listing-related fees incurred by the create/update/relist mutation. If the mutation is processed in `VALIDATE` mode, the fees will only be estimates. """ type SellerListingFee { """ This object shows the amount of the fee in the currency used by the listing marketplace. """ feeAmount: Amount """ The enum value in this field indicates the type of fee incurred by the create/update/relist mutation. See the **ListingFeeType** enum type for the full list of fee types. """ listingFeeType: ListingFeeType """ This object shows the amount of any discount applied to the fee in the currency used by the listing marketplace. """ promotionalDiscount: Amount } """ This type is used to identify a listing to retrieve in the **sellerListings** query. """ input SellerListingInput { """ This optional field allows a user to specify a specific item within a multiple-SKU listing to retrieve. - If omitted, all items in the listing are returned. - If the provided SKU value does not match any items in the listing, an empty items list is returned. """ itemsFilter: [SellerListingItemsSelectionInput!] """ The unique identifier of the listing. """ listingId: ID! } """ This input type allows a user to specify a specific item within a multiple-SKU listing to retrieve. This type is only applicable for multiple-SKU listings. """ input SellerListingItemsSelectionInput { """ This field is used to specify which item in the multiple-SKU listing to retrieve by including the item's SKU value. **Note**: This field applies only to multiple-SKU listings. """ sku: String } """ This union type is used if the **sellerListings** query successfully retrieve details on a listing or if the listing is on-hold. """ union SellerListingOutput = ListingPartialSuccess | ListingSuccess """ Price range filter criteria for a seller's listing search. """ input SellerListingPriceRangeInput { """ Maximum listing price (inclusive). If not specified, no upper price bound is applied. """ maxPrice: Decimal """ Minimum listing price (inclusive). If not specified, no lower price bound is applied. """ minPrice: Decimal } """ This type stores the list of the seller's listings and desired pagination criteria, if appropriate. """ type SellerListings { """ This is the array of listings that match the supplied search criteria. """ listings: [ListingReference!] """ This is the pagination criteria applied when displaying the search results. If the search returns no listings `pagination` will be null. """ pagination: PaginationOutput } """ The base interface for all seller listing search input errors. Each specific error type implements this interface. """ interface SellerListingSearchInputError { """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type represents input validation errors that may occur for seller listing search operations. This type provides user-friendly error messaging and detailed validation error information. Each validation error will display `SELLER_LISTING_SEARCH_INVALID_INPUT` to indicate there has been an input validation failure. The specific list of input errors that may occur during the search request validation is provided in the following table. Each error provides detailed information about what went wrong and how to fix it. | Error Type | Description | |-------------------------------------|-----------------------------------------------------------------------------| | `ListingIdsExceedMaxError` | when the number of listing IDs provided exceeds the maximum allowed count. | | `SkusExceedMaxCountError` | when the number of SKUs provided exceeds the maximum allowed count. | | `SkusExceedMaxLengthError` | when one or more SKUs provided exceed the maximum allowed length. | | `PrimaryCategoryExceedMaxError` | when the number of primary category IDs provided exceeds the maximum allowed limit.| | `PrimaryStoreCategoryExceedMaxError`| when the number of primary store category IDs provided exceeds the maximum allowed limit.| | `StartDateAfterEndDateError` | when the start date is after the end date in a date range filter. | | `PaginationPageSizeExceedError` | when the requested pagination exceeds the maximum allowed limit per page. | | `PaginationTotalFetchLimitExceedError`| when the requested pagination exceeds the maximum allowed fetch limit. | """ type SellerListingSearchInvalidInput implements BusinessError { """ The human-readable error message in a localized format informing end users about the input validation error. **Example:** "Some of the input values provided for the seller listing search are invalid. Please correct your input and try again." """ displayableErrorMessage: String! """ The machine-readable error code uniquely representing seller listing search failure. Always returns value `SELLER_LISTING_SEARCH_INVALID_INPUT`. """ errorCode: String! """ The human-readable description of the seller listing search failure for API consumer developers. Clients should typically only use this field during development and must never display contents to end users. **Example:** "Validation failed for seller listing search input." """ errorMessage: String! """ This array returns a list of specific input errors that occurred during the search request validation. Each error provides detailed information about what went wrong and how to fix it. """ validationErrors: [SellerListingSearchInputError!]! } """ This error is returned when the `pagination.pageCursor` value provided for the **sellerListingSearch** query cannot be interpreted as a valid pagination cursor. """ type SellerListingSearchInvalidPageCursorError implements SellerListingSearchInputError { """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The `pageCursor` value that could not be interpreted as a valid pagination cursor. """ pageCursor: String! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type stores the active, completed, and scheduled listings for a seller. **Note**: The **userId** of the user issuing the call is retrieved from the context. Users may only retrieve their own listings. """ type SellerListingSearchOutput { """ This object contains the seller's active listings that satisfy the search criteria specified by `SellerActiveListingSearchInput`. **Note**: The **userId** of the user requesting listings is retrieved from the context. Users may only retrieve their own listings. """ activeListings(searchInput: SellerActiveListingSearchInput): SellerListingSearchResult! """ This object contains the seller's ended listings that satisfy the search criteria specified by `SellerEndedListingSearchInput`. **Note**: The **userId** of the user requesting listings is retrieved from the context. Users may only retrieve their own listings. """ endedListings(searchInput: SellerEndedListingSearchInput): SellerListingSearchResult! """ This object contains the seller's scheduled listings that satisfy the search criteria specified by `SellerScheduledListingSearchInput`. **Note**: The **userId** of the user requesting listings is retrieved from the context. Users may only retrieve their own listings. """ scheduledListings(searchInput: SellerScheduledListingSearchInput): SellerListingSearchResult! } """ This union is used to request the list of active, ended, and/or scheduled listings based on the provided search criteria. If no listings are identified that satisfy the search criteria an empty result is returned. If there is an input error, `SellerListingSearchInvalidInput` is returned. **Note**: The user issuing this call **must** be the seller associated with the listings. """ union SellerListingSearchResult = SellerListingSearchInvalidInput | SellerListings """ This type is used to pass in listing ID values for the **sellerListings** query. """ input SellerListingsInput { """ This array is used to pass in the unique identifiers of the listings to retrieve. **Note**: With the initial release, only one eBay listing may be retrieved with this query. """ listings: [SellerListingInput!]! } """ This type is used to specify sort criteria and sort order for the requested listings. """ input SellerListingSortField { """ This enumeration value specifies the criteria on which listings are to be sorted. """ field: SellerListingSortFieldEnum! """ This enumeration value specifies if listings will be returned in ascending or descending order based on the specified `field` criteria. **Default Value**: ASC """ sortOrder: SortOrder = ASC } """ This enumeration type contains the list of available fields by which listings may be sorted. """ enum SellerListingSortFieldEnum { """ This enumeration value indicates listings will be sorted by their available quantity. """ AVAILABLE_QUANTITY """ This enumeration value indicates listings will be sorted by their respective number of bids. """ BID_COUNT """ This enumeration value indicates listings will be sorted by the current price of the listing. Sorting is currency-agnostic. **IMPORTANT:** Currency conversion is not applied to prices in different currencies. Prices are compared based on their numeric value only. It is recommended that this enumeration value be used in combination with the `marketplaces` filter when listings are from multiple marketplaces to avoid inconsistent ordering due to currency differences. """ CURRENT_PRICE """ This enumeration value indicates listings will be sorted by the custom label or Stock Keeping Unit (SKU) assigned by the seller to the listing. """ CUSTOM_LABEL_SKU """ This enumeration value indicates listings will be sorted by the duration specified at the time the listing became active. Available duration values are: - Fixed duration listing values, in days: 1, 3, 5, 7, 10, 30 - Good 'Til Cancelled (GTC) listings are treated as having an infinite duration for sorting purposes. *Note:** 'Buy It Now' listings have a duration of GTC. When sorted in Ascending order, GTC listings appear last: 1-day, 3-day, ..., 30-day, GTC When sorted in Descending order, GTC listings appear first: GTC, 30-day, ..., 3-day, 1-day """ DURATION """ This enumeration value indicates listings will be sorted by the end time of the listing. For active and scheduled listings, scheduled end time is used. """ END_TIME """ This enumeration value indicates listings will be sorted by their `formatType`. When sorting listings in ascending order, `AUCTION` listings are first, followed by `FIXED_PRICE` listings, and then `CLASSIFIED_AD` listings. **Note**: Auction listings with a 'Buy It Now' price enabled are considered `AUCTION` listings when being sorted. """ FORMAT """ This enumeration value indicates listings will be sorted by the listed quantity. """ LISTED_QUANTITY """ This enumeration value indicates listings will be sorted by the listing IDs. """ LISTING_ID """ This enumeration value indicates listings will be sorted by their reserve price. Reserve price is used in auction listings to set a minimum price that must be met for the item to be sold. Sorting is currency-agnostic. **IMPORTANT:** Currency conversion is not applied to prices in different currencies. Prices are compared based on their numeric value only. It is recommended that this enumeration value be used in combination with the `marketplaces` filter when listings are from multiple marketplaces to avoid inconsistent ordering due to currency differences. """ RESERVE_PRICE """ This enumeration value indicates listings will be sorted by their respective shipping costs. """ SHIPPING_COST """ This enumeration value indicates listings will be sorted by their sold quantity. """ SOLD_QUANTITY """ This enumeration value indicates listings will be sorted by the initial starting price of the listing. Sorting is currency-agnostic. **IMPORTANT:** Currency conversion is not applied to prices in different currencies. Prices are compared based on their numeric value only. It is recommended that this enumeration value be used in combination with the `marketplaces` filter when listings are from multiple marketplaces to avoid inconsistent ordering due to currency differences. """ START_PRICE """ This enumeration value indicates listings will be sorted by the date and time the listings became active. """ START_TIME """ This enumeration value indicates listings will be sorted by their remaining time before ending. """ TIME_LEFT """ This enumeration value indicates listings will be sorted by the listing title. """ TITLE """ This enumeration value indicates listings will be sorted by their respective number of watchers. """ WATCH_COUNT } """ This union type is used when the **sellerListings** query successfully returns listing details or returns an input/business error for the listing. """ union SellerListingsOutput = ListingIdsMaxLimitError | ListingsSuccess """ The base request type for the **sellerNegotiationHistory** query. This type is used to define the filters for the response payload. """ input SellerNegotiationHistoryInput { """ This object can be used to specify the filters used for retrieving a seller's negotiation history. If This object is omitted, the following default filters will be used: - Time window: last **90 days** by most-recent activity - Recent negotiation status: **ACTIONABLE** - Initiator: **BUYER** """ filters: NegotiationHistoryFilters } """ The union type for the **sellerNegotiationHistory** query. """ union SellerNegotiationHistoryOutput = SellerNegotiationHistorySuccess """ This type is used for a successful **sellerNegotiationHistory** query. This type returns item negotiation information, as well as pagination for each negotiated item and its latest offer per thread. **Note**: Pagination is applied at the *item* level; each element in `itemNegotiations` is an item bucket with that item’s negotiation information. """ type SellerNegotiationHistorySuccess { """ This object returns item-level buckets, with each element representing one negotiated item and its matching negotiations (latest offer per thread). This includes list of negotiation threads associated with the item and the offers exchanged within each negotiation. """ itemNegotiations: [ItemNegotiation!]! """ This object returns cursor-based pagination for the item buckets (items are paged; negotiations inside an item are not paged). """ pagination: Pagination! } """ This type represents the result of a search for order inquiries, and contains the list of order inquiries for the current page and associated pagination metadata. """ type SellerOrderInquiries { """ This array returns the list of order inquiries returned in the current page of the search result. """ orderInquiries: [OrderInquiry!] """ This object can be used to specify optional pagination settings that can be used to control page size and navigate through multiple pages of results. """ pagination: Pagination! } """ This input used to search for order inquiries based on specific criteria. - Do not provide both **initialPage** and **pageInfo**; they are mutually exclusive. - If **maxPageSize** is < `1` or > `100`, the server defaults to `20` (no error). - If **pageCursor** is malformed or expired, an empty result is returned. - When using **pageInfo**, filters and sorting must match the initial request, or the server will return an empty result. """ input SellerOrderInquiriesInput { """ The parameters for the **first page** of a query request. **Note**: This object cannot be used together with **cursor**. """ initialPage: OrderInquiryInitialPageInput """ The parameters for fetching a **subsequent page** of results. This object requires the opaque **cursor** (returned in **Pagination.nextCursor** or `Pagination.previousCursor**). This object must use the same filters and sorting as the initial request. **Note**: This object cannot be used together with **initialPage**. """ pageInfo: PageInfoInput } """ The union type for the **sellerOrderInquries** query. This type covers two possible scenarios: success or failure. If the **sellerOrderInquries** query succeeds, the seller order inquiries will be returned. If the **sellerOrderInquries** query fails, an array of blocking errors detailing why the query failed will be returned, and the item commitment will not be created. If a query fails, there will always be at least one blocking error. """ union SellerOrderInquiriesOutput = OrderInquiryInvalidDateRangeError | OrderInquiryInvalidPageSizeError | OrderInquiryInvalidSearchInputError | SellerOrderInquiries """ This type includes the list of returned order line items and pagination information. """ type SellerOrderReturns { """ This array lists one or more line items for the returned order. """ orderReturns: [OrderReturn!]! """ This object provides pagination information for navigating through the returned page set. """ pagination: Pagination! } """ This input type defines the payload for the **sellerOrderReturns** query. This type supports an initial, filtered query and cursor-based pagination for subsequent pages. Use either **initialPage** or **pagination** in a single request, but not both. """ input SellerOrderReturnsInput { """ Use this object to provide the filter and sorting parameters for retrieving the first page of results. Call using this field first to obtain a cursor before making any pagination requests. **Note**: Do not use both this field and `cursor` in a single request. """ initialPage: OrderReturnInitialPageInput """ Use this object to provide the maximum page size and the cursor parameters for fetching additional (subsequent) pages of results. Use after returning the first page at least once. The filter and sorting parameters use the same filters and sorting as the initial request (**OrderReturnInitialPageInput** parameters in a previous **initialPage** request). This object requires the opaque `cursor` returned in **Pagination.nextCursor** or **Pagination.previousCursor**. **Note**: Do not use both this field and the `initialPage` field in a single request. Call using **initialPage** before calling using **cursor**. """ pagination: PageInfoInput } """ This base response union type for the **sellerOrderReturns** query includes the result of the query and any errors encountered. """ union SellerOrderReturnsOutput = ReturnActionNotPermittedError | ReturnInvalidDateRangeError | ReturnInvalidPageSizeError | ReturnInvalidSearchInputError | SellerOrderReturns """ This type is used to identify a seller's financial account used to receive payout funds. """ type SellerPaymentAccount implements FundAccount { """ The unique identifier of the domain or type of the account. """ domain: ID! """ The unique identifier of the account that will receive payout funds. """ identifier: ID! } """ This type is used to provide common product details for the listing, including product aspects, title, description, condition, images, and more. """ type SellerProduct { """ An array of name-value pairs that define the product aspects. For a multiple-variation listing, only the common aspects will be specified in this array, and the pivoting aspects (aka traits) will be specified at the item variation level. """ aspects: [NameValuesPair!] """ This object shows is used to provide the eBay and eBay store categories where the item is listed. """ categories: ListingCategory """ The full description of the product. This is a mandatory field for a listing. **Note**: This field may contain HTML markup and inline CSS, and may be up to 500,000 characters including the HTML and CSS tags and attributes. """ description: String """ The eBay-generated title of a motor vehicle listing, which will consist of the Make, Model, Year, etc. of the vehicle. This title will be shown in search results and on the View Item page. For all other listings, the seller-defined title will appear in the **title** field instead. """ ebayGeneratedTitle: String """ An array of images used for the listing and appearing in the listing's photo gallery. eBay listings require at least one image, so this array should never be null. """ images: [ListingImage!] """ This boolean field Indicates whether or not the listing has an attached list of compatible vehicles for a Parts & Accessories item. """ includesCompatibilities: Boolean """ This array is used to define the motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. Year, Make, and Model are typical aspects used to identify a motor vehicle. """ itemCompatibilities: [ItemCompatibility!] """ This object is used to express the condition of the item(s) in this listing. A large majority of eBay categories require a condition, and this condition is specified through a numeric identifier in the **conditionId** field. For non-new items, the **conditionDescription** may be used by the seller to provide specific details about the item's condition or 'wear and tear'. The **conditionDescriptor** array is returned for graded and ungraded trading cards and provides condition details in a structured manner. """ itemCondition: ItemCondition """ This object shows the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ motorVehicleIdentifier: ListingMotorVehicleIdentifier """ The title of the listing. This title will be shown in search results and on the View Item page. If the listing is for a motor vehicle, the title will be shown in the **ebayGeneratedTitle** field instead and will consist of the Make, Model, Year, etc. of the vehicle. """ title: String """ This array shows the unique identifier of a product video. This video ID will only be shown to the seller of the listing. The **getVideo** method can be used to retrieve metadata and status of the video. Currently, only one video may be added to each listing. """ videos: [Video!] } """ This type stores seller-related profile information about the user. **Note**: If the user requesting this data is not authorized to view some of the requested information, those fields containing sensitive/confidential information will return null values. """ type SellerProfile { """ This object returns information related to the seller's direct charity affiliation, if applicable. **Note**: This object will return `null` if the seller does not have a direct charity affiliation. """ charityAffiliation: CharityAffiliation """ This object returns seller-related profile information about the user. """ user: User! """ This object provided eBay store-related information for the seller, including the store’s name, URL, and logo. Seller will have only one store associated with their account in their selected marketplace. This can be null if the seller does not own a store. """ sellerStore: SellerStore @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.stores.readonly"]) """ A liist of subscription records for the seller. Each subscription provides the seller with specific benefits, features, or allowances based on their enrolled Store subscription tier. Returns: - An array of subscription objects (empty array [] if seller has no subscriptions) - Null only under exceptional circumstances """ subscriptions: [SellerSubscriptionPlan!] @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.account.readonly"]) } """ This type represents a promotional shipping rule configured by the seller (e.g., "Free shipping over $25"). """ type SellerPromotionalShippingRule { """ When provided, this field defines the minimum number of items required to enable this rule. """ minItemCount: Int """ When provided, this field defines the minimum order amount required to enable this rule. """ minOrderAmount: Decimal """ The specific type of the promotional shipping rule defined by the seller. """ promotionalShippingType: String! """ The shipping cost defined for this promotional shipping rule. """ shippingCost: Decimal! } """ This type represents a seller's refund breakdown and provides details about the amounts the seller refunds on the contract. **Note**: This type provides only the seller pricelines and refund amount that seller received as part contract fulfillment, and doesn't include pricelines such as `TAX` or `SERVICE_FEE` that the seller didn't receive in the first place. These fields can only be accessed by a seller. """ type SellerRefundBreakdown implements RefundBreakdown { """ This array returns all types of credits applied to the refund, including: - **Total fee credits**. In some instances, marketplaces fees charged are credited to the seller. - **Total donation credits**. In some instances, the donation of sale proceeds are credited back with the refund. **Note**: Donations are not always credited back if the proceeds were already donated. **Note**: If this array is returned `null`, there are no additional credits applied to refund. """ credits: [SellerRefundCredit!] """ The amount covered by eBay when the buyer should receive a refund, but the seller is not responsible for funding all or part of that refund. This field is returned only when eBay covers a portion of the refund on behalf of the seller, such as when the returned item is lost in transit, a provisional refund was issued and the seller is not at fault, or other business scenarios where eBay determines the seller should not be charged. """ eBayProtectionCoveredAmount: AmountSet """ The net amount being refunded by the seller. This value equals the **totalRefundAmount** subtracted by any withholdings on the order (specified through the **totalWithholdingAmount** object) and any applicable credits (fee credits, donation credits, etc.). """ netRefundAmount: AmountSet! """ The amount eBay plans to recover from the buyer after a provisional refund was issued and the buyer did not meet the agreed refund terms. This amount is not charged to the seller. """ plannedBuyerRecoveryAmount: AmountSet """ This array returns a list of pricelines that are being refunded by seller. """ refundPriceLines: [PriceLineRollup!]! """ The total amount credited for the seller. If this object is returned `null`, there are no additional credits applied to refund. """ totalCreditAmount: AmountSet """ The total monetary amount being refunded by the seller. """ totalRefundAmount: AmountSet! """ The total withholding amount applied on the refund by the seller. If this object is returned `null`, there are no additional withholdings applied to refund. """ totalWithholdingAmount: AmountSet """ This array returns a list of withholding made on the order by seller. """ withholdings: [RefundWithholding!] } """ This interface defines the type of seller refund credit, along with the amount credited. """ interface SellerRefundCredit { """ The monetary amount credited to the seller. """ creditAmount: AmountSet! """ The human-readable name for all the seller refund credits intended for consumption by an end user. Valid values include: - `FEE_CREDIT` - `DONATION_CREDIT` """ name: String! } """ This type represents a seller's refund estimation breakdown and provides details about refund estimate for sellers including details like what seller gets charged on the contract. **Note**: This type provides only the seller pricelines and refund amount that seller received as part contract fulfillment, and doesn't include pricelines such as `TAX` or `SERVICE_FEE` which seller didn't receive in the first place. """ type SellerRefundEstimateBreakdown implements RefundEstimateBreakdown { """ This array returns a list of all types of credits applied for the seller, including: - **Total Fee credits**: In some instances, marketplaces fees charged are credited to the seller. - **Total Donation credits**: In some instances, the donation of sale proceeds are credited back with the refund. **Note**: Donations are not always credited back if the proceeds was already donated. **Note**: If this array is returned `null`, no additional credits are applied to the refund. """ estimatedCredits: [SellerRefundCredit!] """ This array returns a list of withholdings that can be applied on the contract by the seller. If this array is empty, no additional withholdings have been applied on refund. """ estimatedWithholdings: [RefundWithholding!]! """ The estimated net refund amount. This value is derived using following formula: **netEstimatedRefundAmount** = **totalEstimatedRefundAmount** - **totalEstimatedWithholdingAmount** - **estimatedCredits** """ netEstimatedRefundAmount: AmountSet! """ This array returns a list of pricelines that are being refunded by seller. """ refundPriceLines: [PriceLineRollup!]! """ The total amount estimated as credits to the seller. **Note**: If this object is returned `null`, no additional credits been applied for refund estimation. """ totalEstimatedCreditAmount: AmountSet """ The estimated total monetary refund amount for the seller. """ totalEstimatedRefundAmount: AmountSet! """ The total estimated withholding amount, if there are any withholdings applied on the refund by the seller. **Note**: If this object is returned `null`, no withholding amount has been applied for refund estimation. """ totalEstimatedWithholdingAmount: AmountSet } """ This type provides details on how the seller is funding a refund. """ type SellerRefundFunding implements PayerRefundFunding { """ This array returns a list of funding execution details associated with the refund. """ fundingExecutions: [RefundFundingExecution!] """ This object returns the funding state of the refund. """ fundingState: RefundFundingState! } """ This input type defines the payload for the **sellerReturnPreference** query, which indicates the marketplaces for a seller's return preferences operations (retrieve or publish). """ input SellerReturnPreferenceInput { """ This enumerated value indicates the Marketplace. If omitted, the default value is used. **Default**: `EBAY_US` """ listingMarketplace: ListingMarketplace! = EBAY_US } """ The base response union type for the **sellerReturnPreference** query. This includes the result of the query and any errors encountered. Additional error types may be added to this union. """ union SellerReturnPreferenceOutput = ReturnPreferenceNotFoundError | SellerReturnPreferences """ This type defines return preferences that a seller configures to automate their return workflow. These preferences apply to **listings published** on a specific marketplace. Each marketplace maintains its own independent set of preferences. The options available to sellers vary depending on marketplace capabilities and policies. """ type SellerReturnPreferences { """ This enumerated value indicates the marketplace where the item is **listed/published** (for example, EBAY_US, EBAY_DE, EBAY_UK). All listings published on this marketplace inherit these preferences. """ listingMarketplace: ListingMarketplace! """ This object indicates the seller's automation preferences. """ returnAutomationPreference: ReturnAutomationPreference @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.return"]) """ This optional field indicates whether a Return Merchandise Authorization (RMA) number must be included on the return label. It is returned only when the seller's RMA preference applies to the specified marketplace: - `true`: The RMA number is required on the return label - `false`: The RMA number is not required on the return label """ rmaPreference: RmaPreference } """ This interface provides the state of an automation return rule. `ENABLED` rules are active and evaluated; `DISABLED` rules are ignored. """ interface SellerReturnRuleStatus { """ Status of the rule. Only rules with the status `ENABLED` are executed. **Available values**: `ENABLED`, `DISABLED` """ code: String! """ A human readable rule status. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ Filter criteria to apply when searching for a seller's scheduled listings. When multiple filters are included, they are combined using a logical `AND` operation. **Example:** Specify the following filters to return scheduled auction listings in the US or UK marketplace with the specified listing IDs: ``` { listingIds: ["123", "456"] # Results must match one of these IDs marketplaces: [EBAY_US, EBAY_GB] # AND be in one of these marketplaces formatType: AUCTION # AND be auction format type ``` } This filter combination returns listings with (listingId IN [123,456]) **AND** (marketplace IN [EBAY_US, EBAY_GB]) **AND** (formatType=AUCTION). """ input SellerScheduledListingSearchFilterInput { """ Filter seller listings by their listing format type. Refer to `ListingFormatType` for supported values. """ formatType: ListingFormatType """ Filter seller listings by their listing IDs. When multiple listing ID values are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. """ listingIds: [ID!] """ Filter seller listings by the eBay marketplace(s) in which the listings are created (e.g., EBAY_US, EBAY_GB, EBAY_DE). Refer to `ListingMarketplace` for a complete list of supported enumeration values. When multiple marketplaces are provided, they are combined using a logical `OR` operation. For example. `marketplaces [EBAY_US, EBAY_GB]` returns listings from the US **OR** UK marketplace. """ marketplaces: [ListingMarketplace!] """ Filter seller listings to return those listings that were modified within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that have been modified between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date range filtering is applied. """ modifiedAtRange: SellerListingDateTimeRangeInput """ Filter seller listings by their primary category ID. When multiple category ids are provided, they are combined using a logical `OR` operation. **Note**: The maximum number of returned listings is 50. If more than 50 listings are identified `BAD_INPUT_VALUE` is returned. """ primaryCategoryIds: [ID!] """ Filter seller listings by Stock Keeping Unit (SKU) values. An SKU is a seller-defined identifier that can be assigned when listing an item using **AddItem** and related calls. eBay preserves SKUs for items allowing users to access them before and after order line items are created. When multiple SKU values are provided, they are combined using a logical `OR` operation. For example, filtering seller listings using `skus ["SKU-1", "SKU-2"]` returns listings that exactly match SKU-1 **OR** SKU-2. **Notes**: - SKU filter values are case-sensitive and must match an item's SKU exactly. - A single SKU may match multiple listings; SKUs are not required to be unique. - This filter returns all listings where the SKU exactly matches any value in the array. - The maximum number of returned listings is 200. If more than 200 listings are identified `BAD_INPUT_VALUE` is returned. **Maximum filter length:** 50 characters. If more than 50 characters are specified `BAD_INPUT_VALUE` is returned. """ skus: [String!] """ Filter seller listings to return those listing that are scheduled to become active within a specified date/time range. This filter requires both `startAt` and `endAt` values be specified, and returns those seller listings that are scheduled to become active between the specified `startAt` date/time (inclusive) and `endAt` date/time (inclusive). - If a `startAt` value or `endAt` value is omitted `BAD_INPUT_VALUE` is returned. - If both `startAt` and `endAt` values are omitted, no date-range filtering is applied. """ startAtRange: SellerListingDateTimeRangeInput } """ Criteria to apply when searching for a seller's scheduled listings. It is strongly recommended that criteria be specified in order to limit the number of listings returned. If no criteria are specified, the search will require more time and the request may timeout. """ input SellerScheduledListingSearchInput { """ The filters to apply when searching for a seller's scheduled listings. """ filters: SellerScheduledListingSearchFilterInput """ Pagination information to control the number of listings returned, the number of pages of data to return, and the starting point. - The maximum number of pages of data to be returned is 200. - The maximum number of listings that can be retrieved is 50,000. To retrieve more than 50,000 records, apply additional filters to narrow the search or use date range filters to segment the queries. **Default Values**: - maxPageSize: 5 - pageIndex: 0 (zero-indexed) **Constraints**: - maxPageSize <= 200 - (maxPageSize * (pageIndex + 1)) <= 50,000 Exceeding the above limit returns a `BAD_INPUT_VALUE` error in the response. """ pagination: PaginationInput """ Sort field and sort order to be applied to the search results. If not specified, by default the results will be sorted in ascending order by their respective `START_TIME`. """ sort: SellerListingSortField } """ This type represents a seller-defined shipping rate table. A rate table is a reusable configuration (managed in the seller's Shipping Preferences UI) that defines custom shipping costs by destination region, weight, or surcharge rules. Rate tables reference Region Graph region codes (canonical / ISO-3 style) to determine applicable locations — e.g. 'USA', 'CAN', 'GBR', 'EUROPEAN_UNION', 'WORLDWIDE'. For example: - $5 to contiguous US (regionCode: 'USA'), $10 to AK/HI, $15 to PR. - $20 to Canada (regionCode: 'CAN'), $30 to EU (regionCode: 'EUROPEAN_UNION'). """ type SellerShippingRateTable { """ The display name of the rate table **Maximum length**: 100 characters """ name: String! """ The unique numeric identifier of the shipping rate table. """ shippingRateTableId: ID! } """ This enumeration type contains a list of enum values that cover large geographical regions as well as specific regions within a country. Some of these values can be used as both ship-to or excluded shipping locations in an eBay listing, and some can only be used for one or the other. """ enum SellerShippingRegionCode { """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Adelaide Metro area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ ADELAIDE_METRO """ This enumeration value is used to indicate that a US-based seller will not ship to the states of Alaska or Hawaii. **Note**: This value can only be used as an excluded shipping location in an eBay US listing. """ ALASKA_HAWAII """ This enumeration value is used to indicate that a seller will or will not ship to North America and South America. **Note**: This enumeration value does not include Central America, which is grouped together with the Caribbean. """ AMERICAS """ This enumeration value is used to indicate that a US-based seller will not ship to Army Post Office (APO) or a Fleet Post Office (FPO). **Note**: This value can only be used as an excluded shipping location in an eBay US listing. """ APO_FPO """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Brisbane Metro area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ BRISBANE_METRO """ This enumeration value is used to indicate that a seller will or will not ship to countries in Central America and in the Caribbean. """ CENTRAL_AMERICA_AND_CARIBBEAN """ This enumeration value is used to indicate that a UK-based seller will not ship to the Channel Islands. **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ CHANNEL_ISLANDS """ This enumeration value is used to indicate that a seller will or will not ship to European countries that belong to the European Union. """ EUROPEAN_UNION """ This enumeration value is used to indicate that a Hong Kong-based seller will or will not ship to the Greater China area, which includes mainland China, Taiwan, Hong Kong, and Macau. **Note**: This value can only be used in an eBay Hong Kong listing. """ GREATER_CHINA """ This enumeration value is used to indicate that a Germany-based seller will not ship to the German island of Hiddensee. **Note**: This value can only be used as an excluded shipping location in an eBay Germany listing. """ HIDDENSEE """ This enumeration value is used to indicate that a UK-based seller will not ship to the Isle of Wight. **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ ISLE_OF_WIGHT """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Melbourne Metro area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ MELBOURNE_METRO """ This enumeration value is used to indicate that a seller will or will not ship to the Middle East, which includes Turkey, Yemen, Oman, United Arab Emirates, Qatar, Saudi Arabia, Iraq, Israel, Kuwait, Lebanon, Jordan, and Bahrain. """ MIDDLE_EAST """ This enumeration value is used if the seller does not ship the item. This value is applicable for listings that only support local pickup or for an item where the buyer is responsible for arranging shipping. """ NONE """ This enumeration value is used to indicate that a Germany-based seller will not ship to the North Frisian Islands. **Note**: This value can only be used as an excluded shipping location in an eBay Germany listing. """ NORDFRIESISCHE_INSELN """ This enumeration value is used to indicate that a UK-based seller will not ship to Northern Ireland. **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ NORTHERN_IRELAND """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Northern Territory region. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ NORTHERN_TERRITORY """ This enumeration value is used to indicate that a Australia-based seller will not ship to the New South Wales (NSW) region. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ NSW_REGIONAL """ This enumeration value is used to indicate that a seller will or will not ship to countries/islands located in Oceania, which includes New Zealand, Micronesia, Fiji, Papua New Guinea, Solomon Islands, Marshall Islands, Nauru, Wallis and Futuna, Western Samoa, Tonga, Tuvalu, Vanuatu, Kiribati, New Caledonia, Palau, American Samoa, Niue, French Polynesia, Cook Islands, Guam, and Australia. """ OCEANIA """ This enumeration value is used to indicate that a Germany-based seller will not ship to the East Frisian Islands. **Note**: This value can only be used as an excluded shipping location in an eBay Germany listing. """ OSTFRIESISCHE_INSELN """ This enumeration value is used to indicate that a Germany-based seller will not ship to a Packstation, which is an automated DHL parcel locker system. **Note**: This value can only be used as an excluded shipping location in an eBay Germany listing. """ PACK_STATION """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Perth Metro area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ PERTH_METRO """ This enumeration value is used to indicate that a seller will not ship to a Post Office (PO) Box. **Note**: This value can only be used as an excluded shipping location in a listing across all eBay marketplaces. """ PO_BOX """ This enumeration value is used to indicate that a Australia-based seller will not ship to Far North Queensland (QLD). **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ QLD_FAR_NORTH """ This enumeration value is used to indicate that a Australia-based seller will not ship to regions of Queensland (QLD) beside Far North Queensland and South East Queensland. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ QLD_REGIONAL """ This enumeration value is used to indicate that a Australia-based seller will not ship to South East Queensland (QLD). **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ QLD_SOUTH_EAST """ This enumeration value is used to indicate that a Hong Kong-based seller will or will not ship to Asian countries outside of the Greater China area, which includes mainland China, Taiwan, Hong Kong, and Macau. **Note**: This value can only be used in an eBay Hong Kong listing. """ REST_OF_ASIA """ This enumeration value is used to indicate that a Australia-based seller will not ship to Regional South Australia (SA). **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ SA_REGIONAL """ This enumeration value is used to indicate that a UK-based seller will not ship to the Scilly Isles (also known as Isles of Scilly). **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ SCILLY_ISLES """ This enumeration value is used to indicate that a UK-based seller will not ship to the Scottish Highlands. **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ SCOTTISH_HIGHLANDS """ This enumeration value is used to indicate that a UK-based seller will not ship to the Scottish Islands. **Note**: This value can only be used as an excluded shipping location in an eBay UK listing. """ SCOTTISH_ISLANDS """ This enumeration value is used to indicate that a seller will or will not ship to Southeast Asia, which includes Cambodia, Indonesia, Vietnam, Hong Kong, Philippines, Malaysia, Taiwan, Laos, Thailand, Singapore, Macau, and Brunei Darussalam. **Note**: This value should not be used by a Hong Kong-based seller. Instead, they should use GREATER_CHINA (which includes mainland China, Taiwan, Hong Kong, and Macau) and REST_OF_ASIA to include or exclude other Asian countries. """ SOUTHEAST_ASIA """ This enumeration value is used to indicate that a Australia-based seller will not ship to the Sydney Metro area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ SYDNEY_METRO """ This enumeration value is used to indicate that a Australia-based seller will not ship to the island state of Tasmania . **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ TASMANIA """ This enumeration value is used to indicate that a US-based seller will not ship to any of the following US protectorates: Puerto Rico, Guam, American Samoa, Northern Mariana Islands, and U.S. Virgin Islands. **Note**: This value can only be used as an excluded shipping location in an eBay US listing. """ US_PROTECTORATES """ This enumeration value is used to indicate that a Australia-based seller will not ship to Regional Victoria, which are areas of the Australian state of Victoria outside the greater Melbourne metropolitan area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ VIC_REGIONAL """ This enumeration value is used to indicate that a Australia-based seller will not ship to Regional Western Australia (WA), which are areas outside the greater Perth metropolitan area. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ WA_REGIONAL """ This enumeration value is used to indicate that a Australia-based seller will not ship to Remote Western Australia (WA), which are isolated areas far from major cities, especially in the north and northeast. **Note**: This value can only be used as an excluded shipping location in an eBay Australia listing. """ WA_REMOTE """ This enumeration value is used as a shipping location, and covers all continents, large geographical regions, countries, and special domestic locations. **Note**: It is generally accompanied by numerous excluded shipping locations unless a seller truly ships everywhere. """ WORLDWIDE } """ This type provides detailed information about a seller's store, including its name and url. """ type SellerStore { """ This field is the public-facing name of the seller's store. If the seller does not own a store, this field will be null. **Maximum length**: 35 characters """ name: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.stores.readonly"]) """ The fully-qualified URL of the seller's storefront. This URL uniquely identifies the seller's store and is required for storefront access. If a seller does not have a store this field will be empty. **URL Format:** https://{domain}/str/{storeUrlIdentifier} where: - `{domain}` is determined by the seller's registration site ID - `{storeUrlIdentifier}` is a unique, alphanumeric identifier for the store with a maximum length of 35 characters. **Notes**: - Although this string may be the same as the store's `name` it is not required to be the same. - Spaces must be encoded as `%20`. **Maximum length**: 2048 characters """ url: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.stores.readonly"]) } """ This type is used to provide information on a seller's current eBay Store subscription plan. """ type SellerSubscriptionPlan { """ The seller's current eBay Store subscription plan. This field identifies the specific subcription tier that determines the features, benefits, and allowances available to the seller. """ planType: SellerSubscriptionPlanType! } """ This enumerated type contains the list of eBay Store subscription plan types available to sellers. Each subcription tier has slightly different levels of features, benefits, and allowances available to the seller, including access to premium tools with the higher subscription plans. """ enum SellerSubscriptionPlanType { """ This value indicates that the seller has an Anchor store subscription. At this subscription tier, the seller gets comprehensive marketing tools and priority support. """ EBAY_STORE_ANCHOR """ This value indicates that the seller has an Basic store subscription. At this subscription tier, the seller gets enhanced listing allowances and store customization features. """ EBAY_STORE_BASIC """ This value indicates that the seller has an Enterprise store subscription. At this subscription tier, the seller gets maximum listing allowances and advanced features ideal for high-volume sellers. """ EBAY_STORE_ENTERPRISE """ This value indicates that the seller has an Featured store subscription. At this subscription tier, the seller gets premium placement options and advanced selling tools. """ EBAY_STORE_FEATURED """ This value indicates that the seller has an Starter store subscription. At this subscription tier, the seller gets an entry-level subscription providing basic store features and listing allowances. """ EBAY_STORE_STARTER } """ This enumeration type contains the values that indicate the block of days when a classified ad seller can be contacted by potential buyers to answer questions about an item. """ enum SellerSupportListingDaysCode { """ This enumeration value indicates that the corresponding support hours are effective each day of the week. If the **anyTime** boolean field is `true`, that would indicate that the seller may be contacted 24 x 7. """ EVERYDAY """ This enumeration value indicates that the corresponding support hours are effective each weekday (Monday through Friday). """ WEEKDAYS """ This enumeration value indicates that the corresponding support hours are effective on weekends (Saturday and Sunday). """ WEEKENDS } """ This type is used to provide more information when the 'Seller to Vault' fulfillment type is used to deliver the item to the buyer. With 'Seller to Vault' fulfillment, the seller ships the item to the PSA Vault, where the trading card will be authenticated before it is sent to the buyer. """ type SellerToVault implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type represents an amount being withheld by the seller due to issues when the item was exchanged back. """ type SellerWithholding implements RefundWithholding { """ The monetary amount being withheld from the refund. """ amount: AmountSet! """ The name of the withholding. **Note**: In this case, the name will always be returned as `SELLER_DEDUCTION`. """ name: String! } """ This interface represents input violations detected during send return message request evaluation. Each violation indicates that the provided input value did not comply with the business rules or constraints defined for sending return message, such as exceeding the maximum allowed characters for the message. Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface SendMessageInputViolation { """ A machine-readable code identifying the specific send return message input violation. """ code: String! """ A human-readable message describing the send return message input violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type is used for sending a message in a return conversation between the buyer and the seller. """ type SendMessageReturnAction implements ReturnAction { """ A machine-readable return action code: `SEND_MESSAGE`. """ code: String! """ The human-readable text for send message return action. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This input type is used for sending a message in a inquiry conversation. This type can be used to add communication between buyer and seller regarding a inquiry. """ input SendOrderInquiryMessageInput { """ The unique identifier of the inquiry for which to send the message. **Note**: This must be a valid inquiry that the user has access to. """ inquiryId: ID! """ The text content of the message to send. **Maximum length**: 500 characters """ message: String! } """ This type represents a business error that is returned when one or more validation errors occurs while sending a message in an order inquiry. """ type SendOrderInquiryMessageInputValidationError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_SEND_MESSAGE_VALIDATION_ERROR`. """ errorCode: String! """ The human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array returns details about the specific request violations. """ violations: [SendOrderInquiryMessageInputViolation!]! } """ This interface represents that input violation(s) were detected while evaluating order inquiry message sending. Each violation indicates that the provided message input value did not comply with the business rules or constraints defined for sending messages in order inquiries. These rules may include: - Message text exceeding allowed length. - Unsupported attachment type. - Missing mandatory message content. """ interface SendOrderInquiryMessageInputViolation { """ The machine-readable code identifying the specific message input violation. """ code: String! """ The human-readable message describing the message input violation. **Maximum length**: 512 characters """ displayMessage: String! } """ The union type for the **sendOrderInquiryMessage** mutation. This type covers two possible scenarios: success or failure. If the **sendOrderInquiryMessage** mutation succeeds, the order inquiry message will be sent. If the **sendOrderInquiryMessage** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the item commitment will not be created. If a mutation fails, there will always be at least one blocking error. """ union SendOrderInquiryMessageOutput = OrderInquiryActionNotPermittedError | OrderInquiryNotFoundError | SendOrderInquiryMessageInputValidationError | SendOrderInquiryMessageSuccess """ The output type for the **sendOrderInquiryMessage** mutation. """ type SendOrderInquiryMessageSuccess { """ The result of the **sendOrderInquiryMessage** operation. """ orderInquiry: OrderInquiry! } """ This input type defines the payload for the **sendReturnMessage** mutation provides fields for responding to an existing message in a conversation, which provides communication between buyer and seller regarding a return. """ input SendReturnMessageInput { """ The reply text to include. The message is stored as provided and not localized. **Maximum length**: 500 characters """ message: String! """ The unique identifier of the return request for which to send a message. This must be a valid return ID that the user has permission to access. """ returnId: ID! } """ This error type indicates that one or more validation errors occurred while sending the return message. """ type SendReturnMessageInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_SEND_MESSAGE_VALIDATION_ERROR.` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [SendMessageInputViolation!]! } """ This base response union type for the **sendReturnMessage** mutation includes the result of the mutation and any errors encountered. """ union SendReturnMessageOutput = OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError | SendReturnMessageInputValidationError """ This type indicates that the service was cancelled before completion. Cancellation may be the result of user action, lack of resources, or other blocking conditions. """ type ServiceCancelled implements Labeled { """ A human-readable label for the state (example: `Cancelled`). """ label: String! """ This field provides a text-based explanation of why the service was canceled. This optional field is returned if available. """ reason: String } """ This type indicates that the service has finished successfully. All required tasks for this service are complete and no further action is required unless explicit follow-up is planned. """ type ServiceCompleted implements Labeled { """ When `true`, there was unusual complexity involved in order to get the service completed. """ complicated: Boolean! """ A human-readable label for the state (example: `Completed`). """ label: String! """ When `true`, the final completed state required a modification to the original plan (for example: re-scheduling, additional steps, or scope changes). """ modificationInvolved: Boolean! } """ This type provides details of a service execution attempt. """ type ServiceExecution { """ This timestamp indicates when the service attempt was completed. **Note**: This field is only returned if the service attempt is in the completed state. """ completedAt: DateTime """ This object provides details on the current state of this specific service execution attempt. """ serviceState: ServiceState! """ This timestamp indicates when the service attempt began. """ startedAt: DateTime } """ This type is used to show the execution history and current status of service attempts. """ type ServiceExecutionList { """ This array lists individual execution attempts for the service. Each entry represents a distinct attempt, including rescheduled appointments. """ executions: [ServiceExecution!]! """ This object shows details on the current state of the service (for example, completed, failed, or rescheduled). """ serviceState: ServiceState! } """ This type defines the priceline for Service Fee. """ type ServiceFee implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `SERVICE_FEE`. """ name: String! } """ This type defines the priceline rollup for service fee subtotal. """ type ServiceFeeSubtotal implements PriceLineRollup { """ The monetary amount of the priceline rollup. This is the monetary value associated with the priceline item group """ amount: AmountSet! """ The human-readable name of the priceline rollup. **Note**: In this context, the name will always be returned as `SERVICE_FEE_SUBTOTAL`. """ name: String! """ This array returns the pricelines that are part of the rollup. """ priceLines: [PriceLine!]! } """ This type defines the priceline for Service Fee Tax. """ type ServiceFeeTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `SERVICE_FEE_TAX`. """ name: String! } """ This type is used to provide details of a service that is actively being executed. """ type ServiceInProgress implements Labeled { """ When `true`, there is unusual complexity involved in order to get the service to the next state. """ complicated: Boolean! """ This value indicates the current state of the service (for example: `InProgress`). """ label: String! } """ This type is used to provide details of a service that has been partially completed. """ type ServicePartiallyCompleted implements Labeled { """ When `true`, the completed portion involved complex work or special handling. """ complicated: Boolean! """ A human-readable label for the state (for example: `PartiallyCompleted). """ label: String! } """ This type is used to provide details of a service that has been partially started. """ type ServicePartiallyStarted implements Labeled { """ When `true`, the started portion of the service is complex and may affect completion or downstream steps. """ complicated: Boolean! """ A human-readable label for the state (for example: `PartiallyStarted`). """ label: String! } """ This type is used to show the scheduled date and time of a planned service appointment at the service-related logistics point. """ type ServicePlan { """ The scheduled timestamp for the planned service appointment, such as tire installation. """ scheduledAt: DateTime } """ This type is used to convey information about a service-related logistics point involved in a fulfillment plan. An example of this would be tires being sent to a tire installer company for tires to get installed on the buyer's vehicle. """ type ServicePoint implements LogisticsPoint { """ The physical address associated with this service-related logistics point. """ address: PurchaseAddress """ The user-friendly name of the service-related logistics point (for example: `Service Center`). """ name: String! """ This object shows service-specific details associated with this service-related logistics point. The type and amount of data shown here will vary based on the details that are known and available. """ serviceDetails: ServicePointInfo! """ The functional role of the service-related logistics point in the logistics flow (for example: `SERVICE_SITE`, `CUSTOMER_HOME`). """ type: DisplayableId! } """ This union type is used by the **ServicePlan** and **ServiceExecutionList** types to provide details about a service-related logistics plan. """ union ServicePointInfo = ServiceExecutionList | ServicePlan """ This union type is used to provide the current state of a service-related line item. This type is used by services in all states. """ union ServiceState = ServiceCancelled | ServiceCompleted | ServiceInProgress | ServicePartiallyCompleted | ServicePartiallyStarted """ This type represents a step in a service workflow connecting a participant (such as a buyer or carrier) to a `ServicePoint` for the service action (for example, dropping off, picking up, or transferring an item). This type describes the interaction leading to the service, not the service itself. """ type ServiceStep implements LogisticsStep { """ This object shows the user-friendly description and unique identifier of the party responsible for handling this logistics step. """ handler: DisplayableId """ This object shows the user-friendly description and unique identifier of the logistics step. For example, `Buyer Drop Off` or `Carrier Pick Up`. """ methodName: DisplayableId! """ This object shows the service point where this step leads to or occurs representing the physical or operational location of the service interaction. """ servicePoint: ServicePoint! } """ This type represents the request for shipment tracking information, such as tracking number and carrier details. """ type ShipmentTrackingInformationRequested implements OrderInquiryInformationRequested { """ The timestamp when the shipping tracking information request was created. """ requestedAt: DateTime! """ The actor who initiated the shipping tracking information request. """ requester: PostPurchaseActorRole! } """ This type represents the reason used by the seller when there are issues with the buyer's shipping address. """ type ShippingAddressIssuesCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `SHIPPING_ADDRESS_ISSUES`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to indicate the shipping business policy that is being used for a listing, and if the seller is currently overriding shipping costs for any of the domestic and international shipping service options defined in the shipping business policy, the **overrideShippingOptions** array will provide this information. """ type ShippingBusinessPolicy { """ This object shows the unique identifier of the shipping business policy. """ businessPolicy: BusinessPolicy """ If the seller is currently overriding shipping costs for any of the domestic and international shipping service options defined in the shipping business policy, this array will provide this information. """ overrideShippingOptions: [OverrideShippingOptions!] } """ This type represents the shipping carrier details associated with a shipment or return. This type provides both the eBay-standard carrier code and, if applicable, the user-provided carrier name when the carrier is not officially supported by eBay Marketplace. """ type ShippingCarrier { """ The eBay-standard code representing the shipping carrier. This value corresponds to one of the supported eBay `CarrierCodes`. **Note**: The special value `UNSUPPORTED` indicates that eBay does not officially support or recognize the provided carrier. """ carrierCode: String! """ The carrier name provided by the user when eBay does not recognize the carrier. **Note**: This field is populated only when **carrierCode** is `UNSUPPORTED`. """ unsupportedCarrierName: String } """ This type provides carrier tracking information for a shipment. """ type ShippingCarrierTracking { """ The standardized carrier name associated with the forward and return shipment, examples can include UPS, USPS, and FEDEX. """ shippingCarrier: ShippingCarrier! """ The tracking number for the return shipment, if the label is provided by seller. This is a common use case for some carriers in certain geographies. """ trackingNumber: String } """ This type indicates that the shipment was delivered. """ type ShippingDelivered implements ShippingTrackingStatus { """ A machine-readable code representing the current state of the shipment as `DELIVERED`. **Maximum length**: 100 characters """ code: String! """ A human-readable description of the shipment tracking status. """ displayText: String! } """ This type is used to provide details on a single shipping execution event, either completed or in progress. """ type ShippingExecution { """ This timestamp indicates when the shipment was delivered to the destination. This field is returned if the item has been delivered. """ deliveredAt: DateTime """ This array lists the line items packaged in the shipment. """ lineItemReferences: [LineItemReference!] """ This timestamp indicates when the shipment was sent from the origin. This field is returned if the item has been shipped. """ shippedAt: DateTime """ The name of the shipping carrier handling this shipment. """ shippingCarrier: String """ This object shows the current state of fulfillment that this shipping execution event is contributing towards. """ shippingState: LogisticsFulfillmentState! """ The shipment tracking number assigned by the shipping carrier. This field is returned if available. """ trackingNumber: String """ This timestamp indicates when tracking information was first made available. """ trackingProvidedAt: DateTime } """ This type provides details about a shipping step in progress, and includes the shipping step state and the list of executions associated with this shipping step. """ type ShippingExecutionList { """ This array shows the list of executions associated with this shipping step. Each entry describes a separate fulfillment event. """ executions: [ShippingExecution!]! """ This object shows the current state of fulfillment that this shipping step is contributing towards. """ shippingState: LogisticsFulfillmentState! } """ This type is used to indicate the date and time that the seller should wait for before proceeding with fulfillment. """ type ShippingFulfillmentHoldDetails { """ The date and time until which the seller should hold the fulfillment before proceeding. """ holdUntil: DateTime! } """ This type defines the seller's shipping configuration for a shipping policy, including shipping calculation type, available services, rate tables, discounts, and free shipping eligibility. """ type ShippingFulfillmentOptions { """ The shipping services configured in the seller's Business Policies for this shipping policy, and includes service-level details and handling costs. """ BusinessPolicyShippingServices: [BusinessPolicyShippingServiceDetails] """ This field is the unique identifier of a seller's domestic or international combined shipping rule. If a buyer satisfies the requirements of the discount rule, this buyer will receive a shipping discount for the order. The seller can create and manage shipping discount profiles using the **Account v2 API** or through Shipping Preferences in **My eBay**. """ combinedShippingRuleId: ID """ This field indicates whether the seller offers free domestic shipping as the primary domestic shipping service option. This applies to only the first domestic shipping service in **shippingServices** array in the **ShippingFulfillmentOptions** type (it is ignored if set for subsequent shipping services or for any international shipping service option). **Note**: Free shipping only applies to domestic shipping. """ freeShippingAvailable: Boolean """ This boolean indicates whether or not the seller has a promotional shipping discount set up that will be available to buyers who satisfy the requirements of the shipping discount rule. The seller can create and manage shipping promotional discounts using the **Account v2 API** or through Shipping Preferences in **My eBay**. """ promotionalShipping: Boolean """ The unique identifier of a domestic or international shipping rate table associated with the fulfillment policy. With domestic and international shipping rate tables, the seller can set different shipping costs based on shipping regions and shipping speed/level of service (one-day, expedited, standard, economy). There are also options to add additional per-weight and handling charges. May be null when no rate table is used. """ shippingRateTableId: ID """ This enumerated value specifies how shipping costs are calculated for this shipping policy (for example, flat-rate shipping or calculated shipping). """ shippingType: LogisticsOptionType } """ This type defines the priceline for shipping gandling price. """ type ShippingHandlingPrice implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `DOMESTIC_HANDLING_PRICE`. """ name: String! } """ This type defines the priceline for Shipping Handling Tax. """ type ShippingHandlingTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `SHIPPING_HANDLING_TAX`. """ name: String! } """ This type indicates the shipment tracking status is in transit. """ type ShippingInTransit implements ShippingTrackingStatus { """ A machine-readable code identifying the current state of the shipment as `IN_TRANSIT`. **Maximum length**: 100 characters """ code: String! """ A human-readable description of the shipment tracking status. """ displayText: String! } """ This type is used to provide information about the shipping label that was created. """ type ShippingLabelItem { """ The shipping carrier associated with this shipping label (e.g., USPS, FedEx, UPS, DHL). """ carrier: String! """ The unique identifier of the shipping service option being used for shipping. """ shippingService: String """ The tracking number assigned to this shipment. """ trackingNumber: String! } """ This type is used to indicate a continent, a geographical region, a country, or a special domestic location as a shipping location or excluded shipping location. """ type ShippingLocation { """ The enum value returned in this field indicates the continent that is a shipping or excluded shipping location. """ continent: ContinentCode """ The enum value returned in this field indicates the country that is a shipping or excluded shipping location. """ country: CountryAlpha2Code """ The enum value returned in this field indicates the large geographical region that is a shipping or excluded shipping location, or a special domestic location that is an excluded shipping location. """ sellerShippingRegion: SellerShippingRegionCode } """ This type shows details of a shipping logistics option, including the shipping service code, shipping carrier code, and shipping cost. """ type ShippingLogisticsOption implements PurchaseQuoteLogisticsOption { """ This object shows the cost of the shipping logistics option. If the shipping logistics option is free to the buyer, this object will show a value of `0.0`. **Note**: If the authenticated user uses a different currency than the default currency used by the eBay marketplace, this amount will also be shown in that user's currency. """ cost: AmountSet! """ The display name of the shipping logistics option. """ displayName: String! """ The unique identifier of the shipping carrier. **Examples**: USPS, UPS, DHL """ shippingCarrierCode: ID """ The unique identifier of the shipping service option. **Example**: UK_RoyalMailSecondClassStandard """ shippingServiceCode: ID } """ This type is used to add or modify one shipping logistics option that is provided by the seller. """ input ShippingLogisticsOptionInput { """ This object is used to specify the shipping cost to ship the order if the shipping service option specified in the corresponding **shippingServiceCode** field is used. To offer a shipping service option as free to the buyer, the value of this field is set to '0.0'. **Note**: The default currency of the eBay listing marketplace should be used. """ cost: AmountInput! """ The enumeration value associated with the shipping service. In listing and Business Policy APIs, the enumeration values of shipping services are specified to set the shipping services that are available to ship the item. **Example**: UK_RoyalMailSecondClassStandard """ shippingServiceCode: ID! } """ This type provides the shipping cost type used for calculated shipping costs. """ type ShippingOptionDetails { """ This field indicates the shipping cost type used for shipping. Shipping cost types include flat-rate and calculated. """ shippingCostType: ListingShippingCostType """ Shipping Preference applied by the seller which includes ratetable, discount rule and promotional discount """ shippingPreference: SellerAppliedShippingPreference } """ This type provides information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. """ type ShippingPackageSpec { """ This boolean field indicates whether or not the shipping package is an irregular or non-standard shape. A shipping carrier may charge additional handling fees for an irregular package. """ irregularPackage: Boolean """ The enumerated value returned in this field indicates the type of package used to ship the item. """ listingPackageType: ListingPackageType """ The measurement system used by the eBay marketplace for the package dimensions and weight. """ listingUnitOfMeasure: MeasurementSystem """ This object is used to specify the dimensions of the shipping package and the unit of measurement used. """ packageDimensions: ListingPackageDimensions """ This object is used to specify the weight of the shipping package and the unit of measurement used to measure weight. """ packageWeight: ListingPackageWeight } """ This type provides details about a planned shipping step prior to execution. """ type ShippingPlan { """ This object is returned if there is a hold on the shipping step, and indicates when the hold is expected to be released """ shippingHoldDetail: ShippingFulfillmentHoldDetails } """ This union type is used by the **ShippingPlan** type to provide details about a planned shipping step and by the **ShippingExecutionList** type to provide details about a shipping step in progress. """ union ShippingPlanOrExecution = ShippingExecutionList | ShippingPlan """ This type is used to convey information about a shipping logistics point involved in a fulfillment plan. """ type ShippingPoint implements LogisticsPoint { """ The physical address associated with this logistics node. """ address: PurchaseAddress """ The user-friendly name of the shipping logistics point. (for example, `San Jose Warehouse`, `Customer Home`). """ name: String! """ The functional role of the node in the logistics flow (e.g., `WAREHOUSE`, `CUSTOMS`, `DESTINATION`). """ type: DisplayableId! } """ This type provides shipping-specific details for a seller's shipping policy, including if the policy applies to motor vehicles, available domestic and international shipping options, ship-to exclusions and inclusions, handling time, and participation in special programs such as eBay's Global Shipping Program (GSP) or freight. """ type ShippingPolicyDetails { """ This boolean field is returned as `true` if the buyer is responsible for shipping or pickup of a motor vehicle. """ buyerResponsibleForShipping: Boolean """ This object contains shipping options for domestic deliveries under this policy. May be null or empty if domestic shipping is not offered or specified. """ domesticShippingOptions: ShippingFulfillmentOptions """ This field indicates whether the item is eligible for **Click and Collect**. This is currently available only to large retail merchants in the eBay AU, UK, DE, FR, and IT marketplaces. If returned as `true`, local pickup is also available for this policy. """ eligibleForPickupDropOff: Boolean """ This array lists shipping locations where the seller does not ship under this policy. The location may be countries, regions, states or provinces, or marketplace unique domestic regions. The supported eBay marketplace location codes are marketplace specific. - May be empty if no locations are configured - Values are not localized **Example:** `["AFG","ALB","DZA","ASM","AND","AGO","AIA"]` """ excludedShipToLocations: [ShippingLocation!] """ This field applies only for the eBay United Kingdom marketplace (EBAY_GB). If returned as true, **eBay's Global Shipping Program** will be used by the seller to ship items to international locations. All other sites should return `false` for this field. """ globalShippingProgramParticipant: Boolean """ The maximum number of business days the seller commits to for preparing and shipping an order after the order is placed. This time does not include the transit time it takes the shipping carrier to deliver the order. If only local pickup or freight shipping is available for the item, this value may not get returned. May be null when not applicable or not specified. """ handlingTime: Int """ This array lists shipping locations where the seller ships to under this policy. The location may be continents, regions, countries, or marketplace unique domestic regions. Each eBay marketplace supports its own set of allowable shipping locations. """ includedShipToLocations: [ShippingLocation!] """ This object contains shipping options for international deliveries under this policy. May be null or empty if international shipping is not offered or specified. """ internationalShippingOptions: ShippingFulfillmentOptions """ This boolean field indicates whether or not this policy is for motor vehicle listings. """ motorVehiclePolicy: Boolean } """ This type defines the priceline for shipping price. """ type ShippingPrice implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `SHIPPING_PRICE`. """ name: String! } """ This type represents input violations related to shipping price refund withholding. It indicates that the seller attempted to withhold the shipping cost when it is not allowed. """ type ShippingPriceRefundWithholdViolation implements ProcessReturnRefundInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example: `SHIPPING_PRICE_REFUND_WITHHOLD_VIOLATION`). """ code: String! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type represents input violations related to partial refund shipping price. This indicates that the seller attempted to waive the shipping price when it is not allowed. """ type ShippingPriceWaiverViolation implements ProposeKeepItemWithPartialRefundInputViolation { """ A machine-readable code identifying the specific rule that was violated (for example, `SHIPPING_PRICE_WAIVER_VIOLATION`). """ code: String! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This type shows the list of domestic or international shipping service options that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceOptionCode** field. """ type ShippingServiceDetails { """ The cost of shipping each additional item if the same buyer purchases multiple quantity of the same line item. This field is required when creating a multiple-quantity, fixed-price listing. """ additionalUnitShippingCostAmount: ConvertedAmount """ This array is the list of continents, geographical regions, and/or individual countries that the corresponding shipping service operates in. """ includedShipToLocations: [ShippingLocation!] """ This field shows any package handling cost applied to a shipping service. It is added on top of the shipping cost for each service option. A null value means no additional cost. """ listingPackageHandlingCost: ConvertedAmount """ An integer value that controls the order (relative to other shipping services) in which the corresponding ShippingService will appear in the View Item and Checkout page """ rank: Int """ The base cost of shipping one unit of the item using the shipping service specified in the corresponding Shipping Service field. """ shippingCostAmount: ConvertedAmount """ A shipping service option being offered by the seller to ship an item to a buyer. """ shippingService: ListingShippingService } """ This type conveys the details of a shipping logistics step involved in a fulfillment plan. """ type ShippingStep implements LogisticsStep { """ This object shows the estimated delivery window for the item going from the **shipFrom** to the **shipTo** location. """ estimate: LogisticsFulfillmentEstimate """ This object shows the user-friendly description and unique identifier of the party responsible for handling this shipping logistics step. """ handler: DisplayableId """ This object shows the user-friendly description and unique identifier of the shipping logistics step. """ methodName: DisplayableId! """ The information shown in this object is dependent on the state of the logistics step. If the logistics step has not yet started and there is no hold associated with the logistics step, it may get returned as empty or null. If the logistics step is active or completed, the state and full shipping details for this shipping step will be shown. """ planOrExecution: ShippingPlanOrExecution! """ This object shows details on the ship-from location, including the user-friendly name, location type, and a full street address. May be `null` when data is not available. """ shipFrom: LogisticsPoint """ This object shows details on the ship-to location, including the user-friendly name, location type, and a full street address. """ shipTo: LogisticsPoint! } """ This type defines the priceline roll up for shipping subtotal. """ type ShippingSubtotal implements PriceLineRollup { """ The monetary amount of the priceline rollup. This is the monetary value associated with the priceline item group """ amount: AmountSet! """ The human-readable name of the priceline rollup. **Note**: In this context, the name will always be returned as `SHIPPING_SUBTOTAL`. """ name: String! """ This array returns the pricelines that are part of the rollup. """ priceLines: [PriceLine!]! } """ This type defines the priceline for shipping tax. """ type ShippingTax implements PriceLine { """ The monetary value associated with the priceline item. """ amount: AmountSet! """ The human-readable priceline name. **Note**: In this case, the name will always be returned as `SHIPPING_TAX`. """ name: String! } """ This type provides information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ type ShippingTerms { """ This boolean field indicates whether the buyer is responsible for vehicle shipping/pickup. """ buyerResponsibleForShipping: Boolean """ This array is used to indicate the locations where the seller will not ship the item. The values in this array can be continents, large geographical regions, countries, or special domestic locations. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. """ excludedShipToLocations: [ShippingLocation!] """ This field indicates how many business days that the seller needs to ship the item after payment is made by the buyer. The handling time is required for most categories. Top-rated sellers typically set the handling time to 0 or 1 day, but longer handling times are supported. """ handlingTimeDuration: ListingTimeDuration """ This array shows the list of locations where the seller will ship the item. The values in this array can be continents, large geographical regions, or countries. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. """ includedShipToLocations: [ShippingLocation!] """ This object provides information on shipping options for locations within the country of the marketplace, including the shipping cost type used (flat vs. calculated) and the shipping service options available to ship the item. There is also a field to specify a shipping rate table to use against the listings and fields to apply a shipping discount. """ marketplaceShippingOptions: ShippingOptionDetails """ This object provides information on shipping for locations outside of the marketplace, including the shipping cost type used (flat vs. calculated) and the shipping service options available to ship the item. There is also a field to specify a shipping rate table to use against the listings and fields to apply a shipping discount. """ nonMarketplaceShippingOptions: ShippingOptionDetails """ This object is used to specify the shipping policy being used as well as any shipping cost overrides that are being used. """ shippingBusinessPolicy: ShippingBusinessPolicy """ This array shows the list of shipping service options that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. """ shippingServices: [ShippingServiceDetails!] } """ This interface indicates the shipment tracking status. """ interface ShippingTrackingStatus { """ A machine-readable code identifying the return fulfillment status. Values can include `IN_TRANSIT`, `OUT_FOR_DELIVERY`, `DELIVERED`, `EXCEPTION`, and similar. **Maximum length**: 512 characters """ code: String! """ A human-readable description of the shipment tracking status. """ displayText: String! } """ This interface defines a shipping zone, typically composed of city, state, postal code, and country information for a user address. """ interface ShippingZone { """ The two-letter ISO country code for the shipping zone. **Note**: This field may be omitted based on user access permissions. """ countryCode: CountryAlpha2Code """ The postal code of the shipping zone **Note**: This field may be masked or omitted based on user access permissions. """ postalCode: String """ The state or province of the shipping zone. **Note**: This field may be omitted based on user access permissions. """ stateOrProvince: String } """ This type represents the request for proof of delivery information that includes signature confirmation details. """ type SignatureConfirmationRequested implements OrderInquiryInformationRequested { """ The timestamp when the proof of delivery information request was created. """ requestedAt: DateTime! """ The actor who initiated the proof of delivery information request. """ requester: PostPurchaseActorRole! } """ This type represents a single SKU listing. """ type SingleSkuListing implements ListingV2 { """ This array contains item(s) that can be bundled as part of a listing. There will always be at least one item """ items: [Item!]! """ The unique identifier of a listing. """ listingId: ID! """ This array can be used to retrieve all item commitments spawned from the corresponding listing, and meeting other search criteria. **Note**: The authenticated user (seller or buyer) must have a relationship to item commitments for them to be returned. **Note**: Other filters in addition to **listingId** may be used. """ itemCommitments: ItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) """ This object returns unanswered questions for the seller on the active listing. """ unansweredQuestions: UnansweredQuestions @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ This array returns the authenticated viewer’s order data **in the context of this listing**. """ orders: Orders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ This query will return all purchase quotes that involve this listing, and meeting other search criteria. **Note**: The authenticated user (seller or buyer) must have a relationship to purchase quote(s) for them to be returned. **Note**: Other filters in addition to **listingId** may be used. """ purchaseQuotes: PurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ This object is returned if the listing is on hold, and provides the details on one or more policy violations for which the listing is on hold for. """ listingOnHoldPolicies: ListingOnHoldPolicies """ The commercial terms such as location, shipping, returns, etc. that apply to every item in the listing unless overridden at the item level. The item level terms currently include sku, price, quantity, and extended producer responsibility (EPR) terms. **Note**: This field will only be null if there is an error. Please see error section of response for more details. """ listingTerms: ListingTerms """ The unique identifier of the eBay marketplace where the listing is hosted. """ marketplace: ListingMarketplace """ The unique identifier of the original listing that contained the item before the item was relisted. This field is only returned for an item that was relisted. """ relistParentListingId: ID """ This object specifies information about the seller product, such as the epid, title, description, aspects, etc. """ sellerProduct: SellerProduct } """ This type is returned when the number of Stock Keeping Units (SKUs) provided for the **sellerListingSearch** query exceeds the maximum allowed count. """ type SkusExceedMaxCountError implements SellerListingSearchInputError { """ The actual number of Stock Keeping Units (SKUs) provided. """ actualCount: Int! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum number of Stock Keeping Units (SKUs) allowed. """ maxAllowed: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! } """ This type is returned when one or more Stock Keeping Units (SKUs) provided for the **sellerListingSearch** query exceeds the maximum allowed length. """ type SkusExceedMaxLengthError implements SellerListingSearchInputError { """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ The maximum length allowed for each SKU. """ maxLength: Int! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! """ A list of SKUs that exceed the maximum length. """ violatingSkus: [String!]! } """ This type is used to identify Sofort as the payment method. """ type Sofort implements PaymentMethodType { """ The unique identifier of Sofort payment method. """ code: ID! """ The descriptive name of the Sofort payment method. """ descriptiveName: String! """ The display name of the Sofort payment method. """ displayName: String! } """ This enumerated type provides values for the sort order used in pagination. """ enum SortOrder { """ This enum value is used to sort results of a query response in sscending order. """ ASC """ This enum value is used to sort results of a query response in descending order. """ DESC } """ This type is used to display information about operation validation errors when these errors are triggered. """ type StandardListingValidationRuleViolation implements ListingValidationRuleViolation { """ This array will show a list of one or more key-value pairs providing additional, structured context for the violation. For example, for a maximum length exceeded violation, this might contain {name: `maxLength`, value: `80`}. Null values in a name-value pair indicates that no additional information is available on the violation. """ additionalInformation: [NameValuePair!] """ This array will show one or more string values that show the full path(s) to the input field(s) that caused the violation. """ inputPath: [String!]! """ A unique identifier of the violation. Clients can use this code to implement custom logic. """ violationCode: String! """ A human-readable description of the violation, intended to be displayed to an end user. """ violationDescription: String! } """ This type is used to display information about operation warnings when these warnings are triggered. With warnings, the operation will be successful or partially successfully, but there are issues that the user should be aware of and may need to address these issues at a later time. """ type StandardListingWarning implements ListingWarning { """ This array will show a list of one or more key-value pairs providing additional, structured context for the warning. Null values in a name-value pair indicates that no additional information is available on the warning. """ additionalInformation: [NameValuePair!] """ A unique identifier of the warning. Clients can use this code to implement custom logic. """ warningCode: String! """ A human-readable description of the warning, intended to be displayed to an end user. """ warningMessage: String! } """ This error is returned when the start date provided for the **sellerListingSearch** query is after the end date provided for a date range filter. """ type StartDateAfterEndDateError implements SellerListingSearchInputError { """ The provided end date. """ endDate: DateTime! """ The technical description of the error for developers and debugging purposes. """ errorDescription: String! """ A user-friendly suggestion on how to fix the error. This can be displayed to end users to help them correct their input. """ remedy: String! """ The provided start date. """ startDate: DateTime! } """ This type is used to show any errors that occurred during the execution of a mutation or query. """ type StartListingPreviewsCreationError { """ A description of an error that occurred while executing a mutation or query. This field is intended to be a debugging aid for humans. The description is not localized and is subject to change. Do not use these error descriptions for client-side error handling logic. """ errorDescription: String! } """ This is the base type for the **startListingPreviewsCreation** mutation. It contains an array of **externalProducts** that need to be converted into eBay listing previews. """ input StartListingPreviewsCreationInput { """ This array is used to provide details of external products. Product details include title, images, product identifiers, product aspects, category name, and SKU value. In order to successfully identify an external product, send a title or an image, and include other fields such as product id (UPC, ISBN, or EAN). A SKU is optional, but it is highly recommended as it acts as a key to track/identify different external products. """ externalProducts: [ExternalProductDetailsInput!] } """ The base type of the **startListingPreviewsCreation** mutation response. A successful mutation will return the **id** value for the task, and the listing preview results cannot be returned until the task is complete. """ type StartListingPreviewsCreationOutput { """ An array of one or more errors that may have been triggered with the mutation request. This field will be returned as null if there are no errors. """ errors: [StartListingPreviewsCreationError!] """ This base response object should be returned with a successful mutation, but the listing preview results cannot be returned until the task is complete. """ listingPreviewsCreationTask: ListingPreviewsCreationTask } """ This type is used to identify a custom store category in which to list the item. """ type StoreCategory { """ The unique identifier of the eBay Store category. """ id: ID! } """ The input type for submitting a referral (review request) on an order inquiry. Select a reason from **OrderInquiryReferralAction.referralReasons** and provide its machine-readable **code** as **referralReasonCode** (see **PostPurchaseCaseReferralReason.code**). The provided **referralReasonCode** must match a valid **OrderInquiryReferralReason.code**. """ input SubmitOrderInquiryReferralInput { """ The unique identifier of the inquiry for which the referral is being submitted. This must reference a valid inquiry that is eligible for referral. """ inquiryId: ID! """ The machine-readable reason code from a selected **OrderInquiryReferralReason** (see **PostPurchaseCaseReferralReason.code**). """ referralReasonCode: String! } """ This type represents a business error that is returned when one or more validation errors occurs while submitting an order inquiry referral. """ type SubmitOrderInquiryReferralInputValidationError implements BusinessError { """ The unique identifier for this specific error type - `INQRY_SUBMIT_REFERRAL_VALIDATION_ERROR`. """ errorCode: String! """ The human-readable message describing the shipment info input violation. **Maximum length**: 512 characters """ errorMessage: String! """ This array returns details about the specific request violations. """ violations: [SubmitOrderInquiryReferralInputViolation!]! } """ The interface represents input violation(s) detected while evaluating order inquiry referral submission. Each violation indicates that the provided referral input value did not comply with the business rules or constraints defined for submitting the referral. These rules may include: - Missing required referral reason. - Invalid referral reason. """ interface SubmitOrderInquiryReferralInputViolation { """ The machine-readable code identifying the specific referral input violation. """ code: String! """ The human-readable message describing the referral input violation. **Maximum length**: 512 characters """ displayMessage: String! } """ The union type for the **submitOrderInquiryReferral** mutation. This type covers two possible scenarios: success or failure. If the **submitOrderInquiryReferral** mutation succeeds, the referral request will be submitted. If the **submitOrderInquiryReferral** mutation fails, an array of blocking errors detailing why the mutation failed will be returned, and the item commitment will not be created. If a mutation fails, there will always be at least one blocking error. """ union SubmitOrderInquiryReferralOutput = OrderInquiryActionNotPermittedError | OrderInquiryNotFoundError | SubmitOrderInquiryReferralInputValidationError | SubmitOrderInquiryReferralSuccess """ The output type for the **submitOrderInqueryReferral** mutation. """ type SubmitOrderInquiryReferralSuccess { """ The order inquiry for which a referral was successfully submitted. """ orderInquiry: OrderInquiry! } """ This input type defines the payload for the **submitReturnReferral** mutation. This type provides the input for submitting a referral (review request) on an order return. Select a reason from `ReturnReferralAction.referralReasons` and provide its machine-readable `code` as `referralReasonCode` (see `PostPurchaseCaseReferralReason.code`). """ input SubmitReturnReferralInput { """ The machine-readable reason code from a selected `OrderReturnReferralReason` (see **PostPurchaseCaseReferralReason.code**). For example, `REFER_RETURN_TO_EBAY`. """ referralReasonCode: String! """ The unique identifier of the return for which the referral is being submitted. This required field must reference a valid, return eligible, return ID that the user has permission to access. """ returnId: ID! } """ This error type indicates that one or more validation errors occurred while submitting the return referral. """ type SubmitReturnReferralInputValidationError implements BusinessError { """ A machine-readable error code: `RTRN_SUBMIT_REFERRAL_VALIDATION_ERROR` """ errorCode: String! """ A human-readable error message describing the issue. **Maximum length**: 512 characters """ errorMessage: String! """ This array contains details about one or more specific request violations. """ violations: [SubmitReturnReferralInputViolation!]! } """ This interface represents input violations detected during submit return referral request evaluation, such as accepted values or codes (for example, referral reason code). Such constraints are governed by eBay's return policies, and may vary based on context, marketplace, or configuration. """ interface SubmitReturnReferralInputViolation { """ A machine-readable code identifying the specific rule that was violated. """ code: String! """ A human-readable message describing the rule violation. This alphanumeric string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! } """ This base response union type for the **submitReturnReferral** mutation includes the result of a referral submission on an order return and any errors encountered. If successful, the updated return is returned. Otherwise, an error is returned indicating that the return was not found or the referral action was not permitted. """ union SubmitReturnReferralOutput = OrderReturn | ReturnActionNotPermittedError | ReturnNotFoundError | SubmitReturnReferralInputValidationError """ This type is used when subsidiary listing violations occur. Each violation identifies a specific input field or rule that must be corrected before the mutation can be retried successfully. """ type SubsidiaryListingViolation implements ListingValidationRuleViolation { """ A list of name-value pairs that will provide additional structured context about the violation. For example, for a maximum length exceeded violation this might contain \\`{name: "maxLength", value: "80"}\\`, or for an invalid value violation it might contain the list of accepted values. """ additionalInformation: [NameValuePair!] """ A list of one or more dot-notation path strings identifying the input field(s) that caused this violation. For example, a value of \\`["input.title"]\\` indicates the **title** field of the input object failed validation. """ inputPath: [String!]! """ A unique identifier for this violation type. Clients can use this code to programmatically identify and handle specific violations without relying on violation messages, which may change over time. """ violationCode: String! """ A human-readable description of the validation rule violation, intended to be displayed to an end user. This message explains what constraint was violated and what the expected input should be. """ violationDescription: String! } """ This type is used when warnings occur for the mutation. When warnings occur, the operation will still succeed, but the caller should review these warnings as they may indicate data quality issues or configuration mismatches that could affect how the listing appears on eBay. """ type SubsidiaryListingWarning implements ListingWarning { """ A list of name-value pairs that will provide additional structured context about the warning. For example, this might include the field name that triggered the warning or the value that was adjusted. """ additionalInformation: [NameValuePair!] """ A unique identifier for this warning type. Clients can use this code to implement custom logic, such as suppressing known warnings or routing specific warnings to different handlers. """ warningCode: String! """ A human-readable message describing the warning, intended to be displayed to an end user. This message explains what the warning is about and may suggest corrective action. """ warningMessage: String! } """ This enuerated type contains the action values that can be used in an **bulkUpdateItemCommitmentTags** or **bulkUpdateOrderTags** mutation. """ enum TagUpdateAction { """ This enum value is used if the authenticated user wishes to add one or more tags to the existing tag list. """ ADD """ This enum value is used if the authenticated user wishes to delete one or more tags from the existing tag list. """ DELETE } """ This type shows sales tax information for an item in a specific tax jurisdiction """ type TaxInfo { """ This boolean field indicates whether or not the seller wants the sales tax rate for the jurisdiction to apply to the cumulative amount of item cost and shipping charges. This field is only applicable if the **salesTaxPercentage** and **salesTaxJurisdictionId** fields are also set. """ salesTaxApplicableToShipping: Boolean """ The unique identifier of the US territory or a Canadian province that will be charged the sales tax rate specified in the **salesTaxPercentage** field. The supported US territories are `AS` (America Samoa), `GU` (Guam), `MP` (Northern Mariana Islands), `PW` (Palau), and `VI` (US Virgin Islands). The two-letter codes for Canadian provinces can be found here on the [Government of Canada](https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/completing-slips-summaries/financial-slips-summaries/return-investment-income-t5/provincial-territorial-codes.html) website. """ salesTaxJurisdictionId: String """ This field indicates the sales tax rate for the corresponding US territory or a Canadian province. The percentage set here will be applied to sale price as the sales tax for the order line item. This field is only applicable on the US and Canadian marketplaces. """ salesTaxPercentage: Decimal """ This field indicates whether or not the seller has an account level sales tax table set up and wishes to use the sales tax rates set up in that table. If this field is returned as `true`, the values contained in the other sales tax fields (if returned) in this object will be overridden by the values set in the sales tax table. **Default value**: false """ salesTaxTableUsed: Boolean """ A tax exception category code. This field indicates a special category of tax such as a recycling fee or disposal tax. These special tax category codes can only be used by sellers who have opted into sales tax being calculated by a sales tax calculation vendor. """ thirdPartyTaxCategoryCode: String """ The VAT (Value-added Tax) percentage rate that will be charged to buyers when an item is purchased from the listing. VAT is not applicable to all countries, including the US. Allowed VAT percentage rates can vary by region/country, so sellers should be aware of the rates they are legally required/allowed to charge, and they are responsible for charging the correct VAT rate. Only one digit is allowed to the right of the decimal point. """ vatPercentage: Decimal """ This field is returned as `true` if the seller is registered on the listing site as a Business Seller and intends to use listing features that are offered to business users only. This field will always be `true` if the **vatRestrictedToBusinessUser** field is set to `true`. """ vatRecognizedBusinessSeller: Boolean """ This field is returned as `true` if a business seller wishes to make the listing exclusively available to potential buyers registered on eBay as business users. If false (or not returned), this indicates that the seller elects to offer the item to all users. This feature is only applicable to business sellers residing in Germany, Austria, or Switzerland who are listing in a B2B VAT-enabled category on the eBay Germany (DE), Austria (AT), or Switzerland (CH) sites. """ vatRestrictedToBusinessUser: Boolean } """ This type defines the priceline roll up for tax subtotal. """ type TaxSubtotal implements PriceLineRollup { """ The monetary amount of the priceline rollup. This is the monetary value associated with the priceline item group """ amount: AmountSet! """ The human-readable name of the priceline rollup. **Note**: In this context, the name will always be returned as `TAX_SUBTOTAL`. """ name: String! """ This array returns the pricelines that are part of the rollup. """ priceLines: [PriceLine!]! } """ This enum type defines how current usage compares to the configured threshold limit. """ enum ThresholdStatus { """ This value indicates that usage is within the normal operating range. """ NORMAL """ This value indicates that usage has reached or exceeded the configured threshold limit. """ REACHED """ This value indicates that usage is approaching the configured threshold limit. """ WARNING } """ This type is used to provide the aggregation window for bulk data transfer threshold usage. """ type ThresholdWindow { """ This field returns the end date and time of the aggregation window. **Example**: `2026-06-13T00:00:00.000Z` """ aggregationWindowEndsAt: DateTime! """ This field returns the start date and time of the aggregation window. **Example**: `2025-06-13T00:00:00.000Z` """ aggregationWindowStartsAt: DateTime! } """ An RFC-3339 compliant time scalar for representing time-of-day without a date component. **Format**: ISO 8601 time format following RFC-3339 (hh:mm:ss.sssZ or with timezone offset). **Usage**: Used when only the time of day is relevant, independent of the date. **Example**: `14:30:00.000Z` or `10:30:00-04:00` **Note**: At runtime, this scalar converts to **java.time.OffsetTime** objects, preserving timezone information. """ scalar Time """ This type indicates that a participant (buyer or seller) is experiencing communication difficulties with the other party. """ type UnableToReachAgreement implements PostPurchaseCaseReferralReason { """ Machine-readable reason code: `UNABLE_TO_REACH_AGREEMENT`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to specify the number of unanswered questions that a seller has concerning a listing. """ type UnansweredQuestions { """ The integer value in this field indicates how many questions about the listing have yet to be answered by the seller. """ count: Int! } """ This type indicates that cancellation reason is undisclosed to the current viewer. For example, certain cancellations created by eBay do not disclose the actual reason to sellers. """ type UndisclosedCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `UNDISCLOSED`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type represents transactions that use unrecognized or unsupported payment methods. """ type UnknownPaymentMethod implements PaymentMethodType { """ The unique identifier of the payment method code for unknown payments. Value: `UNKNOWN`. """ code: ID! """ The descriptive name of the unknown payment method. """ descriptiveName: String! """ The display name of the unknown payment method. """ displayName: String! } """ This type represents the reason used by the seller when the buyer has not completed payment after the maximum waiting period defined by eBay's policy for resolving unpaid items. For more details, refer to the policy: https://www.ebay.com/help/selling/getting-paid/resolving-unpaid-items-buyers?id=4137 """ type UnpaidContractCancellation implements ContractCancellationReason { """ The unique cancellation reason code for this use case. For this type, the value is `UNPAID_CONTRACT`. """ code: String! """ A human-readable description of the cancellation reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type indicates that a participant (buyer or seller) has not received a response from the other party. """ type UnresponsiveTradingPartner implements PostPurchaseCaseReferralReason { """ Machine-readable reason code: `SELLER_NO_RESPONSE`. """ code: String! """ The human-readable text of the case referral reason. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to show the identifier(s) of an item that failed to be updated with a **bulkUpdateInventory** mutation. An array of one or more violations will be present and an array of non-blocking warnings will also be present if any occurred. """ type UpdateInventoryFailure { """ This object will show either the **listingId** of the item's listing that failed to be updated or the **sku** value of the item. Which of these identifiers is returned depends on which identifier was used in the input to identify the item. """ listingItemIdentifier: ListingItemIdentifier! """ This array will show one or more validation rule violations that prevented the item from being successfully updated. """ violations: [ListingValidationRuleViolation!]! """ This array will show one or more non-blocking validation warnings or issues that occurred during the update operation. **Note**: This array will be returned as empty if no warnings occurred. """ warnings: [ListingWarning!] } """ This type is used to update the price and/or quantity for one to four items in fixed price listings. For each item identified in the array, either the price, the quantity, or both fields must be included. These items can all be separate SKUs in the same multiple-SKU listing, items in four different listings, or a combination of the two. """ input UpdateInventoryInput { """ The new available quantity for the item in the fixed-price listing. If the available quantity for the item is not changing, this field does not need to be included. **Note**: If you are not changing the available quantity, you can include this field with no value, but providing a null value will result in an execution error. """ availableQuantity: Int """ The new 'Buy it Now' price for the item in the fixed-price listing. If the price for the item is not changing, this field does not need to be included. **Notes**: - Up to two digits can be included to the right of the decimal point to indicate the new price, and the price will be in the currency of the listing marketplace. - If you are not changing the price, you can include this field with no value, but providing a null value will result in an execution error. """ fixedPrice: Decimal """ This object is used to identify a specific item to update. An item within a single-SKU listing can be identified with a **listingId** or a **sku** value (if a sku value is defined in the listing). A **sku** value must be used for an item within a multiple-SKU listing. **Note**: Either the **listingId** or **sku** value is used to identify but don't use both. """ listingItemIdentifier: ListingItemIdentifierInput! } """ This type is used to show the identifier(s) of an item that was successfully updated with a **bulkUpdateInventory** mutation. An array of non-blocking warnings will also be present if any occurred. """ type UpdateInventorySuccess { """ This object will show the **listingId** of the item's listing that was successfully updated, and also the **sku** value of the item if the **sku** value was used in the input to identify the item. """ listingItemIdentifier: ListingItemIdentifier! """ This array will show one or more non-blocking validation warnings or issues that occurred during the update operation. **Note**: This array will be returned as empty if no warnings occurred. """ warnings: [ListingWarning!] } """ This type provides details about an error that occurred while updating an item commitment. """ type UpdateItemCommitmentError { """ A user-friendly, non-localized message describing the error. """ displayMessage: String! """ The unique identifier of the error. Below are the five errors that may occur: - `INVALID_INPUT`: This error indicates that the item commitment ID is not recognized. - `NOT_AUTHORIZED`: This error indicates that the item commitment doesn't belong to the authenticated eBay user, so this action cannot be taken. - `VERSION_LOCKED`: This error indicates that the latest version of item commitment is locked, possibly because the item commitment was being modified by another process. With this error, the user can make another attempt to update the item commitment. - `TEMPORARILY_NOT_AVAILABLE`: This error indicates that a system error occurred. This error may occur with a complete failure, and the user can try again after a short period of time. - `DEPENDENCY_TIME_OUT`: — This error indicates that a timeout occurred. With this error, the user can try again after a short period of time. """ errorCode: String! """ The unique identifier of the item commitment that failed to be updated with a mutation. """ inputItemCommitmentId: ID! """ This boolean indicates whether or not the user should retry a mutation to update the corresponding item commitment again. If this field is returned as `true`, the user can make another attempt to update the item commitment. """ retryable: Boolean! } """ This type is used to add or delete an item commitment tag for the corresponding item commitment. """ input UpdateItemCommitmentTagInput { """ The enumeration value here controls whether the provided item commitment tags in the **tags** array are tags to add or delete. The supported values are: - `ADD` - `DELETE` """ action: TagUpdateAction! """ The unique identifier of the item commitment for which one or more tags will be added or deleted. """ itemCommitment: ID! """ This array is used to specify the tag to either add or delete for the corresponding item commitment. **Note**: One tag value per item commitment. Supported values are `acknowledged` and `unacknowledged`. """ tags: [String!]! } """ This type is used to add or modify the starting bid price and/or reserve price for an auction listing. """ input UpdateListingAuctionPriceInput { """ This field is used to add or modify the lowest price at which the seller is willing to sell an item in an auction listing. A small fee is charged to use this feature. If the **reservePrice** field value is not met or surpassed during bidding, the auction will end without a winning bidder. This price must be higher than the **startingBidPrice**. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Notes**: - A Reserve Price can only be lowered in value and not increased, and if there are qualifying bids on the listing or the end time is less than 12 hours away, it can not be changed at all. See the [Setting a reserve price](https://www.ebay.com/help/selling/listings/selling-auctions/reserve-prices?id=4143) help topic for more information on how Reserve Prices work. - If there are no bids in the listing and the end time is more than 12 hours away, you can remove the Reserve Price be including this field and setting its value to `0.0`. """ reservePrice: Decimal """ This field is used to change the starting bid price for an auction listing. The first bid must meet or exceed this value or it will be rejected. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Note**: The starting bid price cannot be changed once a listing has at least one qualifying bid. """ startingBidPrice: Decimal } """ This type is used to make changes to **Best Offer** settings, including enabling or disabling the Best Offer feature, or to add, modify, or remove the auto-accept and auto-reject thresholds. """ input UpdateListingBestOfferTermsInput { """ Include this field to set, modify, or remove the auto-accept threshold price. Best Offers will be automatically accepted by the seller if they meet or exceed the price. For this field to have an effect, the listing category must support the Best Offer auto-accept feature and the corresponding **bestOfferEnabled** field must be included and set to `true`. **Note**: To remove the auto-accept threshold price if one is set up for the listing, included this field and use an empty or null value. """ autoAcceptThreshold: Decimal """ Include this field to set, modify, or remove the auto-decline threshold price. Best Offers will be automatically declined by the seller if the price is at or below this value. For this field to have an effect, the listing category must support the Best Offer auto-decline feature and the corresponding **bestOfferEnabled** field must be included and set to `true`. **Note**: To remove the auto-decline threshold price if one is set up for the listing, included this field and use an empty or null value. """ autoDeclineThreshold: Decimal """ This boolean field is used to enable or disable the Best Offer feature for a fixed-price or auction listing. If set to `true`, the Best Offer feature is enabled, allowing potential buyers to make offers on the item. If set to `false` the Best Offer feature is disabled. **Notes** - For auction listings, the Buy It Now and Best Offer features cannot be used simultaneously. - If Best Offer is enabled for an auction listing, it is automatically disabled as soon as the listing receives a qualifying bid, and any pending offers or counteroffers are invalidated. """ bestOfferEnabled: Boolean } """ This type is used to add or modify the street address for a business entity such as the product manufacturer or responsible person. """ input UpdateListingBusinessEntityAddressInput { """ This field adds or modifies the first line of the entity's street address. **Maximum length**: 180 characters. """ addressLine1: String """ This field adds or modifies the second line of the entity's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. **Maximum length**: 180 characters. """ addressLine2: String """ This field adds or modifies the city of the entity's street address. **Maximum length**: 64 characters. """ city: String """ This field adds or modifies the two letter ISO 3166-1 standard abbreviation of the country of the entity's address. """ country: CountryAlpha2Code """ This field adds or modifies the postal code of the entity's street address. """ postalCode: String """ This field adds or modifies the state or province of the entity's street address. **Maximum length**: 64 characters """ stateOrProvince: String } """ This type is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the product manufacturer or responsible person. At least one of the three fields in this type must be specified for a product manufacturer or responsible person. """ input UpdateListingBusinessEntityContactInput { """ This field is used to specify the entity's URL for their online Contact Us/Support page. **Maximum length**: 250 characters """ contactUrl: HttpOrHttpsUrl """ This field is used to add or modify the entity's email address. **Maximum length**: 180 characters """ email: String """ This field is used to add or modify the entity's phone number. **Maximum length**: 64 characters """ phone: String } """ This type is used to disable or enable a seller's account-level buyer restrictions and/or set or modify a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ input UpdateListingBuyerRestrictionsInput { """ This field can be included and set to `true` if the seller wishes to disable all buyer restrictions (that are set in the seller's account) for the listing, or set to `false` if the seller wishes to have all account-level buyer restrictions to apply to the listing. """ disableBuyerRestrictions: Boolean """ This field is used to set or modify the maximum quantity of items that a single buyer may purchase during the duration of a fixed price listing (single or multiple-variation). The buyer is blocked from the purchase if that buyer is attempting to purchase a quantity of items that will exceed this value. Previous purchases made by the buyer are taken into account. For example, if **quantityLimitPerBuyer** is set to `5` for a listing, and *Buyer1* purchases a quantity of three in a previous sale, *Buyer1* is only allowed to purchase an additional quantity of two in subsequent orders on the same listing. """ quantityLimitPerBuyer: Int } """ This type is used if the seller wishes to make the listing a charitable listing, or if a charity is already set up, it is used to change the charitable organization and/or the donation percentage per sale. """ input UpdateListingCharityInput { """ The unique identifier of the non-profit organization that will benefit from the sale of the item. The [Charity API](https://developer.ebay.com/api-docs/commerce/charity/resources/methods) can be used to retrieve the numeric identifiers for the charities and to find out more about the organization. """ charityOrganizationId: ID """ This field sets the percentage of the purchase price that the seller chooses to donate to the selected non-profit organization for each sale generated by the listing. An integer value is used here with supported values ranging from 10 to 100. Within this range, only increments of 5 can be used, so 15, 20, 25, etc. **Minimum value**: 10 **Maximum value**: 100 """ donationPercentage: Int } """ This type is used to add or modify one or more country-specific product compliance or takeback policies. Up to 6 product compliance policies may be set per country, but only 1 takeback policy may be set per country. """ input UpdateListingCountryPolicyInput { """ The two-letter ISO 3166-1 standard abbreviation for a country that hosts an eBay marketplace, a marketplace to which the corresponding policy or policies apply. The supported values are `GB`, `DE`, `FR`, `IT`, and `ES`. """ country: CountryAlpha2Code! """ This array is used to set or modify one or more country-specific product compliance policy ID values or one takeback policy ID value that will apply to the corresponding country. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used to retrieve all policies defined for a seller's account. **Note**: All country-specific product policies that the seller would like to apply to the corresponding country in the listing must be included in this array, and not just the new policies being added. There can only be one takeback policy per country, so there will only be just one takeback policy ID in this array. """ policyIds: [ID!]! } """ This type is used to add or modify global or country-specific product compliance and/or takeback policies for a listing. """ input UpdateListingCustomPoliciesInput { """ This array is used to add or modify the global product compliance policies (up to 6) that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. The product compliance policies set with this array will apply to all countries where the seller operates. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies should be set with the **regionalProductCompliancePolicies** object instead. **Note**: All global product compliance policies that the seller would like to apply to the listing must be included in this array, and not just the new policies being added. """ productCompliancePolicyIds: [ID!] """ This object is used add or modify the country-specific product compliance policies that will be used for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all product compliance policies defined for a seller's account. Product compliance policies provide buyers with important information and disclosures about products. Country-specific policies may be needed where countries might have special legal/regulatory requirements. For example, if you sell batteries in a country requiring disclosures that apply only to that country, a country-specific product compliance policy could contain this information. If country-specific policies are not needed, use the **productCompliancePolicyIds** array instead. **Maximum number of product compliance policies allowed per marketplace**: 6 (with supported countries being GB, DE, FR, IT, and ES). **Maximum number of product compliance policies allowed per listing**: 30 (6 per country). """ regionalProductCompliancePolicies: UpdateListingRegionalProductCompliancePoliciesInput """ This object is used to add or modify one or more country-specific takeback policies that will be used for a listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The law in some countries may require sellers to take back a used product when the buyer buys a new product but wishes to dispose of it. Each country may only have one specific takeback policy. If a country-specific takeback policy is not needed, one global takeback policy is set with the **takebackPolicyId** field. **Maximum number of take back policies allowed per marketplace**: 1 (with supported countries being GB, DE, FR, IT, and ES). **Maximum number of take back policies allowed per listing**: 5 (1 per country). """ regionalTakebackPolicies: UpdateListingRegionalTakebackPoliciesInput """ This field is used to add, change, or remove the global takeback policy to use for the listing. The [getCustomPolicies](https://developer.ebay.com/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies) method can be used with the **policyTypes** query parameter to retrieve all takeback policies defined for a seller's account. The takeback policy set with this field will apply to all countries where the seller operates. Country-specific policies should be set with **regionalTakebackPolicies** object instead. **Note**: To remove a global takeback policy, include this field and set its value as empty or null. """ takebackPolicyId: ID } """ This type is used to add or modify Energy Efficiency Label related information for such categories as appliances, smart phones, and tablets. Note that these three category types will also need Rating and Range product aspects. See the [Energy efficiency information](https://developer.ebay.com/api-docs/sell/static/inventory/energy-efficiency.html) topic for more information. """ input UpdateListingEnergyEfficiencyLabelInput { """ This field is used to add or modify a brief text-based summary of the information included on the Energy Efficiency Label for a product. The description should be concise and informative, providing key details about the energy efficiency of the product. If this field is provided, the **imageUrl** must also be provided. **Note**: If this field is included, the text in this field will overwrite the text in the current image description if it exists for the listing. **Maximum length**: 280 characters """ imageDescription: String """ This field is used to add or modify the URL to the Energy Efficiency Label image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ imageUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including energy efficiency labels.") """ The URL to the Product Information Sheet image that is applicable to a product. This field is required if an Energy Efficiency Label is provided, and the URL provided must be an eBay Picture Services (EPS) URL using 'https'. The image resource of the **Media API** can be used to upload images to eBay. **Maximum length**: 200 characters """ productInformationSheetUrl: HttpsUrl @deprecated(reason: "Use listingTerms.regulatory.documentsIds field instead to attach documents to a listing, including product information sheets.") } """ This type is used to add or modify an eco-participation fee for item(s) in a listing. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ input UpdateListingExtendedProducerResponsibilityInput { """ This is the fee paid for new items to the eco-organization (for example, *eco-organisme* in France). It is a contribution to the financing of the disposal of the item responsibly. In a multiple-SKU listing, this fee should be specified at the variation level and not in this field. The [getExtendedProducerResponsibilityPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getExtendedProducerResponsibilityPolicies) method can be used to see if a leaf category supports, requires, or recommends eco-participation fees at the listing or variation level. """ ecoParticipationFee: Decimal! } """ This type is used to modify details on how the item will be delivered to the buyer. The data in this object includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. """ input UpdateListingFulfillmentTermsInput { """ This field should be included if the seller wishes to enable or disable digital delivery of an item. A digital delivery item is an item that can be downloaded via a link or delivered to the buyer via email. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see if a leaf category supports digital delivery. """ digitalDeliverySupported: Boolean """ This field can be included if the seller wishes to enable or disable eBay's Global Shipping Program (GSP) to ship items internationally. With GSP, the seller ships the item to eBay's shipping partner, and that shipping partner handles all logistics of the international shipping leg. GSP is only available for listings on the eBay GB (EBAY_GB) marketplace. eBay US (EBAY_US) has a similar program called eBay International Shipping, but there is currently no boolean field associated with this feature. """ globalShippingSupported: Boolean """ This object is used to add or modify information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. Package weight is required when calculated shipping is used, and shipping services generally have dimension and weight restrictions. """ packageSpecifications: UpdateListingShippingPackageSpecificationsInput """ This object is used to modify information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ shippingTerms: UpdateListingShippingTermsInput } """ This type is used to provide a Global Trade Item Number (GTIN) for the item. GTIN is a globally unique identifier for trade items used by companies to identify products. GTINs include UPCs, EANs, and ISBNs. Optionally, eBay will search for a catalog product against a provided GTIN if the **includeEbayProductDetails** field is included and set to `true`. If a matching eBay catalog product is found, the listing will automatically be updated with product details of that catalog product, including product title, product description, product aspects, and stock photo(s). """ input UpdateListingGlobalProductIdentifiersInput { """ This field is used to supply a European Article Number (EAN) for a product. It is a 13-digit barcode standard used internationally for retail product identification. Also known as International Article Number. Some leaf categories may require an EAN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this EAN, include the **includeEbayProductDetails** field and set its value to true. """ ean: ID """ This field is used to supply an International Standard Book Number (ISBN) for a product. It is a unique identifier for books and book-like products. Can be 10 digits (older format) or 13 digits (current format). Some leaf categories may require an ISBN, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this ISBN, include the **includeEbayProductDetails** field and set its value to true. """ isbn: ID """ This field is used to supply a Universal Product Code (UPC) for a product. It is a 12-digit barcode standard used primarily in North America for retail product identification. Some leaf categories may require a UPC, and you can use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see if a leaf category supports or requires this GTIN type. If you wish to search for an eBay catalog product based on this UPC, include the **includeEbayProductDetails** field and set its value to `true`. """ upc: ID } """ This type is used to add or modify hazardous material related information about a product, including pictograms and statements. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend hazardous material information. """ input UpdateListingHazardousMaterialInput { """ This field is used by the seller to add or modify component information for the listing. For example, component information can provide the specific material of Hazmat concern. **Note**: If this field is included, the text in this field will overwrite the current additional info text if it exists for the listing. **Maximum length**: 120 characters. """ additionalInformation: String """ This array is used to add or modify one to four pictogram codes that represent the possible hazard(s) that a product poses. The pictograms that are stated on the product's Safety Data Sheet should be used. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the codes that can be passed into this array. The pictogram(s) that the code(s) represent will be painted on the created listing. **Note**: All pictogram codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. """ pictogramCodes: [ID!] """ This field is used to add or modify the hazardous material signal word for the product. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the strings that can be passed into this array. """ signalWordCode: ID """ This array is used to add or modify one to eight hazardous statement codes that are applicable to the product. These codes map to actual hazardous statement text. Use the [getHazardousMaterialsLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getHazardousMaterialsLabels) method to retrieve the statement codes that can be passed into this array. The hazardous statements that the code(s) represent will be painted on the created listing. **Note**: All statement codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. """ statementCodes: [ID!] } """ The base request type for the **updateListing** mutation. This type is used to add or modify listing details for an active or scheduled eBay listing. The details that can be modified include listing terms and price and quantity information for each item available for sale in the listing. For multiple-SKU listings, the **listingVariations** object will be used to add or modify variation information for a multiple-SKU listing. """ input UpdateListingInput { """ This object is used to identify the listing to be updated. The listing can either be identified with the **listingId** or the SKU value if defined in the listing. """ listingIdentifier: ListingIdentifierInput! """ Use this array in an **updateListing** mutation if you need to update one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. """ listingItems: UpdateListingItemsInput """ This object is used to add or modify any listing terms details for the active or scheduled listing, including payment terms, return policy, fulfillment terms, and more. """ listingTerms: UpdateListingTermsInput """ This object is used to add or modify variation details for an active or scheduled multiple-SKU listing. This object includes details on the available product variations within the listing, and which traits are different for each of these variations. Products in a multiple-SKU listing tend to vary by one or more traits such as color and size, and interested buyers need to select which variation they want to purchase. For example, the `Blue, Large` t-shirt. """ listingVariations: UpdateListingVariationsInput """ This field is used to identify the eBay marketplace where the listing exists. Generally, a listing will remain on the same eBay marketplace. See [`ListingMarketplace`] for list of supported enumeration values. It determines the regional settings, currency, and other marketplace-specific configurations. """ marketplace: ListingMarketplace! """ This object allows a user to run a **updateListing** mutation in validation mode, which means that the listing object will be validated, but a successful mutation will not update a listing. """ options: ListingOptionsInput """ This object is used to add or modify product data for an active or scheduled listing. Product data under this object includes title, description, product aspects, item condition, images, and more. """ product: UpdateListingProductInput } """ This type is used to update the available quantity for a purchasable item. """ input UpdateListingItemAvailabilityInput { """ This field updates the quantity available for an item. For auction listings, this value must always be 1. For a multiple-SKU listing, each item variation can have its own quantity value, allowing sellers to manage inventory for each variation independently. **Note**: For a multiple-SKU listing, the quantity for an item variation can be set to 0 if the SKU is temporarily out of stock, but a seller wishes to retain the variation and restock inventory for that SKU at a later time. """ quantityAvailable: Int! } """ This type is used to add or modify the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input UpdateListingItemCompatibilitiesInput { """ This array is used to add or update the list of compatible vehicles or assemblies through a set of name-value pairs such as *Year*, *Make*, and *Model*. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Max compatibilities allowed on a listing**: 3000 """ itemCompatibilities: [UpdateListingItemCompatibilityInput!] """ This field indicates if the entire compatibility list is to be deleted. If `true`, all existing compatibilities will be removed from the listing's compatibility list. If `false` or omitted, the compatibilities specified in the `itemCompatibilities` will be added or updated in the listing's compatibility list. **Default value**: false """ replaceAll: Boolean } """ This type is used to add or modify the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. """ input UpdateListingItemCompatibilityInput { """ This array is used to add or modify the list of compatible vehicles or assemblies that are compatible with a Parts and Accessory item. The required/applicable names and values are specific to the primary category for the listing, and can be found using the [getCompatibilityPropertyNames](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyNames) and [getCompatibilityPropertyValues](https://developer.ebay.com/api-docs/sell/metadata/resources/compatibilities/methods/getCompatibilityPropertyValues) methods of the **Metadata API**. **Note**: If any changes are being made to the compatibility list, the full set of compatibility property name-value pairs that you wish to be on the listing must be included, and not just the compatibility list data that is being added or modified. **Max number of allowed fitments on the listing**: 3000. **Max compatibility name length**: 65 **Max compatibility value length**: 65 """ compatibilities: [NameValuesPairInput!]! """ The seller can use this field to add or modify compatibility notes pertaining to the parts compatibility being specified. For example, if this compatibility information applies to a vehicle, a seller may use this field to specify the placement of the part on a vehicle or the type of vehicle a part fits. **Note**: If this field is used, the text provided in the field will completely overwrite the current compatibility notes text if it exists for the listing. **Maximum length**: 500 characters. """ compatibilityNotes: String """ This field indicates if the compatibility is to be deleted. If `true`, the compatibility specified by the `compatibilities` will be removed from the listing's compatibility list. If `false` or omitted, the compatibility specified by the `compatibilities` will be added or updated in the listing's compatibility list. **Default value**: false """ removeCompatibilityFromListing: Boolean } """ This type is used to add or modify condition descriptor data (through name-value pairs) for a single graded and ungraded trading card listing in one of the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as 'Near mint or better'. """ input UpdateListingItemConditionDescriptorInput { """ This field can be used to add or modify additional information about a condition descriptor. One example is using this field to specify the **Certification Number** for a graded card. **Note**: If this field is used, the text provided in the field will completely overwrite the current additional information text if it exists for the listing. **Maximum length**: 30 characters """ additionalInformation: String """ This field is used to add or change the alphanumeric identifier of the condition descriptor that maps to the condition descriptor name. The IDs for condition descriptor names can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Condition descriptor names for graded cards include **Grader** and **Grade** (both required) and **Certification Number** (optional), and condition descriptor names for ungraded cards include **Card Condition**. """ name: ID """ This array is used to add or change the alphanumeric identifier of the condition descriptor value that maps to an actual value supported by the condition descriptor. For example, graded cards require **Grader** and **Grade** as condition descriptor names, so the value(s) in this array will show the organization that graded the card and the card's actual grade, which ranges from 1 to 10. The numeric IDs for condition descriptor values can be found by using the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method of the **Metadata API**, passing in the category ID as a filter query parameter. Locate the Condition descriptor name first in the response, and then look for the corresponding values in the **conditionDescriptorValues** array of that response. """ values: [ID!] } """ This type is used to change the condition of the item, to add or modify the condition description for a used item, or to make any changes to the condition descriptor data for a single trading cards listing. """ input UpdateListingItemConditionInput { """ This field is used to add or modify additional details about a non-new item's physical state, including any defects, wear, or other characteristics that affect its condition. This field can be used for all categories except those that require the **conditionDescriptors** array. **Note**: If this field is used, the text provided in the field will completely overwrite the current condition description if one exists for the listing. **Maximum length**: 1000 characters. """ conditionDescription: String """ This array is used to add or modify item condition information (through name-value pairs) for a single graded and ungraded trading card listed in the following categories: *Non-Sport Trading Card Singles (183050)*, *CCG Individual Cards (183454)*, and *Sports Trading Card Singles (261328)*. Graded cards require the **Grader** and the **Grade** descriptors, while ungraded cards require a **Card Condition** descriptor unique to trading cards, such as 'Near mint or better'. **Note**: If any changes are being made to condition descriptor data, the full set of condition descriptor name-value pairs that you wish to be on the listing must be included, and not just the condition descriptor data that is being added or modified. """ conditionDescriptors: [UpdateListingItemConditionDescriptorInput!] """ This field is used to change the item's condition using the numeric identifier for a condition. Supported conditions and the text used to describe the conditions vary by marketplace and leaf category. Use the [getItemConditionPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getItemConditionPolicies) method to get the supported condition IDs and their descriptions for leaf categories. """ conditionId: ID } """ This type is used to modify a specific purchasable item within a listing, allowing you to create, update, or remove them. It includes a unique combination of identifying characteristics such as global identifiers, listing terms, availability, price, and regulatory information requirements. Every listing contains at least one item, providing a unified approach that works transparently across simple single-SKU listings and complex multiple-SKU listing. """ input UpdateListingItemInput { """ This object is used to modify the pricing information or available quantity, and can also be used to add or modify the eco-participation fee (if applicable) for a purchasable item. """ itemTerms: UpdateListingItemTermsInput """ For either a single-SKU or a multiple-SKU listing, this object can be used to add or modify a Global Trade Item Number (GTIN) for a product or an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will overwrite conflicting product details for the active or scheduled listing. For a multiple-SKU listing, the **traits** array will be required if the seller is adding a new variation to the listing. The **traits** array identifies the unique traits of a variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are `Color` and `Size`. For example, a `Blue, Large` shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ product: UpdateListingItemProductInput """ The field indicates whether to delete this variation. If set to true, the variation is removed from the listing. Note that this is only applicable for multiple-SKU listings; for single-SKU listings, the field value is ignored if included. **Default value**: false """ removeItemFromListing: Boolean """ The seller-defined Stock-Keeping Unit (SKU) that uniquely identifies a purchasable item in the listing. When updating a SKU-managed listing, the behavior of this field is conditional. For single-SKU listings, this field is ignored, as the listing is already identified by its SKU. For multiple-SKU listings, you must provide a variation's existing SKU to identify it for modification (e.g. changing its price). To add a new variation, you must assign it a new SKU, and this value must be unique for each variation in the listing. **Important**: For update operations, the presence of a SKU in the item object will cause the listing to be treated as a multiple-SKU (MSKU) listing. **Maximum length**: 50 characters """ sku: String } """ This type is used to update the item's physical location. Item location is required for every listing. The **country** field is always required, and either the **postalCode** or **location** must also be provided, but not necessarily both. """ input UpdateListingItemLocationInput { """ The two-letter country code, as defined in the ISO-3166 standard, must be specified in this field to indicate the country where the item is located. Please keep in mind that the item is often located in the same country as the listing marketplace, but this is not a requirement. """ country: CountryAlpha2Code """ The field indicates the geographic location (city and state/province) where the listing is physically located. If you do not provide a value in this field, you must provide a value in the **postalCode** field and the field value will be derived from the postal code. For the `CLASSIFIED_AD` format for Motor vehicles, the value provided in the field is used as item location only if the **addressLine1** and **addressLine2** fields of the **UpdateListingSellerContactInput** are not provided. If the **addressLine1** and **addressLine2** fields of the **UpdateListingSellerContactInput** are provided, the item location field value is ignored. **Maximum length**: 200 characters """ location: String """ The postal code (zip code) where the listing is physically located. Either the **location** field or the **postalCode** field must be specified or an error will occur. Postal/zip code format varies by region. e.g. US: 5-digit numeric codes (e.g., 12345), Australia: 4-digit numeric codes (e.g., 2000), GB: Variable-length alphanumeric codes with letters and numbers (e.g., SW1A 1AA). Other regions follow local postal service standards. """ postalCode: String } """ This type is used to update price data for an item in a listing, including the price for a fixed price listing or the 'Buy it Now' price for an auction listing. Other price fields include auction reserve price, and other settings related to discount pricing features. """ input UpdateListingItemPricingTermsInput { """ This object is used to add or modify the starting bid price and/or reserve price for an auction listing. """ auctionPrice: UpdateListingAuctionPriceInput """ This field updates the price of a fixed price item or the 'Buy it Now' price for an auction listing. The 'Buy it Now' option is disabled for an auction listing as soon as that listing has a qualifying bid. The price will be in the default currency for the marketplace for this listing. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. **Note**: For update operations, the mapping behavior depends on the presence of auction price object. If only `fixedPrice` is provided (no `auctionPrice` object), it will be treated as a fixed price listing. If `fixedPrice` is provided along with `auctionPrice` object, it will be treated as an auction listing. """ fixedPrice: Decimal """ This object is used to add or modify pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ marketingPrice: UpdateListingMarketingPriceInput } """ This type can be used to add or modify a Global Trade Item Number (GTIN) for a product or add an eBay product ID (ePID). If the ePID is found or if a provided GTIN value is matched to an eBay catalog product, the product details of that product definition will overwrite conflicting product details of the active or scheduled listing. For a multiple-SKU listing, the **traits** array would be needed if the seller wants to add a new variation to an active or scheduled multiple-SKU listing. The **traits** array identifies the unique traits of the variation within that multiple-SKU listing. Common unique traits within a multiple-SKU listing are 'Color' and 'Size'. For example, a 'Blue, Large' shirt. Each item in a multiple-SKU listing must have a unique combination of trait values. """ input UpdateListingItemProductInput { """ This object is used to add or modify a Global Trade Item Number (GTIN) or add an eBay product ID (ePID) for a product. If an eBay catalog product is found that maps to a GTIN or an ePID, product details of that eBay catalog product will be used to update the product details of the active or scheduled listing. The product details in a catalog product include product title, product description, aspects, eBay leaf category, and stock photo. **Note**: If an eBay catalog product is found and used to update a listing, any other product-related details defined in the listing may be dropped. """ productIdentifiers: UpdateListingProductIdentifiersInput """ This array is needed if the seller wants to add a new variation to an active or scheduled multiple-SKU listing. This array is used to provide the traits that make each item unique in context of the multiple-SKU listing. Each item in a multiple-SKU listing must have a unique combination of trait values, and the trait names and trait values specified here must be defined as available trait names and trait values in the **variationDetails** object. An error will be thrown if the specified traits do not match the variation traits defined in the **variationDetails** object. **Notes**: - The trait names and values must match the marketplace's language and locale. - The maximum allowed traits is 5 """ traits: [NameValuePairInput!] } """ This type is used to make updates to an array of one or more purchasable items. A single-SKU listing will only have one item object, while a multiple-SKU listing will have numerous item objects. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-SKU listings will show unique traits that differentiate them from the rest of the variations within the listing. """ input UpdateListingItemsInput { """ This array is used to manage the list of items or variations in the listing, allowing you to create, update, or remove them. For a single-SKU listing, this array must contain exactly one item. For a multiple-SKU listing, it must contain one item for each product variation (e.g. one for "Red / Large", one for "Blue / Small"). **Maximum number of items for a multiple-SKU listing**: 250. """ items: [UpdateListingItemInput!]! } """ This type is used to update quantity and pricing information for a purchasable item, or is also used to provide or update an eco-participation fee if applicable for the item. """ input UpdateListingItemTermsInput { """ This object is used to update the available quantity for a purchasable item. Quantity is required for all purchasable items. """ availability: UpdateListingItemAvailabilityInput """ This object is used to add or modify an eco-participation fee for an item. An eco-participation fee is a mandatory charge designed to fund the recycling and proper disposal of certain products at the end of their lifecycle. Eco-participation fees are one part of the Extended Producer Responsibility regulation enforced in EU countries. """ extendedProducerResponsibility: UpdateListingExtendedProducerResponsibilityInput """ This object is used to update price data for a purchasable item, including the price for a fixed price item or the *Buy it Now* price for an auction item. Other price fields include auction reserve price, and other settings related to discount pricing features. """ pricingTerms: UpdateListingItemPricingTermsInput } """ This type is used to change the duration of the listing, and can also be used to modify the future date when a scheduled listing will become active. """ input UpdateListingLifecycleTermsInput { """ This field is used to change the duration of an active or scheduled listing. All fixed price listings must be set to `GTC`(Good 'til Cancelled), but the listing duration days of auction and ad listings may vary based on marketplace and category. The [getListingTypePolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getListingTypePolicies) method can be used to see supported durations for each leaf category. **Note**: A change to the duration of an active auction listing must be made within two hours of the listing going live, and once an auction has one or more qualifying bids, the duration can't be changed. """ listingDurationInDays: ListingDurationInDays """ This field is used if the user wishes to modify the publish date date of a scheduled listing that has not yet gone active. This field cannot be used for an active listing. The timestamp specified in this field must be a future date. For more information on eBay scheduled listings, see the [Listing durations and timings](https://www.ebay.com/help/selling/listings/creating-managing-listings/selecting-listing-duration?id=4652) help topic. """ scheduledToStartAt: DateTime } """ This type is used to add or modify the radius for a local listing, making it available to buyers within that specified area. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. """ input UpdateListingLocalDistanceInput { """ The numeric value for the radius. The unit of measurement for this value is specified in the **distanceUnit** field. This value defines the radius of the area around the seller's location where the listing will be visible to local buyers. The user can call the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get supported distances. Look for the [localListingDistances](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies#response.motorsListingPolicies.localListingDistances) array in the response. """ distance: Int! """ The unit of measurement used for the **distance**. Currently, the only supported value is `MILES`. """ distanceUnit: DistanceUnit } """ This type is used to add a product manufacturer contact or to update any of the data currently associated with the product manufacturer that is already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ input UpdateListingManufacturerInput { """ This object adds or modifies the street address for the product manufacturer. """ address: UpdateListingBusinessEntityAddressInput """ This field adds or modifies the name of the company that manufactured the product. This field is required if manufacturer information is supplied. **Maximum length**: 100 characters. """ companyName: String """ This object is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the product manufacturer. At least one of the three is required if manufacturer information is supplied. """ contact: UpdateListingBusinessEntityContactInput } """ This type adds or modifies pricing and other settings related to the Minimum Advertised Price, Strikethrough Pricing, or eBay Outlet features. All three of these features are restricted and sellers must qualify to use them. """ input UpdateListingMarketingPriceInput { """ This field is used to set/modify and display the **Made for Outlet** comparison price for a listing, and can only be used if the listing will be displayed on an eBay Outlet page. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ madeForOutletComparisonPrice: Decimal """ This field is used to set/modify the Minimum Advertised Price (MAP) for a listing. MAP is an agreement between suppliers (or manufacturers (OEM)) and the retailers (sellers) stipulating the lowest price a listing is allowed to be advertised at. Sellers can offer prices below MAP by means of other discounts. This only applies to fixed price listings and auction listings with the 'Buy It Now' option. This is a restricted feature that sellers must qualify to use. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ minimumAdvertisedPrice: Decimal """ This field is only applicable for the Minimum Advertised Price feature, and controls whether the discounted price is shown to buyers prior to checkout by the buyer clicking on a link on the View Item page, or the discounted price is shown just prior to checkout when the buyer has clicked the Buy button. See [`ListingMinimumAdvertisedPriceExposure`] for the list of supported enumeration values. """ minimumAdvertisedPriceExposure: ListingMinimumAdvertisedPriceExposure """ This field sets the 'originalRetailPrice' for a listing. This price must be provided if a qualified seller is using the Strikethrough Price feature. The 'originalRetailPrice' price is the actual retail price set by the manufacturer (OEM). The price specified in this field should always be more than the price specified in the **fixedPrice** field. The price format must be according to the marketplace's currency format. See the [Get Currencies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCurrencies) call for more information on the currency format. """ originalRetailPrice: Decimal """ This field is used to change the boolean value of the **soldOffEbay** field, whose default value is 'false' when creating a listing. This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOnEbay** field must be included and set to 'true', and it is acceptable for them both to be included and set to 'true'. Set this field to 'true' if the item was being sold on another e-commerce site at the manufacturer suggested (OEM) retail price. """ soldOffEbay: Boolean """ This field is used to change the boolean value of the **soldOnEbay** field, whose default value is 'false' when creating a listing. This field is only applicable for the Strikethrough Price feature, and is used to indicate whether or not the same item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. If the Strikethrough Price feature is being used, either this field or the **soldOffEbay** field must be included and set to 'true', and it is acceptable for them both to be included and set to 'true'. Set this field to 'true' if the item was being sold on an eBay marketplace at the manufacturer suggested (OEM) retail price. """ soldOnEbay: Boolean } """ This type is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. """ input UpdateListingMotorVehicleDepositInput { """ This field is used to set or modify the due date (in days) for the buyer to pay off the full balance of the motor vehicle. The clock starts on the full payment due date as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The supported values here are `DAYS_3` `DAYS_7`, `DAYS_10`, and `DAYS_14`. """ daysToMakeFullPayment: ListingTimeDuration """ This field sets or modifies the deposit amount to secure the purchase of a motor vehicle. This field is required if the seller is requiring a deposit. This deposit must be made immediately by the buyer if **immediatePay** is set to 'true', or within 24, 48, or 72 hours (set with **hoursToDeposit** field) if **immediatePay** is set to 'false'. **Maximum value**: 2000 USD (non-immediate pay), 500 USD (immediate pay) """ depositAmount: Decimal """ This boolean field is included and set to 'true' if the seller requires a deposit to secure the purchase of a motor vehicle. **Note**: If a motor vehicle deposit is currently required for the motor vehicle listing, but the seller wants to disable, the field can be included and set to 'false'. """ depositRequired: Boolean """ This field is used to set the deadline (in hours) for the motor vehicle deposit. The deposit amount is specified in the **depositAmount** field. The clock starts on the deposit deadline as soon as the buyer commits to buying the vehicle by clicking the 'Buy It Now' button, by winning the auction, or by the seller accepting that buyer's Best Offer/counteroffer. The three supported integer values here are 24, 48, and 72 (hours). If **immediatePay** is 'true', and the listing qualifies for immediate payment (e.g. the 'Buy It Now' button is used), this field will not be applicable, since the buyer will be required to pay any deposit amount immediately (and not within 24, 48, and 72 hours). """ hoursToDeposit: Int } """ This type is needed for motor vehicle listings to provide the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ input UpdateListingMotorVehicleIdentifierInput { """ This field is used to add or change the Vehicle Identifier Number (VIN) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vin: ID """ This field is used to add or change the Vehicle Registration Mark (VRM) of the motor vehicle that is to be sold. The VIN or the VRM IDs are needed for motor vehicle listings. """ vrm: ID } """ This union type is used to represent the possible outcomes of the **updateListing** mutation. Three possible results of a **updateListing** mutation are: a listing object (and possibly one or more warnings); a listing object with validation success and possibly one or more warnings; or an array of blocking errors if the mutation fails and the listing is not updated. If a mutation fails, there will always be at least one blocking error, and there may also be one or more warning messages that are triggered. """ union UpdateListingOutput = UpdateListingSuccess | UpdateListingValidationError | UpdateListingValidationSuccess """ This type is used to override the shipping costs for one or more domestic or international shipping service options defined in the fulfillment business policy being used for the listing. The shipping costs provided will only affect the listing and will not update the fulfillment business policy. """ input UpdateListingOverrideShippingOptionInput { """ This field is used to override the additional unit shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost when a buyer is purchasing multiple quantities of the same line item. Note that this value should never be higher than the base shipping cost. **Note**: If the additional shipping cost of the corresponding shipping service was already overriding the cost set up in the fulfillment business policy, the dollar value supplied here will replace that value. """ additionalUnitShippingCost: Decimal """ This field is used to specify if the shipping service option identified through the corresponding **rank** field is a shipping service. The value of this field should be set to 'false' if the shipping service is a domestic shipping service, and 'true' if it is an international shipping service. **Default value**: false """ internationalShippingOption: Boolean = false """ The integer value specified here identifies the shipping service in the fulfillment business policy whose cost value(s) will be overridden. This should be a positive integer from 1 to 4 if overriding a shipping service option that ships within the marketplace or from 5 to 9 if overriding an shipping service option that ships outside of the marketplace. A rank value of '1' means it is the first shipping option displayed in the View Item page. """ rank: Int! """ This field is used to override the shipping cost set in the fulfillment business policy for the shipping service option identified through the corresponding **rank** field. The dollar value supplied here will be used when calculating the total shipping cost for the line item. **Note**: If the shipping cost of the corresponding shipping service was already overriding the cost set up in the fulfillment business policy, the dollar value supplied here will replace that value. """ shippingCost: Decimal } """ This type is used to add or modify the dimensions of the shipping package according to the unit of measurement applicable to the marketplace. When specifying the dimensions of the shipping package, all three values (length, width, and height) are required. The precision of the dimension values is up to two decimal places. """ input UpdateListingPackageDimensionsInput { """ The height (or depth) of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ height: Float """ The length of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ length: Float """ The width of the shipping package according to the unit of measurement applicable to the marketplace. For English measurement system, the supported unit of measurement is inches. For Metric measurement system, the supported unit of measurement is centimeters. The precision of the dimension values is up to two decimal places. **Minimum value**: 0.1 **Maximum value**: As allowed by the selected shipping service """ width: Float } """ This type is used to add or modify the weight of the shipping package according to the unit of measurement applicable to the marketplace. The weight of the shipping package is required when the listing is using the calculated shipping cost type. For English measurement system, the supported unit of measurement is pounds for **majorUnit** and ounces for **minorUnit**. For Metric measurement system, the supported unit of measurement is kilograms for **majorUnit** and grams for **minorUnit**. """ input UpdateListingPackageWeightInput { """ The major weight value of the shipping package according to the unit of measurement applicable to the marketplace. The major weight value is the whole number part of the weight. For English measurement system, the supported unit of measurement for **majorUnit** is pounds. For Metric measurement system, the supported unit of measurement for **majorUnit** is kilograms. **Note**: If the package weighs less than one pound or one kilogram, *0* can be used as the value for this field. **Minimum value**: 0 **Maximum value**: As allowed by the selected shipping service """ majorUnit: Int """ The minor weight value of the shipping package according to the unit of measurement applicable to the marketplace. The minor weight value is the decimal part of the weight. For English measurement system, the supported unit of measurement for **minorUnit** is ounces. For Metric measurement system, the supported unit of measurement for **minorUnit** is grams. **Minimum value**: 0 **Maximum value**: 15 for English measurement system (ounces); 999 for Metric measurement system (grams). """ minorUnit: Int } """ This type is used to modify various payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This object also has a **businessPolicyId** field that is used to associate a payment business policy with the listing. """ input UpdateListingPaymentTermsInput { """ This field is used to add or change a payment business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all payment settings are configured in the business policy instead. The [getPaymentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/payment_policy/methods/getPaymentPolicies) method can be used to retrieve all payment business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This field is included to enable or disable the immediate payment requirement for fixed price listings and auction listings where the 'Buy it Now' option is used. **Note**: This field is not applicable if the seller is using business policies. """ immediatePay: Boolean """ This object is used when the seller requires a deposit to secure the purchase of a motor vehicle. The settings under this object include the amount of the deposit, when the deposit is due, and when the full payment of the motor vehicle is due. **Note**: This object is not applicable if the seller is using business policies. """ motorVehicleDeposit: UpdateListingMotorVehicleDepositInput """ This field is used if the seller wants to add or modify instructions related to payment. **Notes**: - If this field is included, the text provided will overwrite existing payment instructions if defined in the listing. - This field is not applicable if the seller is using business policies. **Maximum length**: 500 characters. """ paymentInstructions: String """ This array is used to modify the list of offline payment methods for listings that support offline transactions. Use the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method to see the payment methods supported for a leaf category. **Notes**: - The full list of payment methods must be included in the array, and not just the new ones that are being added. - This array is not applicable if the seller is using business policies. """ paymentMethods: [ListingPaymentMethod!] } """ This type is used to add or modify the primary eBay category for the listing, and optionally, add or modify a secondary eBay category and/or eBay store categories. If a seller has an eBay store and does not specify a store primary category ID, eBay will automatically put that listing into the default *Other* category in the seller's eBay store. """ input UpdateListingProductCategoriesInput { """ This field is used if the seller wishes to change the eBay primary category of the listing. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. **Note**: If the eBay primary category is being changed, it is recommended that the user check to see if the optional, recommended, and required aspects are different for that new category and to make adjustments as needed. """ primaryCategoryId: ID """ This field is used if the seller wishes to add or change the eBay secondary category of the listing. The [getCategoryTree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategoryTree) or [getCategorySubtree](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getCategorySubtree) methods of the [Taxonomy API](https://developer.ebay.com/api-docs/sell/taxonomy/resources/methods) can be used to retrieve leaf category IDs. The **leafCategoryTreeNode** boolean field indicates which categories are leaf categories. """ secondaryCategoryId: ID """ This field is used if the seller wishes to change the eBay store primary category of the listing. If this field was not specified during the original creation of the listing, the listing is placed in the default *Other* category of the seller's eBay store. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storePrimaryCategoryId: ID """ This field is used if the seller wishes to add or change the eBay store secondary of the listing. This field is optional, but if specified, it must be a valid eBay store category ID. The [getStoreCategories](https://developer.ebay.com/api-docs/sell/stores/resources/store/methods/getStoreCategories) method of the [Stores API Overview](https://developer.ebay.com/api-docs/sell/stores/overview.html) can be used to retrieve the unique store category IDs for the seller. **Note**: eBay Stores can have up to three levels of store categories. Listings must only be placed in a store's terminal categories. """ storeSecondaryCategoryId: ID } """ This type is used to add or modify a Global Trade Item Number (GTIN) or an eBay product ID (ePID), and eBay will attempt to match to and leverage the product details of a product defined in eBay's product catalog. The user can directly provide the identifier of the eBay catalog product, or they can provide a GTIN value that can possibly be matched to an eBay catalog product. When an eBay catalog product is used, the product title, product description, item specifics, and stock photo defined for that product will update the active or scheduled listing. """ input UpdateListingProductIdentifiersInput { """ The unique identifier of an eBay catalog product. If this field is provided, the title, description, item specifics, and stock photo defined for that eBay product will be used in the resultant listing, overriding the seller provided information. The [search](https://developer.ebay.com/api-docs/commerce/catalog/resources/product_summary/methods/search) method of the **Catalog API** can be used to search for eBay catalog products and get their IDs. """ ebayProductId: ID """ This object is used to add or modify a UPC, EAN, or ISBN value for a product, and optionally, try to match the value to an eBay catalog product so that the product details of that catalog product will be used to update an active or scheduled listing. """ globalIdentifiers: UpdateListingGlobalProductIdentifiersInput """ This field controls whether or not an eBay catalog product is leveraged to update a listing with that catalog product's details, including product title, product description, item specifics, and stock photo. If you want to use an eBay catalog product to update your listing, you can either set this field to true or omit it entirely, as true is the default value. If you provide a GTIN (Global Trade Item Number) or eBay Product ID but do not want to use the corresponding eBay catalog product to update your listing, you must set this field to false. **Default value**: true """ includeEbayProductDetails: Boolean } """ This type is used to add or modify common product details for the listing, including title, description, listing category, condition, product aspects, images, and more. """ input UpdateListingProductInput { """ This array is used to update the existing set of name-value pairs that define the product aspects. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/sell/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method can be used to see which aspects are required, recommended, or optional for a leaf category. This method also returns typical values for an aspect name and will indicate if an aspect name supports multiple values or just one value. For a multiple-SKU listing, only the common aspects will be specified in this array, and the pivoting aspects (aka traits) will be specified at the item level. **Note**: If any changes are being made to product aspects, the full set of aspect name-value pairs that you wish to be on the listing must be included, and not just the aspects that are being added or modified. **Maximum value**: 65 characters for each aspect name and value """ aspects: [NameValuesPairInput] """ This object is used to change the primary eBay category for the listing, and optionally, add or modify a secondary eBay category and/or eBay store categories. """ categories: UpdateListingProductCategoriesInput """ This field is used to update the listing description. HTML markup and inline CSS can be used. However, a seller can not use any active content in their listing description. Active content includes animation or video via JavaScript, Flash, plug-ins, or form actions. All active content will be blocked/removed from a listing. Sellers are only allowed to provide links to product videos, freight shipping services, or other legally required information, and when providing these links in the listing description, the secure 'https' protocol must be used instead of 'http'. In addition, any valid links to sites outside of eBay should use the target="_blank" attribute in the a href tag so a new browser window will be loaded when the link is clicked instead of buyers being redirected off of eBay. **Note**: If this field is used, all text provided in this field will completely overwrite the current listing description. **Maximum length**: 500,000 characters (including all markup tags/CSS) """ description: String """ This array is used to update the list of image URLs that will become photos in the listing's photo gallery. Most eBay categories support up to 24 photos per listing at no extra charge. The URLs used in this array must use 'https'. Either all eBay Picture Services (EPS) or all self-hosted picture URLs may be used in this array, but not a combination of both. **Notes**: - The full set of image URLs that you wish to be images in the listing must be included, and not just the images that are being added. - Most categories allow up to 24 images per listing """ imageUrls: [HttpsUrl!] """ This object is used to change the condition of the item, to add or modify the condition description for a used item, or to make any changes to the condition descriptor data for a single trading cards listing. """ itemCondition: UpdateListingItemConditionInput """ This object is used to add or update the list of motor vehicles or assemblies that are compatible with a Parts & Accessories item. This structured compatibility information helps buyers filter and find parts that are compatible with their specific vehicles. Year, Make, and Model are typical aspects used to identify a motor vehicle. **Note**: The maximum number of compatible vehicles allowed on a listing is 3000. """ listingCompatibilities: UpdateListingItemCompatibilitiesInput """ This object is needed for motor vehicle listings and is used to add or change the Vehicle Identification Number (VIN) or the Vehicle Registration Mark (VRM) for the motor vehicle. """ motorVehicleIdentifier: UpdateListingMotorVehicleIdentifierInput """ This field is used to update the product title displayed on the listing. If this field is used, the text in this field will overwrite the current listing title. **Maximum length**: 80 characters """ title: String """ This array is used to add or replace a seller's video to the listing. A unique identifier for a seller's video is passed into this array to add a product video to the listing. Although a video can be added to a listing before it is in the `LIVE` state, the video won't be available for viewing in the listing until it does reach this state. To know more about the video upload process and various states for a video, see the [Media API documentation](https://developer.ebay.com/api-docs/sell/media/overview). To retrieve metadata on a video, the **videosByIds** query can be used. **Notes**: - Currently, only one video may be added to each listing. - If a video is already associated with a listing, but a new video ID is passed into this field, that video will replace the current one. To remove the current video and not add a new one, include this array as empty and the current video will be removed. """ videoIds: [ID!] } """ This type is used to add or modify product safety information for an item, including product safety statements and pictograms. The [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method can be used to see which leaf categories require or recommend product safety information. """ input UpdateListingProductSafetyInput { """ This free-form text field is used to add or modify additional product safety information that goes beyond what is expressed through the pictogram(s) and/or safety statements. **Notes**: - This field cannot be used without the **pictogramCodes** and/or **statementCodes** arrays. - If this field is included, the text in this field will overwrite the current additional info text if it exists for the listing. **Maximum length**: 120 characters """ additionalInformation: String """ This array is used to add or modify one to four product safety pictogram codes, and if successful, the pictogram(s) associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes, and this method will also return the URLs to the pictograms so that these pictograms can be previewed before adding them to a listing. **Note**: All pictogram codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. """ pictogramCodes: [ID!] """ This array is used to add or modify one to eight product safety statement codes, and if successful, the safety statements associated with these codes will be displayed on the View Item page. The [getProductSafetyLabels](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getProductSafetyLabels) method can be used to get these codes and the safety statements associated with them. **Note**: All statement codes that the seller wishes to associate with the listing should be included in this array, and not just the new ones that are being added. """ statementCodes: [ID!] } """ This type is used to attach one or more (up to 6) country-specific product compliance policies. """ input UpdateListingRegionalProductCompliancePoliciesInput { """ This array is used to add or modify one or more country-specific product compliance policies. **Note**: All country-specific product compliance policies that the seller wants to be attached to the listing should be included in this array, and not just any new ones that are being added. """ countryPolicies: [UpdateListingCountryPolicyInput!]! } """ This type is used to add or change country-specific takeback policies. Each country may only have one specific takeback policy. """ input UpdateListingRegionalTakebackPoliciesInput { """ This array is used to specify a country-specific takeback policy. Each country may only have one country-specific takeback policy. **Note**: All country-specific takeback policies that the seller would like to apply to the listing must be included in this array, and not just the new policies being added. """ countryPolicies: [UpdateListingCountryPolicyInput!]! } """ This type is used to add or modify various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ input UpdateListingRegulatoryInput { """ This array is used to attach one or more (up to 10) documents to the listing using their unique identifiers. The **Media API** is used to upload documents to a seller's account. See the [DocumentTypeEnum](https://developer.ebay.com/api-docs/commerce/media/types/api:DocumentTypeEnum) type of the **Media API** for the full list of supported document types. **Note**: The document ID values for all documents that the seller would like to attach to the updated listing must be included in this array, and not just the new ones that are being added. """ documentIds: [ID!] """ This object is used to add or modify Energy Efficiency Label related information for such category types as appliances, smart phones, and tablets. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend Energy Efficiency Label information. """ energyEfficiencyLabel: UpdateListingEnergyEfficiencyLabelInput """ This object is used to add or modify hazardous material related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend hazardous material information. """ hazardousMaterial: UpdateListingHazardousMaterialInput """ This object is used to add a product manufacturer contact or to update any of the data currently associated with the product manufacturer that is already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide product manufacturer information in their eBay listings. """ manufacturer: UpdateListingManufacturerInput """ This object is used to add or modify product safety related information about a product, including pictograms and statements. Use the [getRegulatoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getRegulatoryPolicies) method to see which leaf categories require or recommend product safety information. """ productSafety: UpdateListingProductSafetyInput """ This field is used to add or modify the manufacturer's repair index score for a product. This value should be between 0.1 (extremely difficult to fix) to 10 (extremely easy to fix). A maximum of one digit to the right of the decimal point may be used. 0 or 0.0 should never be used as values as this would indicate that the product is not repairable. **Minimum value**: 0.1 **Maximum value**: 10.0 """ repairIndexScore: Float """ This array is used to add one or more (up to 5) responsible person contacts or to update any of the data currently associated with one or more of the responsible person entities that are already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide either the product manufacturer or responsible person(s) contact information in their eBay listings. This array is only necessary if the product manufacturer contact is not based in an EU country. **Note**: If the listing already has one or more responsible persons defined, all current data must be included in the array, even the data that is not changing. """ responsiblePersons: [UpdateListingResponsiblePersonInput!] } """ This type is used to add one or more responsible person contacts or to update any of the data currently associated with one or more of the responsible person entities that are already defined in the listing. As a part of General Product Safety Regulation (GPSR) requirements, sellers operating in, or shipping to EU-based countries or Northern Ireland are conditionally required to provide either the product manufacturer or responsible person(s) contact information in their eBay listings. """ input UpdateListingResponsiblePersonInput { """ This object is used to add or modify a street address for a responsible person. """ address: UpdateListingBusinessEntityAddressInput """ This field is used to add or modify the company name associated with the responsible person. **Maximum length**: 100 characters """ companyName: String! """ This object is used to add or modify the phone number, email address, and/or the Contact/Support page URL for the responsible person. At least one of the three is required if a responsible person is supplied. """ contact: UpdateListingBusinessEntityContactInput """ This array is required for each responsible person specified, and the only allowed value is `EU_RESPONSIBLE_PERSON`. **Max number of person types allowed**: 1. """ personTypes: [String!]! } """ This object is used to add or modify a domestic return policy or an international return policy (if the seller ships internationally) that is to be used for the listing. This object also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. """ input UpdateListingReturnTermsInput { """ This field is used to add or change a return business policy to use for the listing. If this field is used, none of the other fields in this object should be used since all return policy settings are configured in the business policy instead. The [getReturnPolicies](https://developer.ebay.com/api-docs/sell/account/resources/return_policy/methods/getReturnPolicies) method can be used to retrieve all return business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID """ This object is used to modify the seller's domestic return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Notes**: - If the listing only has a domestic return policy set up, but the item is shipped internationally, the settings in this object will also apply to international returns. - This object is not applicable if the seller is using business policies. """ domesticReturnTerms: UpdateListingReturnTermsOptionsInput """ This object is used to add or modify the seller's international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. **Note**: This object is not applicable if the seller is using business policies. """ internationalReturnTerms: UpdateListingReturnTermsOptionsInput """ This free-form text field is used to add or modify details about a seller's return policy. Currently, this field is only supported on the EBAY_DE, EBAY_AT, EBAY_FR, EBAY_IT, and EBAY_ES marketplaces. **Notes**: - If this field is included, the text provided will overwrite existing return instructions if defined in the listing. - This field is not applicable if the seller is using business policies. **Maximum length**: 8000 (for EBAY_DE, EBAY_AT); 5000 (for EBAY_FR, EBAY_IT, EBAY_ES) """ returnInstructions: String } """ This type is used to add or modify the seller's domestic or international return policy for a listing, which includes whether or not the seller accepts returns for the item and the duration of the return period. """ input UpdateListingReturnTermsOptionsInput { """ This field specifies the refund method that will be used if the buyer returns the item. This field must be included if the seller accepts returns for the item. Currently, the only supported value for this field is `MONEY_BACK`. **Note**: Although `MONEY_BACK_OR_REPLACEMENT` is defined in the schema, replacement items are not currently supported in Returns flow, so `MONEY_BACK` is the only option. """ refundMethod: ListingRefundMethod """ This field is used to indicate whether or not the seller accepts returns for the item. This field set to 'true' if the seller accepts returns for the item or 'false' if the seller does not accept returns for the item. """ returnAccepted: Boolean """ This field specifies the amount of time the buyer has to return an item. The return duration begins when the item is marked 'delivered' at the buyer's specified ship-to location. This field must be included if the seller accepts returns for the item, and sets the number of days that a buyer has to return the item for a full refund. Supported values are `DAYS_14`, `DAYS_30`, and `DAYS_60`. The supported return periods can vary by category (with `DAYS_14` limited to just a few categories), and the [getReturnPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getReturnPolicies) method of the **Metadata API** can be used to see the supported return periods for a category. """ returnDuration: ListingTimeDuration """ This field specifies either the buyer or the seller as the party who pays for return shipping charges. This field must be included if the seller accepts returns for the item, and specifies the person responsible for return shipping costs if the item is returned due to a buyer remorse. See [`Invoicee`] for the list of supported enumeration values. The seller is always responsible for return shipping costs when an item is being returned due to a Significantly not as described (SNAD) issue. """ returnShipmentInvoicee: Invoicee } """ This type is used to specify the days and times when a seller may be contacted regarding a classified ad listing. This object is used by the **primarySellerContactHours** and **secondarySellerContactHours** objects and the days specified here should not overlap between the two. """ input UpdateListingSellerContactHoursInput { """ This field can be included and set to 'true' if the seller is available the full 24 hours on the days specified through the **supportOnDays** field. If this field is set to 'true', the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ anyTime: Boolean """ This field is used to indicate the end time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursEndAt** value should always be later than the **supportHoursStartAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursEndAt: Time """ This field is used to indicate the start time of support hours for the days specified through the **supportOnDays** field. Military time should be used here and times should be on the hour or half hour (e.g. 9:00, 9:30, etc.). The **supportHoursStartAt** and **supportHoursEndAt** fields are always used together and the **supportHoursStartAt** value should always be earlier than the **supportHoursEndAt** value. **Note**: If the **anyTime** is set to `true`, the **supportHoursStartAt** and **supportHoursEndAt** fields should not be used. """ supportHoursStartAt: Time """ This field is used to specify the block of days that the support hours will apply to. See [`ListingDaysCode`] for the list of supported enumeration values. """ supportOnDays: ListingDaysCode } """ This type is used for classified ad listings, and provides contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ input UpdateListingSellerContactInput { """ The first line of the street address of the seller. """ addressLine1: String """ The second line of the seller's street address. This field is not always used, but can be used for secondary address information such as 'Suite Number' or 'Apt Number'. """ addressLine2: String """ This field is used to indicate whether potential buyers can contact the seller via email. A value of 'true' in this field indicates that potential buyers can contact the seller of the listing via email. """ contactByEmailEnabled: Boolean """ Two-letter [ISO 3166 Country Codes](https://www.iso.org/iso-3166-country-codes.html) to indicate which country the seller is located. """ country: CountryAlpha2Code """ The county where the seller resides. """ county: String """ The seller's phone number. """ phone: String """ This object is used to add or modify the seller's primary support days and hours. This will generally be used to show support hours on weekdays. This object should always be provided to let potential buyers know when the seller may be contacted. """ primarySellerContactHours: UpdateListingSellerContactHoursInput """ This object is used to provide the seller's secondary support days and hours. This will generally be used to show support hours on weekends if the support hours vary on weekends. """ secondarySellerContactHours: UpdateListingSellerContactHoursInput } """ This type is used to modify information on domestic and international shipping, including the shipping cost type used (flat vs. calculated) and the shipping service options available to ship the item. There is also a field to add or change a shipping rate table to use against the listings and fields to add or change a shipping discount. """ input UpdateListingShippingOptionsInput { """ This field is included to add, change or remove a specific flat or calculated shipping discount for the listing. The numeric identifier for the shipping discount is passed into this field. The [GetShippingDiscountProfiles](https://developer.ebay.com/devzone/xml/docs/Reference/eBay/GetShippingDiscountProfiles.html) call can be used to retrieve the numeric IDs of the shipping discounts defined for the seller's account. The shipping cost type must match the shipping discount type being enabled or the shipping discount will not be active in the listing. **Note**: To remove the existing combined shipping rule, include this field and leave value as empty. """ combinedShippingRuleId: ID """ This field is used to change the shipping cost type for locations within marketplace and outside of marketplace shipping. Note that all of the specified shipping services should support the shipping cost type specified here. **Note**: To specify local pick only option for listings, set this field to `NOT_SPECIFIED`. """ costType: ListingShippingType """ This field is included to add, modify, or remove a flat-rate handling cost for shipping. This cost is in addition to whatever the final shipping cost is based on the buyer's location and selected shipping service option. **Note**: To remove the existing package handling cost, include this field and set value to `0.0`. """ packageHandlingCost: Decimal """ This field is used to enable or disable a seller's promotional shipping discount for the listing. A seller can only have one promotional shipping discount active on a marketplace. The [getCombinedShippingRules](https://developer.ebay.com/api-docs/sell/account/v2/resources/combined_shipping_rules/methods/getCombinedShippingRules) method can be used to retrieve the details of the promotional shipping discount, and the [createPromotionalShippingRule](https://developer.ebay.com/api-docs/sell/account/v2/resources/combined_shipping_rules/methods/createPromotionalShippingRule) or [updatePromotionalShippingRule](https://developer.ebay.com/api-docs/sell/account/v2/resources/combined_shipping_rules/methods/updatePromotionalShippingRule) methods can be used to add/modify the promotional shipping discount. """ promotionalShipping: Boolean """ This field is included to add, change or remove a location within marketplace and outside of marketplace shipping rate table for the listing. Shipping rate tables let sellers customize flat-rate shipping costs based on buyer's location and selected shipping service level. The numeric identifier for the shipping rate table is passed into this field. The numeric IDs for a seller's shipping rate tables can be retrieved with the [getRateTables](https://developer.ebay.com/api-docs/sell/account/resources/rate_table/methods/getRateTables) method, and details on a specific shipping rate table can be retrieved with the [getRateTable](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/getRateTable) method. The [updateShippingCost](https://developer.ebay.com/api-docs/sell/account/v2/resources/rate_table/methods/updateShippingCost) method can be used to modify the shipping costs for a shipping rate table. **Note**: The shipping cost type must be set to flat-rate to use a shipping rate table. **Note**: To remove the existing shipping rate table, include this field and leave value as empty. """ shippingRateTableId: ID } """ This type is used to add or modify information about the shipping package that will be used to ship the item, and includes package type, weight, and dimensions. """ input UpdateListingShippingPackageSpecificationsInput { """ This field should be included if the seller wants to mark the shipping package as irregular size or if the seller wishes to undo this setting. A shipping carrier may charge additional handling fees for an irregular package. """ irregularPackage: Boolean """ The measurement system used by the marketplace for the package dimensions and weight. If the value is not supplied, the default measurement system for the marketplace will be used. See [`MeasurementSystem`] for the list of supported enumeration values. """ measurementSystem: MeasurementSystem """ This object is used to add or modify the dimensions of the shipping package. """ packageDimensions: UpdateListingPackageDimensionsInput """ This field is used to change the type of package used to ship the item. See [`ListingPackageType`] for the list of supported enumeration values. """ packageType: ListingPackageType """ This object is used to add or modify the weight of the shipping package. The weight of the shipping package is required when the listing is using the calculated shipping cost type. """ packageWeight: UpdateListingPackageWeightInput } """ This type is used to modify the list of domestic or international shipping service options that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. """ input UpdateListingShippingServiceInput { """ This field adds or modifies the flat-rate shipping cost to ship each additional unit of the item using the corresponding shipping service. This field is required for multiple-quantity, fixed price listings using flat-rate shipping. The cost specified in this field must be the same or lower than the cost specified in the **shippingCost** field, with the idea being that multiple quantities of the line item might be shipped in the same shipping package, decreasing the per-unit cost for shipping. """ additionalUnitShippingCost: Decimal """ This array is used to add or modify the list of geographical regions or individual countries that the corresponding international shipping service operates in. **Note**: The full list of shipping locations must be included with each update operation, and not just the ones that are being added. """ includedShipToLocations: [ListingShippingLocationInput!] """ The integer value specified here controls the order in which the corresponding shipping service will be displayed in the View Item page. This should be a positive integer from 1 to 4 for a shipping service that ships within the marketplace or from 5 to 9 for a shipping service that ships outside of marketplace. A rank value of '1' means it is the first shipping option displayed in the View Item page. If this field is not used, the rank and hence order of the shipping services will depend on the order they are specified under the **shippingServices** array. """ rank: Int """ This field adds or modifies the flat-rate shipping cost to ship one unit of the item using the corresponding shipping service. This field is required for each shipping service if flat-rate shipping is being used. This field must still be included and set to '0.0' if the corresponding shipping service is offered free of charge to the buyer. """ shippingCost: Decimal """ This field identifies the domestic or international shipping service and is required for each specified shipping service. Use the [getShippingServices](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices) method to retrieve the full list of domestic and international shipping services supported on a marketplace. The enumeration values representing each shipping service option are returned in the [shippingServices.shippingService](https://developer.ebay.com/api-docs/sell/metadata/resources/shipping:marketplace/methods/getShippingServices#response.shippingServices.shippingService) fields of the **getShippingServices** response. """ shippingServiceCode: ID } """ This type is used to modify information about where the item can be shipped, the shipping cost type, the shipping services offered, the handling time, applicable shipping discounts, and more. """ input UpdateListingShippingTermsInput { """ This object is used to add or change the fulfillment business policy to use for the listing and/or to override the shipping costs for one or more shipping service options defined in the shipping business policy. If this object is used, none of the other fields in this object should be used since all shipping settings are configured in the business policy instead. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all fulfillment business policies defined for a seller on an eBay marketplace. """ businessPolicy: UpdateShippingBusinessPolicyInput """ This field is only applicable to motor vehicle listings and indicates if the buyer is responsible for shipping or picking up the purchased vehicle. **Note**: This field is not applicable if business policies are being used by the seller. """ buyerResponsibleForShipping: Boolean """ This array is used to add or modify locations where the seller will not ship the item. The values specified in this array can be continents, geographical regions, countries, or special locations within the marketplace. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Notes**: - The entire array of excluded shipping locations must be included for an update, and not just locations that are being added. - This array is not applicable if business policies are being used by the seller. """ excludedShipToLocations: [ListingShippingLocationInput!] """ This field indicates how many business days that the seller needs to ship the item after payment is made by the buyer. The handling time is required by most categories. Top-rated sellers typically set the handling time to 0 or 1 day, but longer handling times are supported. **Note**: This field is not applicable if business policies are being used by the seller. """ handlingTimeDuration: ListingTimeDuration """ This array is used to add or modify locations where the seller will ship the item. The values specified in this array can be continents, geographical regions or countries. The **excludedShipToLocations** and **includedShipToLocations** lists should not contradict one another. If there is a contradiction between the shipping exclusions and inclusions, the exclusion usually takes precedence. This means if a location is both included and excluded, it will be treated as excluded. **Notes**: - The entire array of shipping locations must be included for an update, and not just locations that are being added. - This array is not applicable if business policies are being used by the seller. """ includedShipToLocations: [ListingShippingLocationInput!] """ This object is used to modify information on shipping options local to the country of the marketplace, including the shipping cost type used (flat vs. calculated). There is also a field to add or change a shipping rate table to use against the listings and fields to add or change a shipping discount. **Note**: This object is not applicable if business policies are being used by the seller. """ marketplaceShippingOptions: UpdateListingShippingOptionsInput """ This object is used to modify information on shipping options not local to the country of the marketplace, including the shipping cost type used (flat vs. calculated). There is also a field to specify a shipping rate table to use against the listings and fields to add or change a shipping discount. **Note**: This object is not applicable if business policies are being used by the seller. """ nonMarketplaceShippingOptions: UpdateListingShippingOptionsInput """ This field is used to provide information of shipping services that are available to the buyer for shipment of the item, and the costs associated with using each one. Each available shipping service option is identified through the **shippingServiceCode** field. **Notes**: - A total of 10 shipping service options may be specified, with up to five of them being domestic shipping services within the country of the marketlace and up to five of them being international shipping services originating outside of the country of the marketplace. - This array is not needed if business policies are being used by the seller. """ shippingServices: [UpdateListingShippingServiceInput!] } """ This type is used for a successful **updateListing** mutation that is run in `EXECUTE` mode. It will show the complete details of the updated listing, and will also include a list of non-blocking warning messages if any occurred. """ type UpdateListingSuccess { """ This object shows the complete details of the updated listing. """ listing: SellerListing! """ This array shows the type of discount(s) applied to listing fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the updated listing will incur. **Note**: Always consider the fee amounts to be estimated only. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings triggered by the mutation request, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to add or modify various tax information, including VAT rates, sales tax rates tor US territories and Canadian provinces, and special tax category codes. """ input UpdateListingTaxTermsInput { """ This field is included and set to 'true' if the seller wants the sales tax rate for the jurisdiction to apply to the cumulative amount of item cost and shipping charges, or set to 'false' if the seller does not want sales tax to apply to shipping charges. This field is only applicable if the **salesTaxPercentage** and **salesTaxJurisdictionId** fields are also set. """ salesTaxApplicableToShipping: Boolean """ This field is used to specify a US territory or a Canadian province that will be charged the sales tax rate specified in the **salesTaxPercentage** field. The supported US territories are `AS` (America Samoa), `GU` (Guam), `MP` (Northern Mariana Islands), `PW` (Palau), and `VI` (US Virgin Islands). The two-letter codes for Canadian provinces can be found here on the [Government of Canada](https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/completing-slips-summaries/financial-slips-summaries/return-investment-income-t5/provincial-territorial-codes.html) website. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxJurisdictionId: String """ This field is used along with **salesTaxJurisdictionId** field to set or modify the sales tax rate for a specific US territory or a Canadian province. The percentage set here will be applied to sale price as the sales tax for the order line item. The value passed in is stored with a precision of 1 digits after the decimal point. **Note**: Sales tax rates are only applicable on the EBAY_US, EBAY_CA and EBAY_CAFR marketplaces. """ salesTaxPercentage: Decimal """ This field is included and set to 'true' if the seller has an account level sales tax table set up and wishes to use the sales tax rates set up in that table. If this field is set to 'true', the values contained in the other sales tax fields (if set) in this object will be overridden by the values set in the sales tax table. """ salesTaxTableUsed: Boolean """ This field is used to provide a special category of tax such as a recycling fee or disposal tax. """ thirdPartyTaxCategoryCode: String """ This field is used to set or modify the VAT (Value-added Tax) percentage rate that will be charged to buyers when an item is purchased from the listing. VAT is not applicable to all countries, including the US. Allowed VAT percentage rates can vary by region/country, so sellers should be aware of the rates they are legally required/allowed to charge, and they are responsible for charging the correct VAT rate. Only one digit is allowed to the right of the decimal point. """ vatPercentage: Decimal """ This field should be included and set to 'true' if the seller is registered on the listing site as a Business Seller and intends to use listing features that are offered to business users only. This field must be included and set to 'true' if the **vatRestrictedToBusinessUser** field is also included and set to 'true'. """ vatRecognizedBusinessSeller: Boolean """ This field is included and set to 'true' if a business seller wishes to make the listing exclusively available to potential buyers registered on eBay as business users. This feature is only applicable to business sellers residing in Germany, Austria, or Switzerland who are listing in a B2B VAT-enabled category on the eBay Germany (EBAY_DE), Austria (EBAY_AT), or Switzerland (EBAY_CH) marketplaces. To set this field as 'true', the **vatRecognizedBusinessSeller** field must also be included and set to 'true'. """ vatRestrictedToBusinessUser: Boolean } """ This type is used to add or modify listing terms details for the listing, including listing duration, item location, return policy, fulfillment terms, and more. """ input UpdateListingTermsInput { """ This object is used for classified ad listings, and adds or modifies contact information for the seller, including days and hours when the seller accepts inquiries from potential buyers. """ adsSellerContact: UpdateListingSellerContactInput """ This object is used if the seller wishes to make changes to **Best Offer** settings, including enabling or disabling the Best Offer feature, or to add, modify, or remove the auto-accept and auto-reject thresholds. """ bestOfferTerms: UpdateListingBestOfferTermsInput """ This object is used to disable or enable a seller's account-level buyer restrictions and/or set or modify a quantity limit per buyer threshold for a multiple-quantity, fixed price listing. """ buyerRestrictions: UpdateListingBuyerRestrictionsInput """ This object is used if the seller wishes to make the listing a charitable listing, or if a charity is already set up, this object is used to change the charitable organization and/or the donation percentage per sale. **Note**: eBay for Charity is only supported on the eBay US, eBay UK, eBay Germany, and eBay Canada marketplaces. """ charity: UpdateListingCharityInput """ This object is used to add or modify global or country-specific product compliance and/or takeback policies for a listing. """ customPolicies: UpdateListingCustomPoliciesInput """ This object is used to modify details on how the item will be delivered to the buyer. The data under this object includes available shipping services, ship-to and excluded shipping locations, shipping costs, package details, and more. This object also has a **businessPolicyId** field that is used to associate a fulfillment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. """ fulfillmentTerms: UpdateListingFulfillmentTermsInput """ This field can be included and set to 'true' if the seller wishes to make the listing private. With private listings, the eBay user and feedback scores for bidders and buyers are obfuscated to everyone except for the seller. If the scheduled or active listing is currently marked as a private listing and the seller does not wish to keep this setting, this field should be included and set to 'false'. """ hideParticipation: Boolean """ This array can be used if the seller wishes to add or modify site visibility settings. With site visibility, sellers can choose to actively display their listing on one or more other eBay marketplaces for a small fee. Currently, this feature can only be used on the EBAY_US, EBAY_CA, EBAY_GB, and EBAY_IE marketplaces. EBAY_US and EBAY_CA listings can specify `UNITED_KINGDOM` in this array to have their listing displayed on the EBAY_GB and EBAY_IE marketplaces, and EBAY_GB and EBAY_IE listings can specify `NORTH_AMERICA` in this array to have their listing display on the EBAY_US and EBAY_CA marketplaces. """ internationalSiteVisibility: [CrossBorderTradingRegion!] """ This object is used to change the actual physical location of the item(s) in this listing. The **country** field is always required, and then either the **location** or **postalCode** must be provided, but not necessarily both. """ itemLocation: UpdateListingItemLocationInput """ This object is used to change the duration of the listing, and can also be used to modify the future date when a scheduled listing will become active. """ lifecycleTerms: UpdateListingLifecycleTermsInput """ This object is used to add or modify the radius for a Motors Local Listing. The value supplied in the **distance** field sets the radius of the area in which the vehicle will be available and exposed to interested local buyers. The seller's supplied **postalCode** or **location** field value will be used as the center point for this radius. You can use the [getMotorsListingPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getMotorsListingPolicies) method of the **Metadata API** to get the supported listing distance values for a leaf category. Seller provide the unit of measurement for the **distance** value through the **distanceUnit** field. """ localListingDistance: UpdateListingLocalDistanceInput """ This field is needed to modify the lot size for the lot-enabled listing. With lot-enabled listing, the seller is selling a set of two or more similar/related items as a part of one listing. An example of a lot listing might be a collection of children's clothes. The value specified in this field will be the number of distinct items in the lot. Not all leaf categories support lot listings, and the [getCategoryPolicies](https://developer.ebay.com/api-docs/sell/metadata/resources/marketplace/methods/getCategoryPolicies) method can be used to see which leaf categories do support lot listings. **Minimum value**: 2 **Maximum value**: 450,000 """ lotSize: Int """ A reference identifier used to attribute the source of data across API families. This ID is returned in the response of the **listingPreviewsCreationTaskById** query of the **Inventory Mapping API**. To ensure continuity and traceability of the data flow, it is strongly recommend that you include this reference ID in any create, update, or relist mutation. Using this ID associates any mutations with the listing preview referenced to create or update the listing. **Maximum length**: 25 """ mappingReferenceId: String """ This object is used to modify payment terms and information for the listing, including immediate payment requirement, offline payment methods, and motor vehicle deposit information. This object also has a **businessPolicyId** field that is used to associate a payment business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. This object is optional for sellers not opted into business policies. """ paymentTerms: UpdateListingPaymentTermsInput """ This object is used to add or modify various types of regulatory information for a listing, including energy efficiency labels, hazardous material information, product safety information, and more. Based on the listing category, sellers doing business in an EU country or Northern Ireland may be legally required to provide some of this regulatory information for listings. """ regulatory: UpdateListingRegulatoryInput """ This object is used to modify a domestic return policy and/or an international return policy (if the seller ships internationally) that is to be used for the listing. This object also has a **businessPolicyId** field that is used to associate a return business policy with the listing, and that must be used instead of the other fields in this object if the seller's account is opted into business policies. With the exception of a few categories, listings generally require return policies even if the seller's *return policy* is to not accept returns. """ returnTerms: UpdateListingReturnTermsInput """ This field is used by the seller to add or modify custom, application-specific data associated with the listing. The string specified here is stored by eBay with the listing but it is not used by eBay in any way other than that. **Note**: If this field is included, the text provided will overwrite the custom data text that is currently associated with the listing. **Maximum length**: 32 """ sellerCustomData: String """ This object is used to add or modify various tax information, including VAT rates, sales tax rates to US territories and Canadian provinces, and special tax category codes. """ taxTerms: UpdateListingTaxTermsInput """ This object is used to enable or disable Bold Title or Gallery Plus listing upgrades, or to add, modify, or remove a Subtitle. Each of these listing upgrades will incur a small fee. **Note**: If any of these listing upgrades are currently active on the listing but the seller chooses to disable one or more of them, the seller will generally not receive a refund against the fee that was charged for these listing upgrades when they were first added to the listing. """ visualEnhancements: UpdateListingVisualEnhancementsInput } """ This type is used when the **updateListing** mutation fails due to one or more blocking validation errors. A list of validation rule violations that must be fixed before retrying will be shown, and one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type UpdateListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type is used for a successful **updateListing** mutation that is run in `VALIDATE` mode, and the listing object is successfully validated without any errors. The results of the validation will be shown, including warnings if any occurred. """ type UpdateListingValidationSuccess { """ This object shows the complete details of the validated listing object. """ listing: SellerListing! """ This array shows the type of discount(s) applied to the expected fees, if any. """ listingDiscount: [ListingFeeDiscount!] """ This array shows the list of estimated listing fees that the listing object would occur if updated. """ listingFees: [SellerListingFee!] """ This array shows the list of non-blocking warnings generated during the validation, if any occurred. """ warnings: [ListingWarning!] } """ This type is used to identify or modify the main trait by which SKUs within a multiple-variation listing differ, and to provide image URLs demonstrating the variations of this trait for each item variation. """ input UpdateListingVariationImagesVaryByTraitInput { """ The trait name by which pictures of the item variations vary. The specified trait will be used to determine which images to display when a buyer selects a variation in the View Item page. For example, if the trait is 'Color', then a corresponding product image in the **traitValueImages** array will be displayed when that color is selected in the View Item page. The trait name specified here must be one of the variation traits specified in the **variationTraits** array. **Maximum length**: 65 characters """ traitName: String! """ This array is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is 'Color', each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the *traitImageUrls** array. **Note**: The full list of trait value images must be included in this array, and not just the ones that are being added. """ traitValueImages: [UpdateListingVariationTraitValueImageInput!]! } """ This type is used to add or modify name-value pairs for the traits where each SKU within a multiple-SKU listing differs, such as 'Color' and 'Size'. Each available color and each available size will be listed through the **variationTraits** array. If the listing featured t-shirts, each variation within that listing would have a unique color and size combination such as 'Blue, Large'. """ input UpdateListingVariationsInput { """ This object identifies the main trait by which variations differ, and provides image URLs demonstrating the variations of this trait for each variation. For example, the varying trait may be 'Color', and image URLs would be provided showcasing the different color of each variation. """ imagesVaryByTrait: UpdateListingVariationImagesVaryByTraitInput """ This array provides the names of the varying traits and the available values for each of these traits. For example, one trait might be 'Color', and all of the available colors would be specified in the corresponding **values** array. Another trait might be 'Size', and all of the available sizes would be specified in the corresponding **values** array. If the multiple-SKU listing has two varying traits such as 'Color' and 'Size', each variation would have a different combination of each of these traits, such as a 'Large, Red' shirt. The [getItemAspectsForCategory](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getItemAspectsForCategory) method of the **Taxonomy API** can be used to retrieve aspects that are optional, recommended or required for a specific category. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method in the **Taxonomy API** works similarly but is processed asynchronously and provides optional, recommended or required aspects every leaf category on an eBay marketplace. The [fetchItemAspects](https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/fetchItemAspects) method can be paired up with the **Taxonomy SDK** to help maintain an up-to-date list of aspects for each leaf category. **Note**: The full list of all variation traits and values must be included in this array, and not just the ones that are being added. **Maximum number of traits**: 5 **Maximum number of values per trait**: 50 **Maximum length of each trait name and value**: 65 characters """ variationTraits: [NameValuesPairInput!] } """ This type is used to provide an array of one or more image URLs for each available value of the trait. So, if the trait is 'Color', each of the available colors would be specified through the **traitValue** field, and then each color would have at least one image URL specified through the **traitImageUrls** array. """ input UpdateListingVariationTraitValueImageInput { """ An array of one or more images that demonstrate the corresponding **traitValue**. For example, if the **traitName** is 'Color' and the **traitValue** is 'Red', the image(s) would show a red variation of the product. Depending on the product, one image per variation may be enough, but multiple images may be specified for each **traitValue**. For example, it is possible that a seller would want to show the front and back of each shirt in each color. **Notes**: = The full list of image URLs must be included in this array, and not just the ones that are being added. - All images, whether they are hosted by eBay Picture Server (EPS) or self-hosted, must comply with eBay picture requirements. eBay Picture Server (EPS) and self-hosted picture URLs should not be mixed, and all URLs must use 'https' and not 'http'. **Maximum number of images per trait value**: 12. """ traitImageUrls: [HttpsUrl!]! """ The trait value of the corresponding image(s) in the **traitImageUrls** array. If the **traitName** is `Color`, values in this field may include *Red*, *Blue*, *Green*, etc. At least one of the variations within the multiple-SKU listing must have this value. **Maximum length**: 65 characters """ traitValue: String! } """ This type is used to enable or disable Bold Title or Gallery Plus listing upgrades, or to add, modify, or remove a Subtitle. Each of these listing upgrades will incur a small fee. """ input UpdateListingVisualEnhancementsInput { """ This field is used to enable or disable the Bold Title listing upgrade. With this upgrade, the listing title will be in boldface type in search results for greater visibility. **Notes**: - If this listing upgrade is disabled for an active listing, the seller is generally not entitled to a refund against that fee. - This feature cannot be enabled for a motor vehicle listing as motor vehicle listing titles are automatically generated by eBay based on Year, Make, Model, and other aspects of the vehicle such as engine type and trim. """ boldTitle: Boolean """ This field is used to enable or disable the Gallery Plus feature. With Gallery Plus, a larger gallery image of the item is displayed in search results. **Notes**: - If the this listing upgrade is disabled for an active listing, the seller is generally not entitled to a refund against that fee. - This feature cannot be enabled for a motor vehicle listing. """ galleryPlus: Boolean """ This field is used to add or modify a customized subtitle for the listing. By using a subtitle, more keywords can be provided and search results may be improved. **Notes**: - If this field is included, the text in this field will overwrite the current subtitle if one is defined for the listing. - If the this listing upgrade is disabled for an active listing, the seller is generally not entitled to a refund against that fee. **Maximum length**: 55 characters """ subtitle: String } """ This error type represents details about an error that occurred while updating an order. """ type UpdateOrderError { """ A human-readable description of the error message. This string is not localized and may change without notice. **Maximum length**: 512 characters """ displayMessage: String! """ The machine-readable error code for identifying the type of error. For this type, the available values are: - `INVALID_INPUT`: The input data is invalid. (Not retryable) - `NOT_AUTHORIZED`: The user is not authorized to perform this action. (Not retryable) - `VERSION_LOCKED`: The order was modified by another process. (Retryable) - `TEMPORARILY_NOT_AVAILABLE`: The service is temporarily unavailable. (Retryable) """ errorCode: String! """ The unique identifier of the order that failed to update. """ inputOrderId: ID! """ When this boolean field is returned as `true`, the operation can be retried and may succeed. When returned as `false`, a retry will not succeed. """ retryable: Boolean! } """ This is the base input type for the bulkUpdateOrderTags mutation, and is used to add or delete order tags for up to 100 orders per operation. """ input UpdateOrderTagInput { """ This enumerated value specifies the operation to perform on the specified tags. **Note**: Currently, `ADD` and `DELETE` are supported. """ action: TagUpdateAction! """ The unique identifier of the order that will have the specified tag added or deleted. """ orderId: ID! """ This array is used to specify the order tag to add or delete for the corresponding order. The only two supported values are acknowledged and unacknowledged, and only one of these values may be used per order. """ tags: [String!]! } """ This type displays the unique identifiers of all purchase quotes that were not successully updated, and the error(s) that caused them not to be updated. """ type UpdatePurchaseQuoteError { """ A user-friendly, non-localized message describing the error. """ displayMessage: String! """ The unique identifier of the error. Below are the four errors that may occur: - INVALID_INPUT: This error indicates that there were one or more issues with the input data in the mutation request. - TEMPORARILY_NOT_AVAILABLE: This error indicates that a system error occurred. This error may occur with a complete failure, and the user can try again after a short period of time. - NOT_AUTHORIZED: The user is not authorized to perform this action and/or there is an issue with the token. - VERSION_LOCKED: This error indicates that the purchase quote was being modified by another process at the time of the request, and the user can try again after a short period of time. """ errorCode: String! """ The unique identifier of the purchase quote that failed to be updated. """ inputPurchaseQuoteId: ID! """ This boolean indicates whether or not the user should try to update the corresponding purchase quote again. If this field is returned as 'true', the user can make another attempt to update the corresponding purchase quote. """ retryable: Boolean! } """ This input is used to update an existing purchase quote when using the **bulkUpdatePurchaseQuotes** mutation. """ input UpdatePurchaseQuoteInput { """ This boolean field is used to control whether or not the seller should receive an email copy of the updated purchase quote sent to the buyer. If this field is included and set to 'true', the seller will receive a copy of the updated purchase quote in their eBay Inbox. **Default value**: false """ emailCopyToSeller: Boolean = false """ This array is used to update the list of item commitments that are a part of the purchase quote. A comma is used as a delimiter for each item commitment identifier. **Note**: All item commitment IDs that are a part of the purchase quote must be included here. Omitted item commitments will be removed from the purchase quote. """ lineItems: [PurchaseQuoteItemInput!] """ This object is used to add or modify available shipping and/or pickup logistics options provided by the seller. """ logisticsOptions: PurchaseQuoteLogisticsOptionInput """ This field allows the seller to provide a custom message to the buyer regarding the update(s) that were made to purchase quote. **Maximum length**: 512 characters """ messageToBuyer: String """ This required field is used to provide the identifier of the purchase quote to update. """ purchaseQuoteId: ID! """ This object is used to add or modify handling charges and/or a shipping discount for a purchase quote. """ total: PurchaseQuoteTotalsInput } """ This is the base request type for the **updateSellerReturnResponseRuleCondition** mutation used to create or update a single automation return rule. **Note**: The rule **name** is optional, but can be used to change the name of existing rule. If not provided, existing name will remain (unchanged). """ input UpdateSellerReturnResponseRuleConditionInput { """ This object is used to set the various conditions that an item and return request must meet to trigger the rule. """ conditionSet: ReturnRuleConditionSetInput! """ This optional seller-defined field can be used to set or modify the name of the rule. **Note**: If a rule name is not provided, the existing name will remain (unchanged). **Requirements:** - the name must be unique. No two rules can have the same name - the name must use characters fromteh following set: [A-Z, a-z, 0-9, hyphen(-), underscore(_), period(.), colon(:), comma(,), apostrophe(')] **Maximum length**: 100 characters """ name: String """ The unique identifier of the return rule to be updated. """ ruleId: ID! } """ This base response union type for the **updateSellerReturnResponseRuleCondition** mutation reflects whether the seller's rule conditions were successfully updated or if an error occurred that prevented the update. All existing conditions will be replaced by the new conditions provided in the input. It returns an error if: - the provided **ruleId** does not exist. - the provided **returnRuleConditionSet** contains invalid condition data (categories are not leaf IDs, invalid country codes, or an invalid **refundRange** where the minimum is less than maximum). - the provided rule name is already used by another rule for the seller on the given marketplace. - the rule name violates allowed format, length, or characters (for example, exceeds maximum length, has disallowed characters). - the return rules feature is not enabled for the seller. """ union UpdateSellerReturnResponseRuleConditionOutput = ReturnResponseRule | ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidConditionsError | ReturnRuleMissingConditionError | ReturnRuleNameError | ReturnRuleNotFoundError """ This input type defines the payload for the **updateSellerReturnResponseRulesPriorities** mutation. This mutation updates the order that the seller's return response rules should be executed. To reorder the rules, provide all `ruleIds` in the list, regardless of their status (enabled or disabled). Only the priority is updated (rule status remains unchanged, disabled rules will continue to stay disabled). Once updated, the active rules are evaluated in the order specified. """ input UpdateSellerReturnResponseRulesPrioritiesInput { """ The eBay marketplace where the item is **listed/published** (e.g., EBAY_US, EBAY_DE, EBAY_UK). """ listingMarketplace: ListingMarketplace! """ A list of one or more `ruleIds` arranged in the desired priority order. The first rule in the list represents the highest priority. All existing rules, regardless of their status (enabled or disabled), must be included in the input list or an error will be returned. """ prioritizedRuleIds: [ID!]! } """ The base response union type for the **updateSellerReturnResponseRulesPriorities** mutation indicates whether the return response rules were successfully reordered according to the priority specified in the input or if an error occurred that prevented its creation. It returns an error if: - one or more `ruleIds` in the input list do not exist - the input list contains duplicate `ruleIds` - the input list includes one or more `ruleIds` that are invalid or do not belong to the same marketplace - the return rules feature is not enabled for the seller """ union UpdateSellerReturnResponseRulesPrioritiesOutput = ReturnRuleDuplicateRuleIdsError | ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidRuleIdsError | ReturnRuleMissingRuleIdsError | UpdateSellerReturnResponseRulesPrioritiesSuccess """ This type defines the new priority order for the seller's return-response automation rules. """ type UpdateSellerReturnResponseRulesPrioritiesSuccess { """ The retrieved return rules arranged in the updated priority order. """ returnResponseRules: [ReturnResponseRule!]! } """ This input type defines the payload for the **updateSellerReturnRuleStatus** mutation, which allows the seller to enable or disable a seller's rule. """ input UpdateSellerReturnRuleStatusInput { """ The unique identifier of the return rule to enable/disable. """ ruleId: ID! """ The status can be `ENABLED` or `DISABLED`: - `ENABLED`: The rule is evaluated according to its assigned priority (lower priority number execute first). The first rule that meets the specified conditions will be applied to the return request - `DISABLED`: The rule is not evaluated and will be skipped """ status: ReturnPreferenceStatus! } """ This base response union type for the **updateSellerReturnRuleStatus** mutation is used to enable or disable an automation return rule and indicates if the rule was successfully updated or if an error occurred that prevented the update. Disabled rules are not evaluated during return processing. It returns an error if: - the provided `ruleId` does not exist - the rule cannot be enabled because one or more rule conditions are invalid - the return rules feature is not enabled for the seller """ union UpdateSellerReturnRuleStatusOutput = ReturnResponseRule | ReturnRuleFeatureNotEnabledError | ReturnRuleNotFoundError | ReturnRuleStatusUpdateBlockedError | ReturnToAddressRule """ This input type defines the payload for the **updateSellerReturnToAddressRuleCondition** mutation, which creates or updates a single automation return rule. """ input UpdateSellerReturnToAddressRuleConditionInput { """ This object is used to set or modify the address routing strategy for the return-to-address rule. """ addressRoute: ReturnToAddressRouteInput! """ This object is used to set the various conditions that an item and return request must meet to trigger the rule. **Note**: For an existing return-to-address rule, all specified conditions provided in each of the fields will overwrite existing conditions for the rule. """ conditionSet: ReturnRuleConditionSetInput! """ This optional seller-defined field can be used to set or modify the name of the rule. **Note**: If a rule name is not provided, the existing name will remain (unchanged). **Requirements:** - the name must be unique. No two rules can have the same name - the name must use characters from the following set: [A-Z, a-z, 0-9, hyphen(-), underscore(_), period(.), colon(:), comma(,), apostrophe(')] **Maximum length**: 100 characters """ name: String """ The unique identifier of the return rule to be updated. """ ruleId: ID! } """ The base response union type for the **updateSellerReturnToAddressRuleCondition** mutation reflects whether the seller's rule conditions were successfully updated or if an error occurred that prevented the update. All existing conditions will be replaced by the new conditions provided in the input. It returns an error if: - the provided **ruleId** does not exist. - the provided **returnRuleConditionSet** contains invalid condition data (for example, categories are not leaf IDs, invalid country codes, or an invalid **refundRange** where the minimum is less than maximum). - the provided rule name is already used by another rule for the seller on the given marketplace. - the rule name violates allowed format, length, or characters (for example, exceeds maximum length, has disallowed characters). - the return rules feature is not enabled for the seller. """ union UpdateSellerReturnToAddressRuleConditionOutput = ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidConditionsError | ReturnRuleMissingConditionError | ReturnRuleNameError | ReturnRuleNotFoundError | ReturnToAddressRequiredError | ReturnToAddressRule """ This input type defines the payload for the **updateSellerReturnToAddressRulesPriorities** mutation, which updates the order in which the seller's return address rules should be executed. To reorder the rules, provide all `ruleIds` in the list, regardless of their status. Only the priority is updated (rule status remains unchanged, disabled rules will continue to stay disabled). Once updated, enabled rules are evaluated in the order specified. """ input UpdateSellerReturnToAddressRulesPrioritiesInput { """ This enumerated value is the marketplace where the item is **listed/published** (for example, EBAY_US, EBAY_DE, EBAY_UK). All listings published on this marketplace inherit these preferences. """ listingMarketplace: ListingMarketplace! """ A list of one or more `ruleIds` arranged in the desired priority order. The first rule in the list represents the highest priority. All existing rules, regardless of their status (enabled or disabled), must be included in the input list or an error will be returned. """ prioritizedRuleIds: [ID!]! } """ This base response union type for the **updateSellerReturnToAddressRulesPriorities** mutation indicates whether the return-to-address automation rules were successfully reordered according to the priority specified in the input or if an error occurred that prevented its creation. It returns an error if: - one or more `ruleIds` in the input list do not exist - the input list contains duplicate `ruleIds` - the input list includes one or more `ruleIds` that are invalid or do not belong to the same marketplace - the return rules feature is not enabled for the seller """ union UpdateSellerReturnToAddressRulesPrioritiesOutput = ReturnRuleDuplicateRuleIdsError | ReturnRuleFeatureNotEnabledError | ReturnRuleInvalidRuleIdsError | ReturnRuleMissingRuleIdsError | UpdateSellerReturnToAddressRulesPrioritiesSuccess """ This type is used to show the new priority order for return-to-address rules after a successful **updateSellerReturnToAddressRulesPriorities** mutation. """ type UpdateSellerReturnToAddressRulesPrioritiesSuccess { """ The list of the seller's return-to-address rules arranged in the updated priority order. """ returnToAddressRules: [ReturnToAddressRule!]! } """ This input type defines the payload for the **updateSellerRmaPreference** mutation, which when enabled, allows the seller to provide a Return Merchandise Authorization (RMA) number as part of the return shipment lifecycle. """ input UpdateSellerRmaPreferenceInput { """ This enumerated value is the marketplace where the item is **listed/published** (for example, `EBAY_US`, EBAY_DE`, `EBAY_UK`). All listings published on this marketplace inherit these preferences. """ listingMarketplace: ListingMarketplace! """ If enabled, an RMA is required for returns. This setting is marketplace specific. """ rmaPreference: RmaPreferenceInput! } """ This base response union type for the **updateSellerRmaPreference** mutation reflects whether the return preference was successfully updated or if an error occurred that prevented the update. **Note**: Additional error types may be added to this union in the future. """ union UpdateSellerRmaPreferenceOutput = ReturnPreferenceNotFoundError | SellerReturnPreferences """ This type is used to add or modify a shipping business policy that is to be used for the listing and/or to override the shipping costs for one or more shipping service options defined in the shipping business policy. """ input UpdateShippingBusinessPolicyInput { """ This field is used to add or modify a shipping business policy that will be used for the listing. The [getFulfillmentPolicies](https://developer.ebay.com/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies) method can be used to retrieve all shipping business policies defined for a seller on an eBay marketplace. """ businessPolicyId: ID! """ This array is used to override the shipping costs for one or more shipping service options defined in the shipping business policy being used for the listing. """ overrideShippingOptions: [UpdateListingOverrideShippingOptionInput!] } """ This type is used when the mutation fails due to one or more blocking validation errors. A list of one or more validation rule violations that must be fixed before retrying will be shown. A list of one or more non-blocking warning messages will also be shown if any were triggered during the processing of the mutation. """ type UpdateSubsidiaryListingValidationError implements BusinessError { """ The unique identifier of the error. This code can be used by clients to programmatically identify and handle different types of errors without relying on error messages, which may change over time. """ errorCode: String! """ A human-readable message describing the error. This message is intended for developers and should not be displayed directly to end users. It provides additional context about what went wrong and may include suggestions for how to resolve the issue. """ errorMessage: String! """ This array contains a list of blocking validation rule violations that must be fixed before retrying. """ violations: [ListingValidationRuleViolation!]! """ This array contains a list of non-blocking validation warnings that do not block processing but provide useful feedback for improving listings. """ warnings: [ListingWarning!] } """ This type represents an outcome where the previous decision is upheld. This type is used when an appeal is denied or no change is made to the original resolution. """ type UpholdPreviousDecisionOutcome implements PostPurchaseCaseDecisionOutcome { """ A machine-readable code indicating the type of outcome. """ code: String! """ The human-readable text of the case decision outcome. **Maximum length**: 100 characters """ displayText: String! } """ This type displays information about a registered eBay user. Some sensitive data will be masked/omitted if the eBay user for whom information is being requested is not the user issuing the query. If the person issuing the query has an existing order relationship with the user for whom information is being requested, some additional information will be returned. """ type User { """ The primary shipping zone for the user. **Note**: This field is only accessible when queried within a Bid or Offer context (for example, inside active bid history or negotiation records). Direct queries at the root User level are not authorized and will return a forbidden error. **Data Privacy**: Shipping zone data may be masked or omitted based on user access levels. """ shippingZone: PrimaryShippingZone """ This array returns a list of the authenticated user's recent item commitments. The authenticated user must be involved in these item commitments as either the seller or the buyer. See the required scopes for both sellers and buyers below. """ itemCommitments: ItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) """ This array returns a list of the authenticated user's active memberships across all eBay programs. **Note**: An empty array will be returned if the user does not have any active membership subscriptions. """ userBenefitMemberships: [UserBenefitMembership!] """ This array returns a list of the authenticated user's recent orders. The authenticated user must be involved in these orders as either the seller or the buyer. See the required scopes for both sellers and buyers below. """ orders: Orders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ The entry point for the authenticated user's purchase quote data contributed by this subgraph. """ purchaseQuotes: PurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ This object shows business-related information for a seller with a business account. **Notes**: - If the user requesting this data is not authorized to view some of the requested information, those fields containing sensitive/confidential information may be masked or will return null values. - This object will return `null` if the user does not have a business account. """ businessIdentityProfile: BusinessIdentityProfile @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This object returns the legal stakeholder associated with a business profile/account. **Notes**: - If the user requesting this data is not authorized to view this information, this field will return a null value. - When requesting information for an individual account, this field will return a `null` value. """ businessStakeholders: [BusinessStakeholder] @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This object returns individual user information such as name, email, phone number, and address for the user for whom information is being returned. **Notes**: - If the user requesting this data is not authorized to view some of the requested information, those fields containing sensitive/confidential information may be masked or will return null values. - This object will return `null` if the user does not have this profile. """ individualIdentityProfile: IndividualIdentityProfile @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This boolean field indicates if the user is a newly-registered user within the prior 30 days. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. **Default value**: false """ newUser: Boolean @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This object shows publicly visible contact and company information for a business seller. **Note**: When requesting information for an individual seller, this field may return a `null` value. """ publicUserProfile: PublicUserProfile @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This enum value indicates the eBay Marketplace on which the user is registered. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ registrationMarketPlace: UserRegistrationMarketplace @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This object shows seller-related information for the user. """ sellerProfile: SellerProfile @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This timestamp indicates when the user created their account. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. **Format**: YYYY-MM-DDTHH:MM:SS.SSSZ **Example:** 2025-11-04T19:09:02.768Z """ userCreatedAt: DateTime @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ The public-facing user ID of the user. **Note**: Effective September 26, 2025, select developers will no longer receive username data for U.S. users through this field. Instead, an immutable user ID will be returned in its place. For more information, please refer to [Data Handling Compliance](https://developer.ebay.com/api-docs/static/data-handling-update.html). """ userId: ID! @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This boolean field indicates if the user ID of the user has been changed within the prior 30 days. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. **Default value**: false """ userIdChanged: Boolean @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ This timestamp indicates when the user ID for the user was last changed. **Note**: If the user requesting this data is not authorized to view this information, this field will return a `null` value. **Format**: `YYYY-MM-DDTHH:MM:SS.SSSZ` **Example:** 2025-11-04T19:09:02.768Z """ userIdLastChangedAt: DateTime @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ The status of the user account associated with the user (e.g., confirmed, unconfirmed, suspended, account_on_hold, undertermined, etc.). **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ userStatus: UserStatus @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.status.readonly"]) """ The type of eBay account that is associated with the user (e.g., Individual, Business, etc.). **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. """ userType: UserAccountType @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) """ The username of the user. **Note**: If the user requesting this data is not authorized to view this information, this field will return a null value. **Note**: Effective September 26, 2025, select developers will no longer receive username data for U.S. users through this field. Instead, an immutable user ID will be returned in its place. For more information, please refer to [Data Handling Compliance](https://developer.ebay.com/api-docs/static/data-handling-update.html). """ username: String @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/commerce.identity.readonly"]) } """ This interface is used to indicate the account type of the eBay user. """ interface UserAccountType { """ The human-readable label for the user's account type. Every account type implementation has a display name under normal circumstances. **Note**: A null response indicates an exceptional circumstance. """ displayName: String } """ This type represents an account owned by a business entity. This indicates that the user's account is a business account. """ type UserAccountTypeBusiness implements UserAccountType { """ The human-readable label for the user's account type. In this case, this field will return `Business`. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account owned by an individual user. This indicates that the user's account is an individual account. """ type UserAccountTypeIndividual implements UserAccountType { """ The human-readable label for the user's account type. In this case, this field will return `Individual`. **Note**: This value is for display purposes only. """ displayName: String } """ This input type is used to filter user-level rate limit queries. """ input UserApiRateLimitsInput { """ This array provides the filters to apply when retrieving user-level API rate limits. """ filters: [ApiRateLimitsFilterInput!] } """ This output type is used to provide user-level rate limits for the query. """ type UserApiRateLimitsOutput { """ This array provides the list of user-level rate limits for each API and operation that match the query criteria. If the input filter is invalid or no rate limits match the filter, an empty array is returned. """ apiRateLimits: [ApiRateLimit!]! } """ This type is used to show details on a user's membership to an eBay program. """ type UserBenefitMembership { """ This timestamp indicates when the user's membership is scheduled to expire based on the current subscription period. **Format**: ISO 8601 date-time string (YYYY-MM-DDTHH:mm:ss.sssZ) """ expiresAt: DateTime! """ The eBay marketplace where this membership is valid. """ membershipMarketplace: UserRegistrationMarketplace! """ The enumerated value returned in this field identifies which specific benefit program the membership record represents. """ programType: UserBenefitMembershipType! } """ This enumerated type contains the values that represent eBay user benefit program types. """ enum UserBenefitMembershipType { """ This value indicates that the user is currently subscribed to the eBay Plus premium membership program. eBay Plus A subscription-based program available through the Germany and Australia eBay marketplaces which offers benefits such as: - Free shipping on eligible items - Free returns on eligible items - Exclusive deals and offers - Priority customer support """ EBAY_PLUS } """ This type defines optional parameters that define a date range for which user bidding activity is being requested as well as how the returned data are organized. """ input UserBiddingActivityInput { """ Optional filters used to specify: - The date range for which bidding activity data are returned. - The maximum number of items that can appear on one page of the result set. When This object is omitted, by default the query returns: - A list of items for which the user has placed a bid during the previous 90-day window. - The first 20 results with pagination. """ filter: BiddingActivityFilter } """ This type provides detailed information on auction bidding activity for a user. """ type UserBiddingActivityOutput { """ The list of auction listings that match the filter criteria for the user, sorted chronologically (newest first). Returns an empty list if the user has no auctions matching the applied filters. """ auctions: [Item!]! """ Pagination metadata for the current result set. Use this information to paginate through the list of auctions that the user has participated in. """ paginationOutput: Pagination! } """ This type represents a user-created custom Watchlist. Custom lists allow users to organize their watched items into named collections beyond the default Watchlist. """ type UserCustomList { """ The unique identifier for this custom list. This value can be used for referencing this specific list in subsequent operations. """ customListId: ID! """ This integer value indicates the total number of items currently in this custom list. This count represents all items across all pages of data and not just the current page. """ itemCount: Int! """ The paginated collection of items in this custom list. For empty lists, this field returns an empty results array. """ items(input: CustomListItemsInput): CustomListItems! """ The user-defined name for this custom list. **Maximum length**: 40 characters **Format**: Alphanumeric characters and most symbols are allowed, except for these prohibited characters: `< > \ / : " | ? *` """ name: String! } """ This type is used to specify an array of up to 10 specific user custom Watchlists by their unique identifiers. This can be used to request only a subset of the user's custom lists, rather than retrieving all of them. """ input UserCustomListFilter { """ An array of custom list identifiers specifying the user custom Watchlists to be retrieved. This array must contain at least one valid custom list ID, and each ID must correspond to a custom list owned by the authenticated user. **Maximum number of IDs**: 10 per request """ customListIds: [ID!]! } """ This type indicates a failed **userCustomLists** query. A failed query returns a business error indicating that all requested custom lists failed to be retrieved. """ type UserCustomListsFailure implements BusinessError { """ A machine-readable error code (clients should use this for handling, not the message): `CSTM_LISTS_ALL_FAILED` """ errorCode: String! """ The human-readable message describing why the custom lists retrieval failed. This message is intended for developers and should not be displayed directly to end users. It provides specific details about the validation failure or business rule violation. **Maximum length**: 500 characters """ errorMessage: String! """ This array returns each custom list that failed during the operation with specific reasons each failed. """ failedCustomLists: [CustomListFailure!]! } """ This base request type for the **userCustomLists** query is used to specify input parameters for retrieving the user's custom Watchlists. """ input UserCustomListsInput { """ This object can be used to specify up to 10 custom list to retrieve using the **userCustomLists** query. If this field is not provided, all user's custom lists will be returned in the response. """ filter: UserCustomListFilter } """ The union type for the **userCustomLists** query. This type covers three possible scenarios: success, partial failure, or failure. If the **userCustomLists** query succeeds, a list of user-created custom Watchlists meeting the filter criteria will be returned. If the **userCustomLists** query fails or partially fails, an array of blocking errors detailing why each custom list failed to be returned will be returned. If a query fails, there will always be at least one blocking error. """ union UserCustomListsOutput = UserCustomListsFailure | UserCustomListsPartialFailure | UserCustomListsSuccess """ This type indicates that the **userCustomLists** query partially failed. Some custom lists were successfully retrieved, but one or more failed to be retrieved. """ type UserCustomListsPartialFailure implements BusinessError { """ This array returns each custom list that was successfully retrieved. """ customLists: [UserCustomList!]! """ A machine-readable error code (clients should use this for handling, not the message): `CSTM_LISTS_PARTIAL_FAILURE` """ errorCode: String! """ The developer-friendly message explaining the error. **Maximum length**: 500 characters """ errorMessage: String! """ This array returns each custom list that failed to be retrieved during the operation with specific reasons for each failure. """ failedCustomLists: [CustomListFailure!]! """ The total number of custom lists successfully returned in this response. **Units**: Integer count (number of lists) **Valid range**: 0 to 10 """ totalCount: Int! } """ This type is used for a successful **userCustomLists** query. On success, data for all or up to 10 of a user's custom list is returned, including all accessible custom lists and metadata about the collection. For each custom list, items in each list are also returned. """ type UserCustomListsSuccess { """ A list of user-created custom Watchlists ordered by creation date, with the most recent first. If specified, only Watchlists that match the request custom list IDs are returned. **Note**: This array may be empty if the user has not created any custom lists. """ customLists: [UserCustomList!]! """ The total number of custom Watchlists retrieved. If no specific lists were specified, this returns all custom lists owned by the user. """ totalCount: Int! } """ This type represents a user's personal note on an item or order line item. User notes are private to the user and can be associated with specific items or order line items. """ type UserNote { """ The text content of the user note. This content usually contains the user's personal annotation about the item or order line item. **Maximum length**: 255 characters """ note: String! """ The unique identifier of the order line item for which the user note is attached. """ orderLineItemId: ID } """ This enumerated type contains the values that indicate which eBay marketplace that the user created their eBay account. """ enum UserRegistrationMarketplace { """ This enumeration value indicates the applicable marketplace is eBay Austria. """ EBAY_AT """ This enumeration value indicates the applicable marketplace is eBay Australia. """ EBAY_AU """ This enumeration value indicates the applicable marketplace is eBay Belgium. """ EBAY_BE """ This enumeration value indicates the applicable marketplace is eBay Belgium (Dutch). """ EBAY_BENL """ This enumeration value indicates the applicable marketplace is eBay Canada. """ EBAY_CA """ This enumeration value indicates the applicable marketplace is eBay Switzerland. """ EBAY_CH """ This enumeration value indicates the applicable marketplace is eBay Germany. """ EBAY_DE """ This enumeration value indicates the applicable marketplace is eBay Spain. """ EBAY_ES """ This enumeration value indicates the applicable marketplace is eBay France. """ EBAY_FR """ This enumeration value indicates the applicable marketplace is eBay UK. """ EBAY_GB """ This enumeration value indicates the applicable marketplace is eBay Hong Kong. """ EBAY_HK """ This enumeration value indicates the applicable marketplace is eBay Ireland. """ EBAY_IE """ This enumeration value indicates the applicable marketplace is eBay Italy. """ EBAY_IT """ This enumeration value indicates the applicable marketplace is eBay Malaysia. """ EBAY_MY """ This enumeration value indicates the applicable marketplace is eBay Netherlands. """ EBAY_NL """ This enumeration value indicates the applicable marketplace is eBay Philippines. """ EBAY_PH """ This enumeration value indicates the applicable marketplace is eBay Poland. """ EBAY_PL """ This enumeration value indicates the applicable marketplace is eBay Singapore. """ EBAY_SG """ This enumeration value indicates the applicable marketplace is eBay Taiwan. """ EBAY_TW """ This enumeration value indicates the applicable marketplace is eBay US. """ EBAY_US } """ This type defines the information about a user's saved search, such as its creation date, unique ID, name, and search criteria. """ type UserSavedSearch { """ The date and time that the user saved this search. **Format**: ISO 8601 date-time string (`YYYY-MM-DDTHH:mm:ss.sssZ`) **Time zone**: UTC """ savedAt: DateTime! """ The unique identifier of the saved search. """ savedSearchId: ID! """ The name of the saved search. **Note**: By default, this name will be the text of the search query string. Users are able to give a saved search a custom name. """ savedSearchName: String! """ This object defines the filter and parameter configuration used in this saved search, and contains search criteria including sort options, keywords, location filters, item types, and other search elements. """ savedSearchRequestParams: SavedSearchRequestParams! """ The URL to the user's saved search. The user can copy and paste this URL into a browser to view the search results. """ savedSearchUrl: String! } """ This base request type for the **userSavedSearches** query is used to specify pagination parameters for retrieving a user's saved searches. **Note**: All parameters are optional. If not provided, defaults will be used. """ input UserSavedSearchesInput { """ This object can be used to specify optional pagination settings that can be used to control page size and navigate through multiple pages of results. If pagination settings are not provided through this object, default pagination parameters will be applied. """ pagination: PageInfoInput } """ This base response type for the **userSavedSearches** query contains information about one or more of a user's saved searches and includes paginated search results and navigation information for efficient data retrieval. """ type UserSavedSearchesOutput { """ This object returns pagination information for navigating through multiple pages of saved searches. """ pagination: Pagination """ This array returns a list of the user's saved searches. Saved searches are ordered according to the specified sort parameter. If no sort parameters are specified, saved searches are sorted by the date they were saved with the most recent first. **Note**: This array may be empty if the user has no saved searches. """ savedSearches: [UserSavedSearch!]! } """ This type defines the information about a saved seller, such as the date and time that the user saved the seller, the seller's user ID, and the seller's eBay store name, if applicable. """ type UserSavedSeller { """ The date and time that the user saved this seller. **Format**: ISO 8601 date-time string ('YYYY-MM-DDTHH:mm:ss.sssZ') **Time zone**: UTC """ savedAt: DateTime! """ This object returns information about the saved seller, such as their user ID and profile information. """ seller: User! } """ This base request type for the **userSavedSellers** query is used to specify the sort order of the response, as well as specify pagination parameters for retrieving a user's saved sellers **Note**: All parameters are optional. If not provided, default values will be used. """ input UserSavedSellersInput { """ This object can be used to specify optional pagination settings that can be used to control page size and navigate through multiple pages of results. If pagination settings are not provided through this object, default pagination parameters will be applied. """ pagination: PageInfoInput """ This object is used to specify the sort order for the saved sellers query results. **Note**: When a cursor is provided in pagination, the sort order from the cursor takes precedence and this sort parameter is ignored. **Default value**: `DATE_ADDED_DESC` (most recently added first) """ sort: UserSavedSellersSort! } """ This base response type for the **userSavedSellers** query contains information about one or more of a user's saved sellers, and includes paginated seller results, metadata about the collection, and navigation information. """ type UserSavedSellersOutput { """ This object returns pagination information for navigating through multiple pages of saved sellers. """ pagination: Pagination """ This array returns a list of the user's saved sellers. Saved sellers are ordered according to the specified sort parameter. If no sort parameters are specified, saved sellers are sorted by the date they were saved with the most recent first. **Note**: This array may be empty if the user has no saved sellers. """ savedSellers: [UserSavedSeller!]! } """ This enumerated type defines all available sort options for retrieving a user's saved sellers. """ enum UserSavedSellersSort { """ This enum value is used to sort saved sellers in the response according to when the sellers were saved by the user, with the most recently saved appearing first. This is the default sort value used if the sort field is not used. """ DATE_ADDED_DESC """ This enum value is used to sort saved sellers in the response alphabetically according to their eBay username. """ SELLER_NAME_ASC } """ This interface represents the status of a user's account. """ interface UserStatus { """ The human-readable label for the user's account status. Every account status implementation has a display name under normal circumstances. A null response indicates an exceptional circumstance. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account with the 'AccountOnHold' status. This indicates that the user's account has been put on hold by eBay. """ type UserStatusAccountOnHold implements UserStatus { """ The human-readable label for the user's account status. In this case, this field will return 'Account on hold'. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account with the 'Confirmed' status. This indicates that the user's account has been verified by eBay. """ type UserStatusConfirmed implements UserStatus { """ The human-readable label for the user's account status. In this case, this field will return 'Confirmed'. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account with the 'Suspended' status. This indicates that the user's account has been suspended by eBay. """ type UserStatusSuspended implements UserStatus { """ The human-readable label for the user's account status. In this case, this field will return 'Suspended'. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account with the 'Unconfirmed' status. This indicates that the user's account has not been verified by eBay. """ type UserStatusUnconfirmed implements UserStatus { """ The human-readable label for the user's account status. In this case, this field will return 'Unconfirmed'. **Note**: This value is for display purposes only. """ displayName: String } """ This type represents an account status that cannot be determined. This status is returned when the account does not fall into any other known status category. """ type UserStatusUndetermined implements UserStatus { """ The human-readable label for the user account status. In this case, this field will return 'Undetermined'. **Note**: This value is for display purposes only. """ displayName: String } """ The base request type for the **userWatchList** query. This object is used to specify pagination parameters for retrieving a user's default Watchlist. **Note**: All parameters are optional. If not provided, default values will be used. """ input UserWatchListInput { """ This object can be used to specify optional pagination settings that can be used to control page size and navigate through multiple pages of results. If pagination settings are not provided through this object, default pagination parameters will be applied. """ pagination: PageInfoInput } """ The base response type for the **userWatchList** query that contains the user's default Watchlist data. This includes a list of watched items, metadata about the Watchlist, and pagination information. """ type UserWatchListOutput { """ This array returns a list of watched items. Items are ordered by the date they were added to the Watchlist, with the most recent first. **Note**: This field may be empty if the user has no watched items. """ items: [WatchedItem!]! """ This object returns pagination information for navigating through multiple pages of results. """ pagination: Pagination """ The current number of items in the user's default Watchlist. This count represents all items across all pages, not just the current page. """ watchListCount: Int! """ The maximum number of items allowed in the user's default Watchlist. """ watchListMaximum: Int! } """ This type is used to provide details about a multiple-variation listing. """ type VariationListing implements ListingV2 { """ This array provides detailed information about one or more purchasable items within an eBay listing. Each item object will have price, quantity, and global product identifiers if applicable. Item objects within multiple-variation listings will show unique traits that differentiate them from the rest of the variations within the listing. """ items: [Item!]! """ The unique identifier of a multiple-SKU listing. All purchase quotes that involve this listing, and meeting other search criteria, will be returned. """ listingId: ID! """ This array will return all item commitments spawned from the corresponding listing, and meeting other search criteria. **Note**: The authenticated user (seller or buyer) must have a relationship to item commitments for them to be returned. **Note**: Other filters in addition to **listingId** may be used. """ itemCommitments: ItemCommitments! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.commitment.read" "https://api.ebay.com/oauth/api_scope/buy.commitment" "https://api.ebay.com/oauth/api_scope/sell.commitment.read" "https://api.ebay.com/oauth/api_scope/sell.commitment" ]) """ This field returns the seller-scope count of unanswered questions for the listing. """ unansweredQuestions: UnansweredQuestions @authorize(scopes: ["https://api.ebay.com/oauth/api_scope/sell.listing.read"]) """ This array returns the authenticated viewer’s order data **in the context of this listing**. """ orders: Orders! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.order.read" "https://api.ebay.com/oauth/api_scope/buy.order" "https://api.ebay.com/oauth/api_scope/sell.order.read" "https://api.ebay.com/oauth/api_scope/sell.order" ]) """ This query will return all purchase quotes that involve this listing, and meeting other search criteria. **Note**: The authenticated user (seller or buyer) must have a relationship to purchase quote(s) for them to be returned. **Note**: Other filters in addition to **listingId** may be used. """ purchaseQuotes: PurchaseQuotes! @authorize(scopes: [ "https://api.ebay.com/oauth/api_scope/buy.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote.read" "https://api.ebay.com/oauth/api_scope/buy.purchase.quote" "https://api.ebay.com/oauth/api_scope/sell.purchase.quote" ]) """ This object is returned if the listing is on hold, and provides the details on one or more policy violations for which the listing is on hold for. """ listingOnHoldPolicies: ListingOnHoldPolicies """ This object is used to provide listing terms details for the listing, including listing format, listing duration, item location, return policy, fulfillment terms, and more. """ listingTerms: ListingTerms """ This object is used to express the traits where each SKU within a multiple-variation listing differs, such as `Color` and `Size`. Each available color and each available size will be listed through the **variationTraits** array. If the listing featured t-shirts, each variation within that listing would have a unique color and size combination such as `Blue, Large`. """ listingVariations: ListingVariations """ The marketplace identifier of the listing. See [`Marketplace`] enum for supported values. This field specifies the eBay marketplace where the listing was listed. It determines the regional settings, currency, and other marketplace-specific configurations. """ marketplace: ListingMarketplace """ The unique identifier of the original listing that contained the item before the item was relisted. This field is only returned for an item that was relisted. """ relistParentListingId: ID """ This object is used to provide common product details for the listing, including product aspects, title, description, condition, images, and more. """ sellerProduct: SellerProduct """ This field is used to provide a seller-defined Stock Keeping Unit (SKU) value for a multiple variation (multi-sku) listing. If the seller wants to fetch a listing by its SKU, this field must be provided. This is an optional field. If provided, the value represents the listing's SKU. The SKU for each individual variation is provided in the Item for that variation. """ sku: String } """ This type is used to provide more information when the 'Vault to Buyer' fulfillment type is used to deliver the item to the buyer. With 'Vault to Buyer' fulfillment, the item goes from the seller's PSA Vault location to the buyer's shipping address. """ type VaultToBuyer implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type is used to provide more information when the 'Vault to Vault' fulfillment type is used to deliver the item to the buyer. With 'Vault to Vault' fulfillment, the item goes from the seller's PSA Vault location to the buyer's PSA Vault location. """ type VaultToVault implements Labeled { """ A human-readable label for the entity. """ label: String! } """ This type is used to identify Venmo as the payment method. """ type Venmo implements PaymentMethodType { """ The unique identifier of Venmo payment method. """ code: ID! """ The descriptive name of the Venmo payment method. """ descriptiveName: String! """ The display name of the Venmo payment method. """ displayName: String! } """ This type defines the fields that represent a video and its associated metadata. """ type Video { """ The unique identifier of the video. """ videoId: ID! """ The description of the video. **Note**: This field returns `null` if the video was uploaded without a description. **Maximum length**: 4096 characters """ description: String """ The date and time when an unused video will expire, in ISO-8601 format (for example, `2026-01-01T12:00:00Z`). As long as a video is being used in an active listing, that video will remain on the server and be accessible. If a video is not being used on an active listing, its expiration date is automatically set to 30 days after the video's initial upload. """ expiresAt: DateTime! """ The height of the video in pixels. **Note**: This field returns '0' if video status is `PROCESSING_FAILED`. """ height: Int """ If applicable, this object returns the reason why the video is blocked by moderators. **Note**: This object returns `null` if the video is not blocked by eBay moderation policies. """ moderation: VideoModeration """ This array returns the playlist created for the uploaded video, which provides the streaming video URLs to play the video. **Note**: This array is only returned when the video status is `LIVE`. """ playlists: [VideoPlaylist!] """ This object returns error details if video processing has failed. **Note**: This object is only returned when the video status is `PROCESSING_FAILED`. """ processingFailure: VideoProcessingFailureReason """ The size of the video file in bytes. """ size: Int! """ The current status of the video processing. """ status: VideoStatusEnum! """ The URL of the thumbnail image of the video. **Note**: This object returns `null` if no thumbnail was provided during video upload, and video status is not `LIVE`. """ thumbnail: VideoThumbnail """ The title of the video. **Note**: This field returns `null` if the video was uploaded without a title. **Maximum length**: 1024 characters """ title: String """ The duration of the video in ISO-8601 format (for example, `PT15S` for 15 seconds). **Note**: This object returns `null` if the status of the video is not `LIVE`. """ videoDuration: Duration """ The width of the video in pixels. **Note**: This field returns `0` if video status is `PROCESSING_FAILED`. """ width: Int } """ This type is used for a successful **videosByIds** query. On success, metadata details for the videos matching the specified identifiers are returned. """ type VideoByIdSuccess { """ This object returns metadata details (such as title, size, description, ID, playlist, status, expiration date, and thumbnail image) for the videos matching the specified video identifiers. """ video: Video! } """ This type indicates that processing failed because the video file is corrupted or unreadable. """ type VideoCorruptedError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type indicates that a generic internal error occurred. """ type VideoInternalProcessingError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type indicates that processing failed due to invalid input data provided during upload. """ type VideoInvalidInputValidationError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type indicates that processing failed due to an invalid video or audio codec/stream. """ type VideoInvalidMediaStreamError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type represents the list of videos (and their metadata) and/or errors returned by the **videosByIds** query. """ type VideoList { """ This array returns a list of videos, specified by their unique identifiers. If one or more specified videos cannot be retrieved, an error will be returned for each video detailing the reason why. """ videoList: [VideoResult]! } """ This type defines the reason(s) why the specified video was blocked by moderators. """ type VideoModeration { """ This array returns a list of one or more reasons why the video failed moderation and was blocked from being published. """ rejectReasons: [VideoRejectReasonEnum!]! } """ This type indicates that processing failed due to a system error during moderation. """ type VideoModerationFailedError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type represents a streaming endpoint for a video, providing the URL to access the content. **Note**: This type is only applicable when a video has been successfully processed and has a status of `LIVE`. """ type VideoPlaylist { """ The playable URL for this video. **Maximum length**: 120 characters """ playUrl: HttpOrHttpsUrl! """ The streaming protocol for the video playlist. Supported protocols include `DASH` and `HLS`. """ protocol: VideoPlaylistProtocolEnum! } """ This type indicates that the video was processed, but the final playlist (HLS/DASH) could not be generated. """ type VideoPlaylistGenerationError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This enumerated type indicates the protocol for the video playlist. Supported protocols are `DASH` (Dynamic Adaptive Streaming over HTTP) and `HLS` (HTTP Live Streaming). """ enum VideoPlaylistProtocolEnum { """ This enum value indicates the protocol for the video playlist is `DASH` (Dynamic Adaptive Streaming over HTTP). """ DASH """ This enum value indicates the protocol for the video playlist is `HLS` (HTTP Live Streaming). """ HLS } """ The common interface for all video processing failures. New implementing types may be introduced over time. """ interface VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This enumerated type represents the categories of video processing failures. """ enum VideoProcessingFailureCategoryEnum { """ This enum value indicates that video processing failed due to a server or system error during processing of the video. """ INTERNAL """ This enum value indicates that video processing failed due to invalid request parameters or data during video upload. """ REQUEST } """ This union represents the specific reasons why video processing failed. Additional types may be added to this union in the future. """ union VideoProcessingFailureReason = VideoCorruptedError | VideoInternalProcessingError | VideoInvalidInputValidationError | VideoInvalidMediaStreamError | VideoModerationFailedError | VideoPlaylistGenerationError | VideoProcessingTimeoutError | VideoSystemResourceError | VideoThumbnailGenerationError """ This type indicates that processing took too long and was aborted by the system. """ type VideoProcessingTimeoutError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This enumerated type indicates the reason for moderation failure. """ enum VideoRejectReasonEnum { """ This enum value indicates that the video is blocked because some parts are blurry and cannot be seen clearly. """ BLURRED """ This enum value indicates that the video is blocked because it leads buyers away from the eBay site. Refer to eBay's [Offering to buy or sell outside of eBay policy](https://www.ebay.com/help/policies/payment-policies/offering-buy-sell-outside-ebay-policy?id=4272) for details. """ DIRECTS_OFF_EBAY """ This enum value indicates that the video is blocked because the audio playback is distorted. """ DISTORTED_AUDIO """ This enum value indicates that the video is blocked because some parts appear frozen and do not play correctly. """ FREEZES """ This enum value indicates that the video is blocked due to an inappropriate depiction of minors. Refer to eBay's [Protecting minors policy](https://www.ebay.com/help/policies/prohibited-restricted-items/protecting-minors-policy?id=5057) for details. """ INAPPROPRIATE_DEPICTION """ This enum value indicates that the video is blocked because the Maximum length has been exceeded. """ MAX_LENGTH_EXCEEDED """ This enum value indicates that the video is blocked because it contains nudity. Refer to eBay's [Adult items policy](https://www.ebay.com/help/policies/prohibited-restricted-items/adult-items-policy?id=4278) for details. """ NUDITY """ This enum value indicates that the video is blocked because it contains offensive content. Refer to eBay's [Offensive materials policy](https://www.ebay.com/help/policies/prohibited-restricted-items/offensive-materials-policy?id=4324) for details. """ OFFENSIVE_CONTENT """ This enum value indicates that the video is blocked due to some other specific or atypical policy violation. """ OTHER_POLICY_VIOLATION """ This enum value indicates that the video is blocked because some parts are pixelated and cannot be seen clearly. """ PIXELATED } """ This union type specifies the result of a successful or partially successful **videosByIds** query. For each successfully retrieved video, metadata and details for the video will be returned. If a video could not be successfully retrieved, an error will be returned for each video detailing the reason why. Additional types may be added to this union in the future. """ union VideoResult = ReferenceArgumentsNotFound | VideoByIdSuccess """ This input type defines the input parameters for the **videoByIds** query. """ input VideosByIdsInput { """ This array specifies the unique identifiers of the video(s) for which to retrieve video metadata. """ videoIds: [ID!]! } """ The union type for the **videosByIds** query. This type covers three possible scenarios: success, partial success, and failure. If the **videosByIds** query succeeds, the list of videos (specified by their **videoId** value) and their metadata will be returned. If the **videosByIds** query only partially succeeds, an error for each video that was not found using the provided identifiers will be returned. If the **videosByIds** query fails, an error will be returned explaining that the maximum amount of video IDs allowed in the input has been exceeded. """ union VideosByIdsResult = MaxVideoIdsAllowedExceeded | VideoList """ This enumerated type indicates the video's status. Typically a video will progress through the following states: `PENDING_UPLOAD` -> `PROCESSING` -> `LIVE`. A video may also enter terminal states such as `PROCESSING_FAILED` or `BLOCKED` depending on various conditions, instead of reaching `LIVE`. New status values may be added in the future; clients should handle unknown values gracefully. """ enum VideoStatusEnum { """ This enum value indicates that the video is blocked. A video might be `BLOCKED` if it contains malware, or if it is blocked by the video moderation feature. """ BLOCKED """ This enum value indicates that the video is live. When the status of the video is `LIVE`, this indicates the file has been processed and uploaded successfully. The playlist providing URLs for the video streaming protocols is generated when processing completes successfully. """ LIVE """ This enum value indicates that the video is pending upload. The video is being associated with a video ID and has not been uploaded yet. """ PENDING_UPLOAD """ This enum value indicates that the video upload is processing. After a video upload is successfully completed, the status will show as `PROCESSING` until the video reaches one of the terminal states of `LIVE`, `BLOCKED`, or `PROCESSING_FAILED`. """ PROCESSING """ This enum value indicates that the video failed to process. Videos can fail to process for a number of reasons such as the file being corrupted, the file being too large, or the file's size doesn't match what was provided in the metadata. Refer to the error messages to determine the cause of the video's failure to upload. """ PROCESSING_FAILED } """ This type indicates that processing failed due to insufficient system resources (e.g., out of memory). """ type VideoSystemResourceError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type represents a video thumbnail image. """ type VideoThumbnail { """ The URL of the thumbnail image of the video. The URL must match the pattern `(?i)http(s)?://i.ebayimg.com/.*` and be a valid eBay Picture URL. """ imageUrl: HttpOrHttpsUrl! } """ This type indicates that processing failed during the thumbnail generation step. """ type VideoThumbnailGenerationError implements VideoProcessingError { """ The high-level error category indicating the type of failure. """ category: VideoProcessingFailureCategoryEnum! """ A non-localized error message describing the processing failure. **Maximum length**: 150 characters """ message: String! } """ This type represents an individual item in the user's default Watchlist. """ type WatchedItem { """ The unique identifier of the item being watched. """ item: Item! """ The date and time when this item was added to the user's Watchlist. **Format**: ISO 8601 date-time string (`YYYY-MM-DDTHH:mm:ss.sssZ`) """ startedWatchingAt: DateTime! """ The item's price at the time the user started watching it. """ startedWatchingPrice: ConvertedAmount! } """ This type defines the details of why a specific item failed to be added to a user's Watchlist. """ type WatchListAddFailure { """ The unique identifier of the item that failed to be added to the user's Watchlist. """ item: Item! """ The reason the item failed to be added to the user's Watchlist. """ reason: WatchListAddFailureReason! } """ This enumerated type contains the reasons why an item might fail to be added to a user's Watchlist. """ enum WatchListAddFailureReason { """ This enum value indicates that the item is already in the user's Watchlist. """ ITEM_ALREADY_WATCHED """ This enum value indicates that the listing is not part of an active listing and cannot be added to a Watchlist. """ ITEM_NOT_ACTIVE """ This enum value indicates that the specified item ID cannot be found. """ ITEM_NOT_FOUND """ This enum value indicates that the user's Watchlist is full and no further items can be added at this time. """ WATCHLIST_FULL } """ This type is used to specify an item to be added to a user's Watchlist. """ input WatchListEntryToAdd { """ The unique identifier of the item being added to a user's Watchlist. """ itemId: ID! } """ This type is used to specify an item to be removed from a user's Watchlist. """ input WatchListEntryToRemove { """ The unique identifier of an item being removed from a user's Watchlist. """ itemId: ID! } """ This type defines the details of why a specific item failed to be removed from a user's Watchlist. """ type WatchListRemoveFailure { """ The unique identifier of the item that failed to be removed from the user's Watchlist. """ item: Item! """ The reason the item failed to be removed from the user's Watchlist. """ reason: WatchListRemoveFailureReason! } """ This enumerated type contains the reason an item failed to be removed from a user's Watchlist. """ enum WatchListRemoveFailureReason { """ The item is not currently in the user's Watchlist. """ ITEM_NOT_WATCHED } """ This enumeration type consists of the units of measurement that are used to specify shipping package weight. """ enum WeightUnitType { """ This enumeration value indicates that the shipping package weight is measured in grams. """ GRAM """ This enumeration value indicates that the shipping package weight is measured in kilograms. """ KILOGRAM """ This enumeration value indicates that the shipping package weight is measured in ounces. """ OUNCE """ This enumeration value indicates that the shipping package weight is measured in pounds. """ POUND } """ This type is used to identify wire transfer as the payment method. """ type WireTransfer implements PaymentMethodType { """ The unique identifier of wire transfer. """ code: ID! """ The descriptive name of the wire transfer payment method. """ descriptiveName: String! """ The display name of the wire transfer payment method. """ displayName: String! } """ This enumerated type provides context for the refund adjustment or deduction applied in accordance with the applicable return policy. """ enum WithholdReturnRefundReasonInput { """ This enumeration value indicates that item was returned in a damaged condition, which has resulted in a loss of value. """ RETURNED_IN_DAMAGED_CONDITION """ This enumeration value indicates that item was returned in a used condition, which has resulted in a loss of value. """ RETURNED_IN_USED_CONDITION """ This enumeration value indicates that item was returned with missing parts, which has resulted in a loss of value. """ RETURNED_WITH_MISSING_PARTS } """ This type indicates the item is returned because the buyer received an item that does not match the item ordered. Displays as **Wrong item received**. """ type WrongItemReceived implements ReturnReason { """ A machine-readable reason code: `WRONG_ITEM_RECEIVED`. """ code: String! """ A human-readable description of the return reason. This alphanumeric string is not localized and may change without notice. **Maximum length**: 100 characters """ displayText: String! } """ This type is used to identify ZIPPay as the payment method. """ type ZIP implements PaymentMethodType { """ The unique identifier of the ZIPPay payment method. """ code: ID! """ The descriptive name of the ZIPPay payment method. """ descriptiveName: String! """ The display name of the ZIPPay payment method. """ displayName: String! }