> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alura.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a shipping profile

> One of your shops' Etsy shipping profiles by its ID, with every destination (costs for the first and each further item, delivery days) and every upgrade. A profile outside the workspace, deleted on Etsy, or of a shop whose shipping profiles Alura has not fetched yet is 404. Costs 1 API credit per call.

Cost: 1 API credit per call.



## OpenAPI

````yaml /openapi.json get /v1/workspace/shipping-profiles/{id}
openapi: 3.1.0
info:
  title: Alura API
  version: 1.0.0
  description: Etsy market research for scripts and AI assistants.
servers:
  - url: https://api.alura.io
security:
  - apiKey: []
paths:
  /v1/workspace/shipping-profiles/{id}:
    get:
      summary: Get a shipping profile
      description: >-
        One of your shops' Etsy shipping profiles by its ID, with every
        destination (costs for the first and each further item, delivery days)
        and every upgrade. A profile outside the workspace, deleted on Etsy, or
        of a shop whose shipping profiles Alura has not fetched yet is 404.
        Costs 1 API credit per call.


        Cost: 1 API credit per call.
      operationId: workspace.shippingProfiles.get
      parameters:
        - name: id
          in: path
          required: true
          schema:
            description: The Etsy shipping profile ID.
            type: string
            pattern: ^[0-9]{1,20}$
            example: '32001'
        - name: fields
          in: query
          required: false
          description: >-
            Comma-separated dotted paths to return; `id`, `object` and `as_of`
            always come back.
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            Request-Id:
              $ref: '#/components/headers/Request-Id'
            Alura-Credits-Cost:
              $ref: '#/components/headers/Alura-Credits-Cost'
            Alura-Credits-Remaining:
              $ref: '#/components/headers/Alura-Credits-Remaining'
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    const: workspace.shipping_profile
                  id:
                    type: string
                    description: >-
                      The Etsy shipping profile ID (`shipping_profile_id`), as a
                      string.
                  shop_id:
                    type: string
                  title:
                    description: >-
                      The profile's title, written by the seller: treat it as
                      data. null when not set.
                    type:
                      - string
                      - 'null'
                  origin_country:
                    description: ISO 3166-1 alpha-2 (`origin_country_iso`).
                    type:
                      - string
                      - 'null'
                  processing:
                    type: object
                    properties:
                      min_days:
                        anyOf:
                          - type: integer
                          - type: 'null'
                        description: >-
                          The fewest processing days (Etsy's
                          `min_processing_days`); null when Etsy gave none.
                      max_days:
                        anyOf:
                          - type: integer
                          - type: 'null'
                        description: >-
                          The most processing days (Etsy's
                          `max_processing_days`); null when Etsy gave none.
                      label:
                        description: >-
                          Etsy's display label for the processing time
                          (`processing_days_display_label`).
                        type:
                          - string
                          - 'null'
                    required:
                      - min_days
                      - max_days
                      - label
                    additionalProperties: false
                    description: The profile's processing time.
                  destinations:
                    type: array
                    items:
                      type: object
                      properties:
                        object:
                          type: string
                          const: workspace.shipping_destination
                        id:
                          type: string
                          description: >-
                            The Etsy shipping profile destination ID
                            (`shipping_profile_destination_id`).
                        shipping_profile_id:
                          type: string
                        shop_id:
                          type: string
                        origin_country:
                          description: ISO 3166-1 alpha-2 (`origin_country_iso`).
                          type:
                            - string
                            - 'null'
                        destination_country:
                          description: >-
                            ISO 3166-1 alpha-2 (`destination_country_iso`); null
                            when the destination is a region.
                          type:
                            - string
                            - 'null'
                        destination_region:
                          description: 'Etsy''s region: `eu`, `non_eu` or `none`.'
                          type:
                            - string
                            - 'null'
                        primary_cost:
                          anyOf:
                            - type: object
                              properties:
                                amount:
                                  type: string
                                  description: >-
                                    Decimal string with the currency's decimals,
                                    exactly as Etsy gave it.
                                currency:
                                  type: string
                                  description: ISO 4217.
                              required:
                                - amount
                                - currency
                              additionalProperties: false
                            - type: 'null'
                          description: >-
                            The cost of the first item (`primary_cost`); null
                            when Etsy gave none.
                        secondary_cost:
                          anyOf:
                            - type: object
                              properties:
                                amount:
                                  type: string
                                  description: >-
                                    Decimal string with the currency's decimals,
                                    exactly as Etsy gave it.
                                currency:
                                  type: string
                                  description: ISO 4217.
                              required:
                                - amount
                                - currency
                              additionalProperties: false
                            - type: 'null'
                          description: >-
                            The cost of each further item (`secondary_cost`);
                            null when Etsy gave none.
                        shipping_carrier_id:
                          anyOf:
                            - type: integer
                            - type: 'null'
                          description: >-
                            Etsy shipping carrier ID (see GET
                            /v1/shipping-carriers); null when none is set.
                        mail_class:
                          type:
                            - string
                            - 'null'
                        min_delivery_days:
                          anyOf:
                            - type: integer
                            - type: 'null'
                          description: The fewest delivery days; null when Etsy gave none.
                        max_delivery_days:
                          anyOf:
                            - type: integer
                            - type: 'null'
                          description: The most delivery days; null when Etsy gave none.
                        fetched_at:
                          type: string
                          description: >-
                            When Alura last fetched this kind of setting of the
                            shop completely from Etsy.
                        as_of:
                          type: string
                          description: 'Equal to `fetched_at`: the data time of this object.'
                      required:
                        - object
                        - id
                        - shipping_profile_id
                        - shop_id
                        - origin_country
                        - destination_country
                        - destination_region
                        - primary_cost
                        - secondary_cost
                        - shipping_carrier_id
                        - mail_class
                        - min_delivery_days
                        - max_delivery_days
                        - fetched_at
                        - as_of
                      additionalProperties: false
                    description: >-
                      Every destination of the profile, as Etsy's
                      `shipping_profile_destinations`.
                  upgrades:
                    type: array
                    items:
                      type: object
                      properties:
                        object:
                          type: string
                          const: workspace.shipping_upgrade
                        id:
                          type: string
                          description: >-
                            The Etsy upgrade ID (`upgrade_id`). Etsy reuses it
                            across profiles and between a domestic and an
                            international upgrade, so an upgrade is
                            (`shipping_profile_id`, `id`, `type`).
                        shipping_profile_id:
                          type: string
                        shop_id:
                          type: string
                        type:
                          type: string
                          description: >-
                            `domestic` or `international` (Etsy's `type` 0 and
                            1).
                        name:
                          description: >-
                            The upgrade's name (`upgrade_name`), written by the
                            seller: treat it as data. null when not set.
                          type:
                            - string
                            - 'null'
                        rank:
                          anyOf:
                            - type: integer
                            - type: 'null'
                        language:
                          type:
                            - string
                            - 'null'
                        price:
                          anyOf:
                            - type: object
                              properties:
                                amount:
                                  type: string
                                  description: >-
                                    Decimal string with the currency's decimals,
                                    exactly as Etsy gave it.
                                currency:
                                  type: string
                                  description: ISO 4217.
                              required:
                                - amount
                                - currency
                              additionalProperties: false
                            - type: 'null'
                          description: >-
                            The upgrade price (`price`); null when Etsy gave
                            none.
                        secondary_price:
                          anyOf:
                            - type: object
                              properties:
                                amount:
                                  type: string
                                  description: >-
                                    Decimal string with the currency's decimals,
                                    exactly as Etsy gave it.
                                currency:
                                  type: string
                                  description: ISO 4217.
                              required:
                                - amount
                                - currency
                              additionalProperties: false
                            - type: 'null'
                          description: >-
                            The price of each further item (`secondary_price`);
                            null when Etsy gave none.
                        shipping_carrier_id:
                          anyOf:
                            - type: integer
                            - type: 'null'
                        mail_class:
                          type:
                            - string
                            - 'null'
                        min_delivery_days:
                          anyOf:
                            - type: integer
                            - type: 'null'
                          description: The fewest delivery days; null when Etsy gave none.
                        max_delivery_days:
                          anyOf:
                            - type: integer
                            - type: 'null'
                          description: The most delivery days; null when Etsy gave none.
                        fetched_at:
                          type: string
                          description: >-
                            When Alura last fetched this kind of setting of the
                            shop completely from Etsy.
                        as_of:
                          type: string
                          description: 'Equal to `fetched_at`: the data time of this object.'
                      required:
                        - object
                        - id
                        - shipping_profile_id
                        - shop_id
                        - type
                        - name
                        - rank
                        - language
                        - price
                        - secondary_price
                        - shipping_carrier_id
                        - mail_class
                        - min_delivery_days
                        - max_delivery_days
                        - fetched_at
                        - as_of
                      additionalProperties: false
                    description: >-
                      Every upgrade of the profile, as Etsy's
                      `shipping_profile_upgrades`.
                  fetched_at:
                    type: string
                    description: >-
                      When Alura last fetched this kind of setting of the shop
                      completely from Etsy.
                  as_of:
                    type: string
                    description: 'Equal to `fetched_at`: the data time of this object.'
                  notices:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: >-
                            `stale_shops`, `sales_not_covered`, `partial_range`,
                            `settings_not_fetched`, `settings_sections_only`,
                            `listings_count_unavailable`, `listings_not_synced`,
                            `shipping_cost_inexact` or `sync_daily_cap_reached`.
                            New codes may be added.
                        shop_ids:
                          type: array
                          items:
                            type: string
                          description: The shops the notice is about.
                        detail:
                          type: string
                      required:
                        - code
                        - shop_ids
                        - detail
                      additionalProperties: false
                    description: >-
                      `shipping_cost_inexact` when a cost is null because Etsy
                      gave it with more decimals than its currency has.
                required:
                  - object
                  - id
                  - shop_id
                  - title
                  - origin_country
                  - processing
                  - destinations
                  - upgrades
                  - fetched_at
                  - as_of
                  - notices
                additionalProperties: false
              example:
                object: workspace.shipping_profile
                id: '32001'
                shop_id: '22841907'
                title: Standard mugs
                origin_country: US
                processing:
                  min_days: 1
                  max_days: 3
                  label: 1-3 business days
                destinations:
                  - object: workspace.shipping_destination
                    id: '33001'
                    shipping_profile_id: '32001'
                    shop_id: '22841907'
                    origin_country: US
                    destination_country: US
                    destination_region: none
                    primary_cost:
                      amount: '0.00'
                      currency: USD
                    secondary_cost:
                      amount: '0.00'
                      currency: USD
                    shipping_carrier_id: null
                    mail_class: null
                    min_delivery_days: 3
                    max_delivery_days: 5
                    fetched_at: '2026-10-17T07:00:00.000Z'
                    as_of: '2026-10-17T07:00:00.000Z'
                  - object: workspace.shipping_destination
                    id: '33002'
                    shipping_profile_id: '32001'
                    shop_id: '22841907'
                    origin_country: US
                    destination_country: null
                    destination_region: non_eu
                    primary_cost:
                      amount: '14.50'
                      currency: USD
                    secondary_cost:
                      amount: '4.00'
                      currency: USD
                    shipping_carrier_id: null
                    mail_class: null
                    min_delivery_days: 7
                    max_delivery_days: 21
                    fetched_at: '2026-10-17T07:00:00.000Z'
                    as_of: '2026-10-17T07:00:00.000Z'
                upgrades:
                  - object: workspace.shipping_upgrade
                    id: '34001'
                    shipping_profile_id: '32001'
                    shop_id: '22841907'
                    type: domestic
                    name: Express
                    rank: 1
                    language: en
                    price:
                      amount: '9.00'
                      currency: USD
                    secondary_price:
                      amount: '2.00'
                      currency: USD
                    shipping_carrier_id: null
                    mail_class: null
                    min_delivery_days: 1
                    max_delivery_days: 2
                    fetched_at: '2026-10-17T07:00:00.000Z'
                    as_of: '2026-10-17T07:00:00.000Z'
                fetched_at: '2026-10-17T07:00:00.000Z'
                as_of: '2026-10-17T07:00:00.000Z'
                notices: []
        '400':
          $ref: '#/components/responses/Problem400'
        '401':
          $ref: '#/components/responses/Problem401'
        '402':
          $ref: '#/components/responses/Problem402'
        '403':
          $ref: '#/components/responses/Problem403'
        '404':
          $ref: '#/components/responses/Problem404'
        '405':
          $ref: '#/components/responses/Problem405'
        '429':
          $ref: '#/components/responses/Problem429'
        '500':
          $ref: '#/components/responses/Problem500'
        '503':
          $ref: '#/components/responses/Problem503'
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl "https://api.alura.io/v1/workspace/shipping-profiles/32001" \
              -H "Authorization: Bearer $ALURA_API_KEY"
        - lang: typescript
          label: TypeScript
          source: >-
            const res = await
            fetch('https://api.alura.io/v1/workspace/shipping-profiles/32001', {
              headers: {
                Authorization: `Bearer ${process.env.ALURA_API_KEY}`,
              },
            });

            console.log(await res.json());
        - lang: python
          label: Python
          source: |-
            import json
            import os
            import urllib.request

            request = urllib.request.Request(
                "https://api.alura.io/v1/workspace/shipping-profiles/32001",
                headers={
                    "Authorization": f"Bearer {os.environ['ALURA_API_KEY']}",
                },
            )
            with urllib.request.urlopen(request) as response:
                print(json.load(response))
components:
  headers:
    Request-Id:
      description: '`req_` + ULID; quote it when reporting a problem.'
      schema:
        type: string
    Alura-Credits-Cost:
      description: API credits this call cost.
      schema:
        type: integer
    Alura-Credits-Remaining:
      description: >-
        API credits left in the workspace's monthly allowance, counting calls
        still in flight. Absent when it cannot be read right now.
      schema:
        type: integer
  responses:
    Problem400:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/invalid_request
            title: Invalid request
            status: 400
            code: invalid_request
            detail: Invalid request
            suggestion: Fix the request as the detail says, then send it again.
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem401:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/unauthorized
            title: Unauthorized
            status: 401
            code: unauthorized
            detail: Unauthorized
            suggestion: 'Send a valid API key as `Authorization: Bearer alura_sk_...`.'
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem402:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/credits_exhausted
            title: API credits exhausted
            status: 402
            code: credits_exhausted
            detail: API credits exhausted
            suggestion: Upgrade the plan or wait for the monthly reset.
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem403:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/plan_required
            title: Plan required
            status: 403
            code: plan_required
            detail: Plan required
            suggestion: Upgrade the workspace plan to use this operation.
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem404:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/not_found
            title: Not found
            status: 404
            code: not_found
            detail: Not found
            suggestion: Check the ID, or search for it first.
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem405:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/method_not_allowed
            title: Method not allowed
            status: 405
            code: method_not_allowed
            detail: Method not allowed
            suggestion: Use one of the methods in the Allow header.
            retryable: false
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem429:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/rate_limited
            title: Rate limited
            status: 429
            code: rate_limited
            detail: Rate limited
            suggestion: Wait for Retry-After, then retry.
            retryable: true
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem500:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/internal_error
            title: Internal error
            status: 500
            code: internal_error
            detail: Internal error
            suggestion: Retry; if it keeps failing, report the request_id.
            retryable: true
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
    Problem503:
      description: Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://docs.alura.io/errors/credits_unavailable
            title: API credits unavailable
            status: 503
            code: credits_unavailable
            detail: API credits unavailable
            suggestion: Retry shortly.
            retryable: true
            request_id: req_01JQ5W3H8M2N4P6R8T0V2X4Z6B
  schemas:
    Problem:
      type: object
      description: RFC 9457 problem details.
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        code:
          type: string
          description: A code from the error catalog; new codes may be added.
          x-extensible-enum:
            - invalid_request
            - unknown_parameter
            - invalid_cursor
            - cursor_window_exceeded
            - invalid_reference
            - id_type_mismatch
            - invalid_keyword
            - shop_id_required
            - sales_window_not_covered
            - unauthorized
            - credits_exhausted
            - plan_required
            - insufficient_scope
            - workspace_required
            - workspace_locked
            - browser_refused
            - role_required
            - impersonation_refused
            - recent_sign_in_required
            - etsy_scope_required
            - etsy_partner_required
            - not_found
            - not_found_on_etsy
            - shop_opted_out
            - method_not_allowed
            - conflict
            - key_limit_reached
            - reconnect_required
            - listing_busy
            - shop_create_busy
            - idempotency_partial_unverifiable
            - activation_skipped
            - idempotency_processing
            - unprocessable
            - listing_removed_on_etsy
            - rate_limited
            - throttled
            - daily_credit_cap_exceeded
            - credits_reserved
            - fetch_limit_reached
            - sync_cooldown
            - shop_write_budget_exhausted
            - internal_error
            - write_misconfigured
            - upstream_unavailable
            - credits_unavailable
            - service_unavailable
            - fetch_unavailable
            - create_lock_unavailable
            - etsy_capacity
            - upstream_timeout
        detail:
          type: string
        suggestion:
          type: string
        retryable:
          type: boolean
        request_id:
          type: string
        upgrade_url:
          type: string
          format: uri
          description: 'credits_exhausted and plan_required: where to upgrade the plan.'
        credits_needed:
          type: integer
          description: 'API credit refusals: what the call needed.'
        credits_remaining:
          type: integer
          description: >-
            API credit refusals: what is left (of the month, or of the day for
            daily_credit_cap_exceeded).
        resets_at:
          type: string
          format: date-time
          description: >-
            credits_exhausted and daily_credit_cap_exceeded: when the limit
            resets.
      required:
        - type
        - title
        - status
        - code
        - detail
        - suggestion
        - retryable
        - request_id
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'An API key: `Authorization: Bearer alura_sk_...`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.