Refurbed ShippingProfileService API

The ShippingProfileService API from Refurbed — 6 operation(s) for shippingprofileservice.

Operations 6

POST /refb.merchant.v1.ShippingProfileService/CreateShippingProfile Creates a shipping profile. #
POST /refb.merchant.v1.ShippingProfileService/DeleteShippingProfile Deletes a shipping profile. Only shipping profiles marked as deletable can be deleted. #
POST /refb.merchant.v1.ShippingProfileService/GetShippingProfile Gets a single shipping profile. If no version is defined, its current version is returned. #
POST /refb.merchant.v1.ShippingProfileService/ListAvailableCarriers Lists available carriers for shipping profiles. Make sure to pre-fetch and cache the response of this method to avoid running into rate-limits. #
POST /refb.merchant.v1.ShippingProfileService/ListShippingProfiles Lists all current shipping profiles. #
POST /refb.merchant.v1.ShippingProfileService/UpdateShippingProfile Updates a shipping profile. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/refurbed-shippingprofileservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

refurbed-shippingprofileservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Affiliate Partner BuybackBidService Shipping Profile Service API
  version: '1.0'
  description: The refurbed affiliate partner API allows to retrieve info about markets, products and instances including the buybox info (current price, grading, warranty).
  contact:
    name: Refurbed Affiliate Partner Integrations Team
    email: integrations@refurbed.com
servers:
- url: https://api.refurbed.com
security:
- APIKeyAuth: []
tags:
- name: ShippingProfileService
paths:
  /refb.merchant.v1.ShippingProfileService/CreateShippingProfile:
    post:
      summary: Creates a shipping profile.
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- INVALID_ARGUMENT\n  - when unknown source country market code is provided\n  - when unknown destination market code is provided\n  - when invalid shipping costs amount\n  - when unknown currency code is provided\n  - when invalid min/max delivery days\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: CreateShippingProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateShippingProfileResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateShippingProfileRequest'
        required: true
  /refb.merchant.v1.ShippingProfileService/DeleteShippingProfile:
    post:
      summary: 'Deletes a shipping profile.

        Only shipping profiles marked as deletable can be deleted.'
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- FAILED_PRECONDITION\n  - when shipping profile has at least one active offer assigned\n- NOT_FOUND\n  - when shipping profile is not found\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: DeleteShippingProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                properties: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteShippingProfileRequest'
        required: true
  /refb.merchant.v1.ShippingProfileService/GetShippingProfile:
    post:
      summary: 'Gets a single shipping profile.

        If no version is defined, its current version is returned.'
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- NOT_FOUND\n  - when the shipping profile is not found\n  - when the shipping profile has been deleted and no version is given as\n    parameter even though the individual historic versions are still\n    accessible\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: GetShippingProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShippingProfileResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetShippingProfileRequest'
        required: true
  /refb.merchant.v1.ShippingProfileService/ListAvailableCarriers:
    post:
      summary: 'Lists available carriers for shipping profiles.

        Make sure to pre-fetch and cache the response of this method to avoid running into rate-limits.'
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: ListAvailableCarriers
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAvailableCarriersResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              properties: {}
        required: true
  /refb.merchant.v1.ShippingProfileService/ListShippingProfiles:
    post:
      summary: Lists all current shipping profiles.
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- INVALID_ARGUMENT\n  - when pagination limit is too large (>100)\n  - when both \"ending_before\" and \"starting_after\" are specified in pagination\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: ListShippingProfiles
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListShippingProfilesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListShippingProfilesRequest'
        required: true
  /refb.merchant.v1.ShippingProfileService/UpdateShippingProfile:
    post:
      summary: Updates a shipping profile.
      description: "Known errors:\n- UNAUTHENTICATED\n  - when no authorization header is sent\n  - when authorization header is malformed or invalid\n- PERMISSION_DENIED\n  - when the authorized user does not have permissions for this operation\n- INVALID_ARGUMENT\n  - when unknown source country market code is provided\n  - when unknown destination market code is provided\n  - when invalid shipping costs amount\n  - when unknown currency code is provided\n  - when invalid min/max delivery days\n- ALREADY_EXISTS\n  - when destination already exists for provided market code\n- RESOURCE_EXHAUSTED\n  - when rate limit is exceeded"
      operationId: UpdateShippingProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateShippingProfileResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - ShippingProfileService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateShippingProfileRequest'
        required: true
components:
  schemas:
    Status:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: 'A developer-facing error message, which should be in English. Any

            user-facing error message should be localized and sent in the

            [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.'
        details:
          type: array
          items:
            $ref: '#/components/schemas/Any'
          description: 'A list of messages that carry the error details.  There is a common set of

            message types for APIs to use.'
      description: 'The `Status` type defines a logical error model that is suitable for

        different programming environments, including REST APIs and RPC APIs. It is

        used by [gRPC](https://github.com/grpc). Each `Status` message contains

        three pieces of data: error code, error message, and error details.


        You can find out more about this error model and how to work with it in the

        [API Design Guide](https://cloud.google.com/apis/design/errors).'
    CreateShippingProfileRequest:
      type: object
      properties:
        name:
          type: string
          required:
          - name
        source_country_market_code:
          type:
          - string
          - 'null'
          description: 'Deprecated: use source_address instead.'
          required:
          - source_country_market_code
        source_address:
          $ref: '#/components/schemas/CreateShippingProfileRequest.Address'
          description: Address to use for estimating parcel delivery dates.
        create_destinations:
          type: array
          items:
            $ref: '#/components/schemas/CreateShippingProfileRequest.CreateDestination'
          description: Destinations to create.
      description: See shipping profile for full documentation.
      required:
      - name
      - source_country_market_code
    CreateShippingProfileRequest.Address:
      type: object
      properties:
        first_name:
          type:
          - string
          - 'null'
        family_name:
          type:
          - string
          - 'null'
        company_name:
          type: string
          required:
          - company_name
        country_code:
          $ref: '#/components/schemas/CountryCode'
        post_code:
          type: string
          required:
          - post_code
        town:
          type: string
          required:
          - town
        street_name:
          type: string
          required:
          - street_name
        house_no:
          type: string
          required:
          - house_no
        supplement:
          type:
          - string
          - 'null'
        phone_number:
          type:
          - string
          - 'null'
      required:
      - company_name
      - post_code
      - town
      - street_name
      - house_no
    ListShippingProfilesRequest.Sort.By:
      type: string
      enum:
      - ID
      - CREATED_AT
      - NAME
      - SOURCE_COUNTRY_MARKET_CODE
      - NUM_OFFERS_ASSIGNED
      - SOURCE_COUNTRY_MARKET_NAME
      default: ID
    CurrencyCode:
      type: string
      enum:
      - UNSPECIFIED
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYR
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LTL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STD
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UZS
      - VEF
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XSU
      - XUA
      - YER
      - ZAR
      - ZMW
      - ZWL
      default: UNSPECIFIED
      description: "Currency codes as specified in ISO 4217.\n\n - AED: XTS = 963; // Code reserved for testing purposes."
    ShippingProfile:
      type: object
      properties:
        id:
          type: string
          format: int64
          description: Primary key.
        version:
          type: string
          format: int64
          description: Version of the shipping profile.
        is_current:
          type: boolean
          description: 'Indicates whether this is the currently available (latest and non-deleted).

            version.'
        created_at:
          type: string
          format: date-time
          description: When the shipping profile was created.
        name:
          type: string
          description: Shipping profile name.
        source_country_market_code:
          type: string
          description: Code if the country market the parcel is being shipped from.
        source_country_market_name:
          type: string
          description: Name of the country market the parcel is being shipped from.
        source_address:
          $ref: '#/components/schemas/MerchantAddress'
          description: 'It must match the address the items are dispatched from.

            It has a non-operational ID field (a stub), so it cannot be used in API requests.'
          title: Address to use for estimating parcel delivery dates
        is_deletable:
          type: boolean
          description: 'Indicates whether the shipping profile can be deleted. Will always be

            false on historic versions.'
        num_offers_assigned:
          type:
          - integer
          - 'null'
          format: int64
          description: 'Number of offers this shipping profile is assigned to. Has to be 0 for the

            shipping profile to be deletable. Set on current version only.'
        destinations:
          type: array
          items:
            $ref: '#/components/schemas/Destination'
          description: Destinations by market code.
      description: 'A shipping profile defines from where a parcel will be shipped, and in what

        markets it will be made available and under what conditions.'
    Any:
      type: object
      properties:
        '@type':
          type: string
          description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
      additionalProperties: {}
      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    UpdateShippingProfileRequest.CreateDestination:
      type: object
      properties:
        market_code:
          type: string
          required:
          - market_code
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        shipping_costs:
          type: string
          required:
          - shipping_costs
        min_delivery_days:
          type: integer
          format: int64
          required:
          - min_delivery_days
        max_delivery_days:
          type: integer
          format: int64
          required:
          - max_delivery_days
        label_creation_enabled:
          type:
          - boolean
          - 'null'
        carrier:
          type:
          - string
          - 'null'
          description: Carrier slug, obtained from ListAvailableCarriers RPC.
        dispatch_cutoff_hour:
          type:
          - integer
          - 'null'
          format: int64
          description: The cutoff hour (1-23) for order fulfillment. Orders placed before it are to be fulfilled on the same day.
      required:
      - market_code
      - shipping_costs
      - min_delivery_days
      - max_delivery_days
    UpdateShippingProfileRequest.Address:
      type: object
      properties:
        first_name:
          type:
          - string
          - 'null'
        family_name:
          type:
          - string
          - 'null'
        company_name:
          type: string
          required:
          - company_name
        country_code:
          $ref: '#/components/schemas/CountryCode'
        post_code:
          type: string
          required:
          - post_code
        town:
          type: string
          required:
          - town
        street_name:
          type: string
          required:
          - street_name
        house_no:
          type: string
          required:
          - house_no
        supplement:
          type:
          - string
          - 'null'
        phone_number:
          type:
          - string
          - 'null'
      required:
      - company_name
      - post_code
      - town
      - street_name
      - house_no
    ListShippingProfilesRequest.Sort:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/SortOrder'
        by:
          $ref: '#/components/schemas/ListShippingProfilesRequest.Sort.By'
    MerchantAddress:
      type: object
      properties:
        id:
          type: string
          format: int64
        version:
          type: string
          format: int64
        label:
          type: string
          title: A user-defined label to identify or categorize the address, e.g. "Main Warehouse"
        first_name:
          type:
          - string
          - 'null'
        family_name:
          type:
          - string
          - 'null'
        company_name:
          type: string
        country_code:
          $ref: '#/components/schemas/CountryCode'
        post_code:
          type: string
        town:
          type: string
        street_name:
          type: string
        house_no:
          type:
          - string
          - 'null'
        supplement:
          type:
          - string
          - 'null'
        phone_number:
          type:
          - string
          - 'null'
        type:
          $ref: '#/components/schemas/MerchantAddressType'
      description: 'MerchantAddress is the address from which the merchant dispatches shipments.

        Used as the merchant''s shipping address in the context of shipping label creation.'
    ListShippingProfilesResponse:
      type: object
      properties:
        shipping_profiles:
          type: array
          items:
            $ref: '#/components/schemas/ShippingProfile'
          description: The shipping profiles found.
        has_more:
          type: boolean
          description: Indicates whether there are more results available.
    SortOrder:
      type: string
      enum:
      - ASC
      - DESC
      default: ASC
    Int64Pagination:
      type: object
      properties:
        limit:
          type:
          - integer
          - 'null'
          format: int64
          description: 'Limit on the number of results to be returned. Between 1 and 100.

            Default and maximum is 100.'
        ending_before:
          type: string
          format: int64
        starting_after:
          type: string
          format: int64
      description: Paginates resources with int64 primary key.
    ListShippingProfilesRequest.Filter:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Int64Filter'
        created_at:
          $ref: '#/components/schemas/TimestampRangeFilter'
        name:
          $ref: '#/components/schemas/ShippingProfileNameFilter'
        source_country_market_code:
          $ref: '#/components/schemas/StringFilter'
        destination_market_code:
          $ref: '#/components/schemas/StringFilter'
        num_offers_assigned:
          $ref: '#/components/schemas/UInt32RangeFilter'
    ShippingProfileNameFilter:
      type: object
      properties:
        contains:
          type:
          - string
          - 'null'
    UInt32RangeFilter:
      type: object
      properties:
        gt:
          type:
          - integer
          - 'null'
          format: int64
        ge:
          type:
          - integer
          - 'null'
          format: int64
        any_of:
          type: array
          items:
            type: integer
            format: int64
        none_of:
          type: array
          items:
            type: integer
            format: int64
        le:
          type:
          - integer
          - 'null'
          format: int64
        lt:
          type:
          - integer
          - 'null'
          format: int64
    v1.Carrier:
      type: object
      properties:
        name:
          type: string
          description: Name of the carrier. Only used for display purposes.
        slug:
          type: string
          description: Slug of the carrier. Used in requests and responses to identify the carrier.
    DeleteShippingProfileRequest:
      type: object
      properties:
        id:
          type: string
          format: int64
          required:
          - id
      required:
      - id
    MerchantAddressType:
      type: string
      enum:
      - UNSPECIFIED
      - DELIVERY
      - RETURN
      default: UNSPECIFIED
    CountryCode:
      type: string
      enum:
      - UNSPECIFIED
      - AF
      - AL
      - AQ
      - DZ
      - AS
      - AD
      - AO
      - AG
      - AZ
      - AR
      - AU
      - AT
      - BS
      - BH
      - BD
      - AM
      - BB
      - BE
      - BM
      - BT
      - BO
      - BA
      - BW
      - BV
      - BR
      - BZ
      - IO
      - SB
      - VG
      - BN
      - BG
      - MM
      - BI
      - BY
      - KH
      - CM
      - CA
      - CV
      - KY
      - CF
      - LK
      - TD
      - CL
      - CN
      - TW
      - CX
      - CC
      - CO
      - KM
      - YT
      - CG
      - CD
      - CK
      - CR
      - HR
      - CU
      - CY
      - CZ
      - BJ
      - DK
      - DM
      - DO
      - EC
      - SV
      - GQ
      - ET
      - ER
      - EE
      - FO
      - FK
      - GS
      - FJ
      - FI
      - AX
      - FR
      - GF
      - PF
      - TF
      - DJ
      - GA
      - GE
      - GM
      - PS
      - DE
      - GH
      - GI
      - KI
      - GR
      - GL
      - GD
      - GP
      - GU
      - GT
      - GN
      - GY
      - HT
      - HM
      - VA
      - HN
      - HK
      - HU
      - IS
      - IN
      - ID
      - IR
      - IQ
      - IE
      - IL
      - IT
      - CI
      - JM
      - JP
      - KZ
      - JO
      - KE
      - KP
      - KR
      - KW
      - KG
      - LA
      - LB
      - LS
      - LV
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MQ
      - MR
      - MU
      - MX
      - MC
      - MN
      - MD
      - ME
      - MS
      - MA
      - MZ
      - OM
      - NA
      - NR
      - NP
      - NL
      - CW
      - AW
      - SX
      - BQ
      - NC
      - VU
      - NZ
      - NI
      - NE
      - NG
      - NU
      - NF
      - 'NO'
      - MP
      - UM
      - FM
      - MH
      - PW
      - PK
      - PA
      - PG
      - PY
      - PE
      - PH
      - PN
      - PL
      - PT
      - GW
      - TL
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - BL
      - SH
      - KN
      - AI
      - LC
      - MF
      - PM
      - VC
      - SM
      - ST
      - SA
      - SN
      - RS
      - SC
      - SL
      - SG
      - SK
      - VN
      - SI
      - SO
      - ZA
      - ZW
      - ES
      - SS
      - SD
      - EH
      - SR
      - SJ
      - SZ
      - SE
      - CH
      - SY
      - TJ
      - TH
      - TG
      - TK
      - TO
      - TT
      - AE
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - MK
      - EG
      - GB
      - GG
      - JE
      - IM
      - TZ
      - US
      - VI
      - BF
      - UY
      - UZ
      - VE
      - WF
      - WS
      - YE
      - ZM
      default: UNSPECIFIED
      description: Alpha-2 country codes as specified in ISO 3166-1.
    UpdateShippingProfileRequest:
      type: object
      properties:
        id:
          type: string
          format: int64
          required:
          - id
        name:
          type:
          - string
          - 'null'
        source_country_market_code:
          type:
          - string
          - 'null'
          description: 'Deprecated: use source_address instead.'
        source_address:
          $ref: '#/components/schemas/UpdateShippingProfileRequest.Address'
          description: Address to use for estimating parcel delivery dates.
        create_destinations:
          type: array
          items:
            $ref: '#/components/schemas/UpdateShippingProfileRequest.CreateDestination'
          description: Destinations to create.
        update_destinations:
          type: array
          items:
            $ref: '#/components/schemas/UpdateDestination'
          description: Destinations to update.
        delete_destinations:
          type: array
          items:
            type: string
          description: Destinations to delete. Takes a list of market codes.
      description: See shipping profile for full documentation.
      required:
      - id
    UpdateDestination:
      type: object
      properties:
        market_code:
          type: string
          required:
          - market_code
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        shipping_costs:
          type:
          - string
          - 'null'
        min_delivery_days:
          type:
          - integer
          - 'null'
          format: int64
        max_delivery_days:
          type:
          - integer
          - 'null'
          format: int64
        label_creation_enabled:
          type:
          - boolean
          - 'null'
        carrier:
          type:
          - string
          - 'null'
          description: Carrier slug, obtained from ListAvailableCarriers RPC.
        dispatch_cutoff_hour:
          type:
          - integer
          - 'null'
          format: int64
          description: The cutoff hour (1-23) for order fulfillment. Orders placed before it are to be fulfilled on the same day.
      required:
      - market_code
    TimestampRangeFilter:
      type: object
      properties:
        gt:
          type:
          - string
          - 'null'
          format: date-time
        ge:
          type:
          - string
          - 'null'
          format: date-time
        any_of:
          type: array
          items:
            type: string
            format: date-time
        none_of:
          type: array
          items:
            type: string
            format: date-time
        le:
          type:
          - string
          - 'null'
          format: date-time
        lt:
          type:
          - string
          - 'null'
          format: date-time
    CreateShippingProfileResponse:
      type: object
      properties:
        shipping_profile:
          $ref: '#/components/schemas/ShippingProfile'
    Destination:
      type: object
      properties:
        market_code:
          type: string
          description: Code of the market the price is set for.
        market_name:
          type: string
          description: Name of the market the price is set for.
        is_site_market:
          type: boolean
          description: Indicates whether there exists a refurbed website for this market.
        currency_code:
          $ref: '#/components/schemas/Cu

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/refurbed/refs/heads/main/openapi/refurbed-shippingprofileservice-api-openapi.yml