> ## 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 country

> Get one country by its two-letter ISO code: its currency, whether shops there can use Etsy Payments and their payout currency, optionally with its fees and shipping carriers.

**Cost:** Free.

```bash
curl -G "https://api.alura.io/v1/etsy/countries/FR" \
  -H "Authorization: Bearer $ALURA_API_KEY" \
  --data-urlencode "expand=currency,fees,shipping_carriers"
```

The country is served as [List countries](https://docs.alura.io/api-reference/etsy/countries/list.md) serves it, and `expand` works the same way: `currency`, `fees` (today's schedule) and `shipping_carriers`, free, each `null` with a notice when Alura can't give it.

The code is ISO 3166-1 alpha-2, in any letter case. A code that isn't an assigned ISO code answers `400`, including Etsy's legacy codes `AN`, `CS` and `KV`.

> [accordion] Two kinds of payout currency
>
> The expanded `currency.payout_currency` is about the currency: whether Etsy deposits sales in it. The country's `payout_currency_code` is the currency Etsy pays sellers based in this country.


## OpenAPI

````yaml /openapi.json get /v1/etsy/countries/{code}
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/etsy/countries/{code}:
    get:
      summary: Get country
      description: >-
        One country by its ISO 3166-1 alpha-2 code, as the list serves it.
        `expand=` inlines, free: `currency` (`GET
        /v1/etsy/currencies/{currency_code}`, with its USD rate), `fees` (`GET
        /v1/etsy/fees?seller_country={code}` for today) and `shipping_carriers`
        (`GET /v1/etsy/shipping-carriers?origin_country={code}`), each with its
        own dates and notices. A part Alura cannot give is null with a notice,
        never an empty list or a zero. A code that is not an assigned ISO 3166-1
        code is 400.


        Cost: free.
      operationId: etsy.countries.get
      parameters:
        - name: code
          in: path
          required: true
          schema:
            description: >-
              ISO 3166-1 alpha-2 code, for example `FR`; any case. Etsy's legacy
              codes AN, CS and KV are not ISO codes and answer 400.
            type: string
            pattern: ^[A-Za-z]{2}$
            example: FR
        - name: fields
          in: query
          required: false
          description: >-
            Comma-separated dotted paths to return; `id`, `object` and `as_of`
            always come back.
          schema:
            type: string
        - name: expand
          in: query
          required: false
          description: >-
            Comma-separated related objects to include: `currency`, `fees`,
            `shipping_carriers`. Free.
          schema:
            type: string
            example: currency,fees,shipping_carriers
      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: country
                  code:
                    type: string
                    description: ISO 3166-1 alpha-2 code, upper case.
                  name:
                    type: string
                    description: >-
                      ISO 3166's English short name, the standard's name rather
                      than a display name (`United Kingdom of Great Britain and
                      Northern Ireland`, `Korea, Republic of`).
                  currency_code:
                    description: >-
                      The country's currency, ISO 4217 (`EUR`). null where ISO
                      4217 names no currency (Antarctica, South Georgia and the
                      South Sandwich Islands, Palestine), with a
                      `currency_unknown` notice.
                    type:
                      - string
                      - 'null'
                  payout_currency_code:
                    description: >-
                      The currency Etsy pays sellers in, for a seller whose bank
                      account is in this country (ISO 4217); USD for Payoneer
                      countries (`JP`), EUR in Bulgaria, Croatia, the Czech
                      Republic, Hungary, Poland and Romania. null exactly where
                      Etsy Payments is not available.
                    type:
                      - string
                      - 'null'
                  etsy_payments:
                    description: >-
                      A shop can sell here with Etsy Payments ("Countries
                      Eligible for Etsy Payments", which Etsy calls complete; a
                      shop opens only in one of them). The US territories are
                      true. null where Etsy doesn't say.
                    type:
                      - boolean
                      - 'null'
                  valid_from:
                    anyOf:
                      - type: string
                        format: date
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      - type: 'null'
                    description: >-
                      The day these facts took effect (Bulgaria: the euro,
                      2026-01-01); null when they held before Alura's recorded
                      history (2025-10-22).
                  sources:
                    type: array
                    items:
                      type: object
                      properties:
                        url:
                          type: string
                          description: >-
                            The page that states the fact: Etsy's Help Center,
                            Seller Handbook, Open API documentation, Etsy News
                            or an Etsy staff post (or ISO 4217 for currency
                            minor units).
                        title:
                          type: string
                          description: The page's title.
                        publisher:
                          type: string
                          enum:
                            - Etsy
                            - ISO 4217
                          description: >-
                            `Etsy` for Etsy-owned pages; `ISO 4217` for currency
                            minor units, the one source that is not Etsy.
                        published_at:
                          anyOf:
                            - type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            - type: 'null'
                          description: >-
                            When the page was published or last edited
                            (YYYY-MM-DD); null when it does not say.
                        read_at:
                          anyOf:
                            - type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                            - type: 'null'
                          description: >-
                            When Alura read the page (YYYY-MM-DD); null when not
                            recorded.
                      required:
                        - url
                        - title
                        - publisher
                        - published_at
                        - read_at
                      additionalProperties: false
                    description: >-
                      Etsy's Countries Eligible for Etsy Payments page, and a
                      second Etsy page only for what it doesn't say: the
                      bank-account and euro deposit rules, Payoneer's USD
                      deposits or India's limits. `name` and `currency_code`
                      follow ISO 3166 and ISO 4217, as their descriptions say.
                  notices:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - new_shops_unavailable
                            - international_sales_only
                            - currency_unknown
                            - currency_unsupported
                            - shipping_carriers_unknown
                          description: >-
                            What Etsy says limits selling from the country:
                            `new_shops_unavailable` (China) and
                            `international_sales_only` (India), each from the
                            Etsy page in `sources`. `currency_unknown`: ISO 4217
                            names no currency for it. With `expand`:
                            `currency_unsupported` (the country's currency is
                            not an Etsy Payments currency, so `currency` is
                            null) and `shipping_carriers_unknown` (Alura has no
                            readable carriers stored for parcels from the
                            country, so `shipping_carriers` is null, never an
                            empty list). New codes may be added.
                        detail:
                          type: string
                          description: The notice in one plain sentence.
                      required:
                        - code
                        - detail
                      additionalProperties: false
                    description: >-
                      What limits selling from the country, and why a part is
                      unknown or not inlined; empty when nothing is.
                  currency:
                    x-alura-expansion: currency
                    description: >-
                      With `expand=currency`: `GET
                      /v1/etsy/currencies/{currency_code}`, with its USD rate
                      and `rate_as_of` (its boolean `payout_currency` is the
                      currency's, not this country's `payout_currency_code`).
                      null when it is not an Etsy Payments currency
                      (`currency_unsupported`) or there is none.
                    anyOf:
                      - type: object
                        properties:
                          object:
                            type: string
                            const: currency
                          code:
                            type: string
                            description: ISO 4217 code, upper case.
                          name:
                            type: string
                            description: >-
                              The name as Etsy writes it; ISO 4217's name where
                              Etsy gives none (INR).
                          minor_units:
                            anyOf:
                              - type: integer
                              - type: 'null'
                            description: >-
                              Digits after the decimal point, from ISO 4217
                              (Etsy does not state them); null when unknown.
                          etsy_payments:
                            type: boolean
                            description: >-
                              Buyers can pay in it through Etsy Payments (Etsy's
                              "Currencies Supported for Etsy Payments"). INR is
                              false: it is listed only because Etsy charges
                              Indian sellers' payment processing fee in it, and
                              Etsy does not pay out in it either.
                          listing_currency:
                            description: >-
                              A shop can price its listings in it. Etsy confirms
                              only USD, the default shop currency, and lists no
                              others, so the rest are null (unknown).
                            type:
                              - boolean
                              - 'null'
                          payout_currency:
                            description: >-
                              Etsy deposits sales in it. null where Etsy does
                              not say (CNY).
                            type:
                              - boolean
                              - 'null'
                          valid_from:
                            anyOf:
                              - type: string
                                format: date
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                              - type: 'null'
                            description: >-
                              The day these facts took effect; null when Etsy
                              shows no start date ("from the beginning").
                          sources:
                            type: array
                            items:
                              type: object
                              properties:
                                url:
                                  type: string
                                  description: >-
                                    The page that states the fact: Etsy's Help
                                    Center, Seller Handbook, Open API
                                    documentation, Etsy News or an Etsy staff
                                    post (or ISO 4217 for currency minor units).
                                title:
                                  type: string
                                  description: The page's title.
                                publisher:
                                  type: string
                                  enum:
                                    - Etsy
                                    - ISO 4217
                                  description: >-
                                    `Etsy` for Etsy-owned pages; `ISO 4217` for
                                    currency minor units, the one source that is
                                    not Etsy.
                                published_at:
                                  anyOf:
                                    - type: string
                                      format: date
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    - type: 'null'
                                  description: >-
                                    When the page was published or last edited
                                    (YYYY-MM-DD); null when it does not say.
                                read_at:
                                  anyOf:
                                    - type: string
                                      format: date
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                    - type: 'null'
                                  description: >-
                                    When Alura read the page (YYYY-MM-DD); null
                                    when not recorded.
                              required:
                                - url
                                - title
                                - publisher
                                - published_at
                                - read_at
                              additionalProperties: false
                            description: >-
                              Etsy's page for these facts (its list of Etsy
                              Payments currencies), and a second only for what
                              it doesn't say: USD as the default shop currency,
                              INR's deposits.
                          units_per_usd:
                            description: >-
                              Units of this currency one US dollar buys, as
                              Alura last stored it (USD is 1). Divide by it to
                              convert to USD: at 0.893, 25 EUR / 0.893 = 28.00
                              USD. null when no usable rate is stored (`notices`
                              says so), never 1 or 0.
                            type:
                              - number
                              - 'null'
                          rate_as_of:
                            anyOf:
                              - type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                              - type: 'null'
                            description: >-
                              When that rate was stored (ISO 8601, UTC); null
                              with `units_per_usd`.
                          notices:
                            type: array
                            items:
                              type: object
                              properties:
                                code:
                                  type: string
                                  description: '`rate_unknown`. New codes may be added.'
                                detail:
                                  type: string
                                  description: The notice in one plain sentence.
                              required:
                                - code
                                - detail
                              additionalProperties: false
                            description: >-
                              Why a part of the currency is unknown right now;
                              empty when nothing is.
                        required:
                          - object
                          - code
                          - name
                          - minor_units
                          - etsy_payments
                          - listing_currency
                          - payout_currency
                          - valid_from
                          - sources
                          - units_per_usd
                          - rate_as_of
                          - notices
                        additionalProperties: false
                      - type: 'null'
                  fees:
                    x-alura-expansion: fees
                    description: >-
                      With `expand=fees`: `GET
                      /v1/etsy/fees?seller_country={code}` for today (UTC), with
                      its own `as_of`, `recorded_from` and notices
                      (`etsy_payments_unavailable` where Etsy Payments is not
                      available).
                    type: object
                    properties:
                      object:
                        type: string
                        const: etsy_fees
                      seller_country:
                        description: >-
                          ISO 3166-1 alpha-2, upper case; null when none was
                          given.
                        type:
                          - string
                          - 'null'
                      as_of:
                        type: string
                        format: date
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        description: The day the schedule is for.
                      recorded_from:
                        type: string
                        format: date
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        description: >-
                          The earliest day Alura's recorded fee history covers.
                          Before it, rows without a start date are today's
                          values, and a `before_recorded_history` notice says
                          so.
                      fees:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              description: >-
                                Stable fee id: `listing`, `transaction`,
                                `payment_processing`, `regulatory_operating`,
                                `offsite_ads`, `currency_conversion`,
                                `vat_on_seller_fees`, `share_and_save_refund`,
                                `etsy_plus`, and narrower ones such as
                                `listing.renewal` or `deposit`. A key can have
                                several rows (domestic and international orders,
                                the two Offsite Ads rates); `applies_when` tells
                                them apart.
                            seller_country:
                              description: >-
                                The seller country this row is for; null when it
                                is the same for every seller country without a
                                row of its own.
                              type:
                                - string
                                - 'null'
                            audience:
                              type: string
                              description: >-
                                Which sellers or orders the row is for, as a
                                short id: `all`, or for a key with several rows
                                `domestic`, `international`, `domestic_and_us`,
                                `under_threshold`, `over_threshold`, `texas`,
                                `other_states`. New values may be added.
                            kind:
                              type: string
                              enum:
                                - percent
                                - fixed
                                - percent_plus_fixed
                              description: >-
                                `percent`: `rate` of `basis`. `fixed`: `amount`.
                                `percent_plus_fixed`: both.
                            rate:
                              description: >-
                                A percent: 6.5 means 6.5%. null for a fixed fee,
                                or when Etsy does not publish it (a
                                `fee_unknown` notice says so; never 0 for
                                unknown).
                              type:
                                - number
                                - 'null'
                            amount:
                              anyOf:
                                - type: string
                                  description: A decimal string in `currency`.
                                - type: 'null'
                              description: >-
                                The fixed amount in `currency`. null for a
                                percent fee, or when Etsy does not publish it.
                            currency:
                              description: >-
                                ISO 4217 code of `amount`, `min_amount` and
                                `max_amount`; null when the fee has none (a
                                percent is in the currency of what it is charged
                                on).
                              type:
                                - string
                                - 'null'
                            min_amount:
                              anyOf:
                                - type: string
                                  description: A decimal string in `currency`.
                                - type: 'null'
                              description: >-
                                The least the fee can be, in `currency`; null
                                when Etsy sets none.
                            max_amount:
                              anyOf:
                                - type: string
                                  description: A decimal string in `currency`.
                                - type: 'null'
                              description: >-
                                The most the fee can be, in `currency` (Offsite
                                Ads: 100 USD per order); null when Etsy sets
                                none.
                            basis:
                              type: string
                              description: What it is charged on.
                            applies_when:
                              description: >-
                                Who or which orders the row is for, when not
                                every one.
                              type:
                                - string
                                - 'null'
                            note:
                              description: >-
                                What the numbers don't say, such as why a fee is
                                unknown; null when nothing needs saying.
                              type:
                                - string
                                - 'null'
                            valid_from:
                              anyOf:
                                - type: string
                                  format: date
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                  description: YYYY-MM-DD.
                                - type: 'null'
                              description: >-
                                The first day it applies; null: from the
                                beginning.
                            valid_to:
                              anyOf:
                                - type: string
                                  format: date
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                  description: YYYY-MM-DD.
                                - type: 'null'
                              description: >-
                                The day the next row replaces it (it no longer
                                applies that day); null while current.
                            sources:
                              type: array
                              items:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    description: >-
                                      The page that states the fact: Etsy's Help
                                      Center, Seller Handbook, Open API
                                      documentation, Etsy News or an Etsy staff
                                      post (or ISO 4217 for currency minor
                                      units).
                                  title:
                                    type: string
                                    description: The page's title.
                                  publisher:
                                    type: string
                                    enum:
                                      - Etsy
                                      - ISO 4217
                                    description: >-
                                      `Etsy` for Etsy-owned pages; `ISO 4217`
                                      for currency minor units, the one source
                                      that is not Etsy.
                                  published_at:
                                    anyOf:
                                      - type: string
                                        format: date
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                      - type: 'null'
                                    description: >-
                                      When the page was published or last edited
                                      (YYYY-MM-DD); null when it does not say.
                                  read_at:
                                    anyOf:
                                      - type: string
                                        format: date
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                      - type: 'null'
                                    description: >-
                                      When Alura read the page (YYYY-MM-DD);
                                      null when not recorded.
                                required:
                                  - url
                                  - title
                                  - publisher
                                  - published_at
                                  - read_at
                                additionalProperties: false
                              description: >-
                                The one Etsy page that states this fee, and a
                                second only for what the first doesn't say (a
                                note, the start date or an earlier rate).
                          required:
                            - key
                            - seller_country
                            - audience
                            - kind
                            - rate
                            - amount
                            - currency
                            - min_amount
                            - max_amount
                            - basis
                            - applies_when
                            - note
                            - valid_from
                            - valid_to
                            - sources
                          additionalProperties: false
                        description: >-
                          The fee rows in effect on `as_of` for
                          `seller_country`; without it, only the fees that are
                          the same everywhere.
                      requires_seller_country:
                        type: array
                        items:
                          type: string
                        description: >-
                          The fee keys that depend on the seller country, left
                          out until `seller_country` is given; empty when it is.
                      notices:
                        type: array
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                              enum:
                                - fee_unknown
                                - etsy_payments_unavailable
                                - before_recorded_history
                              description: >-
                                `fee_unknown`: Etsy does not publish this fee
                                for the country, so it is null (unknown, not 0).
                                `etsy_payments_unavailable`: Etsy does not list
                                Etsy Payments for the seller country.
                                `before_recorded_history`: `as_of` is before
                                `recorded_from`, so rows without a start date
                                are served as they are today and may not be what
                                applied then.
                            key:
                              description: >-
                                The fee key it is about; null for the whole
                                schedule.
                              type:
                                - string
                                - 'null'
                            audience:
                              description: >-
                                The row's `audience` when the notice is about
                                one row; null otherwise.
                              type:
                                - string
                                - 'null'
                            detail:
                              type: string
                              description: The notice in one plain sentence.
                          required:
                            - code
                            - key
                            - audience
                            - detail
                          additionalProperties: false
                        description: >-
                          Why a fee is unknown or the schedule may be
                          incomplete; empty when nothing is.
                    required:
                      - object
                      - seller_country
                      - as_of
                      - recorded_from
                      - fees
                      - requires_seller_country
                      - notices
                    additionalProperties: false
                  shipping_carriers:
                    x-alura-expansion: shipping_carriers
                    description: >-
                      With `expand=shipping_carriers`: `GET
                      /v1/etsy/shipping-carriers?origin_country={code}`, with
                      its `fetched_at`. Alura stores them for the countries
                      connected shops ship from; elsewhere null with a
                      `shipping_carriers_unknown` notice, never an empty list.
                    anyOf:
                      - type: object
                        properties:
                          object:
                            type: string
                            const: shipping_carriers
                          origin_country:
                            type: string
                            description: ISO 3166-1 alpha-2 code, upper case.
                          carriers:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: Etsy shipping carrier ID, as a string.
                                name:
                                  type: string
                                  description: >-
                                    The carrier as Etsy names it, such as
                                    `USPS`.
                                domestic_classes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      mail_class_key:
                                        type: string
                                        description: Etsy's key for the mail class.
                                      name:
                                        type: string
                                        description: >-
                                          The mail class as Etsy names it, such as
                                          `Priority Mail`.
                                    required:
                                      - mail_class_key
                                      - name
                                    additionalProperties: false
                                  description: >-
                                    Mail classes for shipments inside the origin
                                    country.
                                international_classes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      mail_class_key:
                                        type: string
                                        description: Etsy's key for the mail class.
                                      name:
                                        type: string
                                        description: >-
                                          The mail class as Etsy names it, such as
                                          `Priority Mail`.
                                    required:
                                      - mail_class_key
                                      - name
                                    additionalProperties: false
                                  description: Mail classes for shipments abroad.
                              required:
                                - id
                                - name
                                - domestic_classes
                                - international_classes
                              additionalProperties: false
                            description: Empty when Etsy lists no carrier for this origin.
                          fetched_at:
                            type: string
                            description: >-
                              When Alura last fetched this from Etsy (ISO 8601,
                              UTC).
                        required:
                          - object
                          - origin_country
                          - carriers
                          - fetched_at
                        additionalProperties: false
                      - type: 'null'
                required:
                  - object
                  - code
                  - name
                  - currency_code
                  - payout_currency_code
                  - etsy_payments
                  - valid_from
                  - sources
                  - notices
                additionalProperties: false
              example:
                object: country
                code: FR
                name: France
                currency_code: EUR
                payout_currency_code: EUR
                etsy_payments: true
                valid_from: null
                sources:
                  - url: https://help.etsy.com/hc/en-us/articles/115015710408
                    title: Countries Eligible for Etsy Payments
                    publisher: Etsy
                    published_at: '2026-04-14'
                    read_at: '2026-10-22'
                notices:
                  - code: shipping_carriers_unknown
                    detail: >-
                      Alura has no carriers stored for parcels from this
                      country, so `shipping_carriers` is null. Etsy's carriers
                      are stored for the countries connected shops ship from,
                      refreshed weekly.
                currency:
                  object: currency
                  code: EUR
                  name: Euro
                  minor_units: 2
                  etsy_payments: true
                  listing_currency: null
                  payout_currency: true
                  valid_from: null
                  sources:
                    - url: https://help.etsy.com/hc/en-us/articles/360000337767
                      title: Currencies Supported for Etsy Payments
                      publisher: Etsy
                      published_at: '2026-06-16'
                      read_at: '2026-10-22'
                  units_per_usd: 0.8927731731
                  rate_as_of: '2026-10-21T04:45:57.943Z'
                  notices: []
                fees:
                  object: etsy_fees
                  seller_country: FR
                  as_of: '2026-10-15'
                  recorded_from: '2025-10-22'
                  fees:
                    - key: listing
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.20'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: >-
                        Each listing you publish on Etsy.com or the Etsy apps,
                        whether or not it sells. A listing lasts 4 months.
                      applies_when: null
                      note: >-
                        Etsy's fixed fees are in USD and converted to your
                        payment account's currency at the market rate.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/115014483627
                          title: What are the Fees and Taxes for Selling on Etsy?
                          publisher: Etsy
                          published_at: '2026-10-07'
                          read_at: '2026-10-22'
                    - key: listing.renewal
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.20'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: >-
                        Each renewal, manual or automatic, which starts another
                        4 months.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000344368
                          title: How to Renew or Hide Your Listings
                          publisher: Etsy
                          published_at: '2023-04-18'
                          read_at: '2026-10-22'
                    - key: listing.auto_renew_sold
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.20'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: >-
                        When an item sells and quantity remains, the listing
                        renews automatically.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000344908
                          title: Fees and Listing Multiple Quantities
                          publisher: Etsy
                          published_at: '2024-01-31'
                          read_at: '2026-10-22'
                    - key: listing.multi_quantity
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.20'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: Each extra unit sold in one order.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000344908
                          title: Fees and Listing Multiple Quantities
                          publisher: Etsy
                          published_at: '2024-01-31'
                          read_at: '2026-10-22'
                    - key: listing.private
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.20'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: A private (custom) listing, charged only when it sells.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/115014483627
                          title: What are the Fees and Taxes for Selling on Etsy?
                          publisher: Etsy
                          published_at: '2026-10-07'
                          read_at: '2026-10-22'
                    - key: listing.edit
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.00'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: Editing a listing.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000344908
                          title: Fees and Listing Multiple Quantities
                          publisher: Etsy
                          published_at: '2024-01-31'
                          read_at: '2026-10-22'
                    - key: listing.pattern_only
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '0.00'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: A listing only on your Pattern site.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000337067
                          title: Pricing and Fees for Pattern
                          publisher: Etsy
                          published_at: '2025-09-30'
                          read_at: '2026-10-22'
                    - key: transaction
                      seller_country: null
                      audience: all
                      kind: percent
                      rate: 6.5
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        The price you show for the item plus what you charge for
                        shipping and gift wrap (and paid personalization), in
                        your listing currency.
                      applies_when: null
                      note: >-
                        US sellers: not charged on sales tax. Elsewhere it
                        applies to the price as displayed, including any tax in
                        it.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/115014483627
                          title: What are the Fees and Taxes for Selling on Etsy?
                          publisher: Etsy
                          published_at: '2026-10-07'
                          read_at: '2026-10-22'
                        - url: https://www.etsy.com/legal/fees/
                          title: Fees & Payments Policy
                          publisher: Etsy
                          published_at: '2026-10-05'
                          read_at: '2026-10-22'
                    - key: transaction.pattern
                      seller_country: null
                      audience: all
                      kind: percent
                      rate: 0
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: Sales on your Pattern site.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000337067
                          title: Pricing and Fees for Pattern
                          publisher: Etsy
                          published_at: '2025-09-30'
                          read_at: '2026-10-22'
                    - key: payment_processing
                      seller_country: FR
                      audience: all
                      kind: percent_plus_fixed
                      rate: 4
                      amount: '0.30'
                      currency: EUR
                      min_amount: null
                      max_amount: null
                      basis: >-
                        The order's total sale price, including shipping and any
                        sales tax.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/115015628847
                          title: >-
                            What are Payment Processing Fees for Selling on
                            Etsy?
                          publisher: Etsy
                          published_at: '2025-10-23'
                          read_at: '2026-10-22'
                    - key: regulatory_operating
                      seller_country: FR
                      audience: all
                      kind: percent
                      rate: 1.14
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        The item price plus shipping and gift wrap (and
                        personalization), not counting tax Etsy collects.
                      applies_when: null
                      note: null
                      valid_from: '2026-06-22'
                      valid_to: null
                      sources:
                        - url: >-
                            https://help.etsy.com/hc/en-us/articles/1500011073202
                          title: What is a Regulatory Operating Fee?
                          publisher: Etsy
                          published_at: '2026-06-22'
                          read_at: '2026-10-22'
                        - url: >-
                            https://community.etsy.com/forum/announcements-290/topic/regulatory-operating-fee-updates-for-some-markets-181930/
                          title: Regulatory Operating Fee updates for some markets
                          publisher: Etsy
                          published_at: '2026-04-22'
                          read_at: '2026-10-22'
                    - key: offsite_ads
                      seller_country: null
                      audience: under_threshold
                      kind: percent
                      rate: 15
                      amount: null
                      currency: USD
                      min_amount: null
                      max_amount: '100.00'
                      basis: >-
                        Each order attributed to an Offsite Ad (the buyer
                        clicked the ad and ordered within 30 days), at most 100
                        USD per order.
                      applies_when: >-
                        Shops that have never made 10,000 USD in sales in any
                        365 days, checked on the 1st of each month. These shops
                        can opt out.
                      note: >-
                        If the buyer's last click was on an Etsy Ad, only the
                        Etsy Ads fee applies.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000338367
                          title: How Etsy's Offsite Ads Work
                          publisher: Etsy
                          published_at: '2026-06-22'
                          read_at: '2026-10-22'
                        - url: https://www.etsy.com/legal/fees/
                          title: Fees & Payments Policy
                          publisher: Etsy
                          published_at: '2026-10-05'
                          read_at: '2026-10-22'
                    - key: offsite_ads
                      seller_country: null
                      audience: over_threshold
                      kind: percent
                      rate: 12
                      amount: null
                      currency: USD
                      min_amount: null
                      max_amount: '100.00'
                      basis: >-
                        Each order attributed to an Offsite Ad (the buyer
                        clicked the ad and ordered within 30 days), at most 100
                        USD per order.
                      applies_when: >-
                        Shops that have ever made 10,000 USD or more in sales in
                        365 days. They take part for the life of the shop.
                      note: >-
                        If the buyer's last click was on an Etsy Ad, only the
                        Etsy Ads fee applies.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000338367
                          title: How Etsy's Offsite Ads Work
                          publisher: Etsy
                          published_at: '2026-06-22'
                          read_at: '2026-10-22'
                        - url: https://www.etsy.com/legal/fees/
                          title: Fees & Payments Policy
                          publisher: Etsy
                          published_at: '2026-10-05'
                          read_at: '2026-10-22'
                    - key: currency_conversion
                      seller_country: null
                      audience: all
                      kind: percent
                      rate: 2.5
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        The sale amount, when your listing currency differs from
                        your payment account currency.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000344668
                          title: Currency Conversion Fees
                          publisher: Etsy
                          published_at: '2023-08-14'
                          read_at: '2026-10-22'
                    - key: vat_on_seller_fees
                      seller_country: FR
                      audience: all
                      kind: percent
                      rate: null
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        Etsy's fees, which Etsy lists without VAT, including the
                        payment processing, regulatory operating and deposit
                        fees.
                      applies_when: Unless you've added your VAT ID to your Etsy account.
                      note: >-
                        Etsy doesn't publish the VAT rate it charges on its
                        fees.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360040584433
                          title: How VAT Is Collected on Seller Fees
                          publisher: Etsy
                          published_at: '2026-06-26'
                          read_at: '2026-10-22'
                        - url: https://www.etsy.com/legal/fees/
                          title: Fees & Payments Policy
                          publisher: Etsy
                          published_at: '2026-10-05'
                          read_at: '2026-10-22'
                    - key: share_and_save_refund
                      seller_country: null
                      audience: all
                      kind: percent
                      rate: 4
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        A refund to you: a share of the eligible order total
                        (the transaction fee's basis), for orders placed within
                        30 days of a click on your Share & Save link.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: '2026-10-20'
                      sources:
                        - url: >-
                            https://help.etsy.com/hc/en-us/articles/16981332744087
                          title: >-
                            How to Save on Etsy Fees with the Share & Save
                            Program
                          publisher: Etsy
                          published_at: '2026-10-20'
                          read_at: '2026-10-22'
                    - key: etsy_plus
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '10.00'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: >-
                        Each month of the optional subscription. It includes 15
                        listing credits and a 5 USD Etsy Ads credit. Local taxes
                        may apply.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360001589928
                          title: What is Etsy Plus?
                          publisher: Etsy
                          published_at: '2026-08-04'
                          read_at: '2026-10-22'
                    - key: etsy_ads
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: >-
                        Clicks on your Etsy Ads, within the daily budget you
                        set. Bids are in USD.
                      applies_when: null
                      note: >-
                        Etsy Ads is an auction: you set a daily budget at or
                        above Etsy's minimum, so Etsy publishes no fixed fee.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://www.etsy.com/legal/fees/
                          title: Fees & Payments Policy
                          publisher: Etsy
                          published_at: '2026-10-05'
                          read_at: '2026-10-22'
                        - url: https://help.etsy.com/hc/en-us/articles/115014483627
                          title: What are the Fees and Taxes for Selling on Etsy?
                          publisher: Etsy
                          published_at: '2026-10-07'
                          read_at: '2026-10-22'
                    - key: pattern
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: '15.00'
                      currency: USD
                      min_amount: null
                      max_amount: null
                      basis: Each month after a 30-day free trial. Taxes may apply.
                      applies_when: null
                      note: null
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/360000337067
                          title: Pricing and Fees for Pattern
                          publisher: Etsy
                          published_at: '2025-09-30'
                          read_at: '2026-10-22'
                    - key: set_up
                      seller_country: null
                      audience: all
                      kind: fixed
                      rate: null
                      amount: null
                      currency: null
                      min_amount: null
                      max_amount: null
                      basis: Once, when you open a shop. Not refundable.
                      applies_when: null
                      note: >-
                        Etsy doesn't publish the amount: it varies by location
                        and is shown when you set up your shop.
                      valid_from: null
                      valid_to: null
                      sources:
                        - url: https://help.etsy.com/hc/en-us/articles/115014483627
                          title: What are the Fees and Taxes for Selling on Etsy?
                          publisher: Etsy
                          published_at: '2026-10-07'
                          read_at: '2026-10-22'
                  requires_seller_country: []
                  notices:
                    - code: fee_unknown
                      key: vat_on_seller_fees
                      audience: all
                      detail: >-
                        Etsy doesn't publish the VAT rate it charges on its
                        fees.
                    - code: fee_unknown
                      key: etsy_ads
                      audience: all
                      detail: >-
                        Etsy Ads is an auction: you set a daily budget at or
                        above Etsy's minimum, so Etsy publishes no fixed fee.
                    - code: fee_unknown
                      key: set_up
                      audience: all
                      detail: >-
                        Etsy doesn't publish the amount: it varies by location
                        and is shown when you set up your shop.
                shipping_carriers: null
        '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/etsy/countries/FR?expand=currency,fees,shipping_carriers"
            \
              -H "Authorization: Bearer $ALURA_API_KEY"
        - lang: typescript
          label: TypeScript
          source: >-
            const res = await
            fetch('https://api.alura.io/v1/etsy/countries/FR?expand=currency,fees,shipping_carriers',
            {
              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/etsy/countries/FR?expand=currency,fees,shipping_carriers",
                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
            - listing_not_publishable
            - sales_window_not_covered
            - unauthorized
            - credits_exhausted
            - plan_required
            - insufficient_scope
            - workspace_required
            - workspace_locked
            - your_shop_unavailable
            - writes_suspended
            - browser_refused
            - role_required
            - impersonation_refused
            - recent_sign_in_required
            - etsy_scope_required
            - etsy_partner_required
            - not_found
            - not_collected
            - not_found_on_etsy
            - shop_opted_out
            - method_not_allowed
            - conflict
            - key_limit_reached
            - reconnect_required
            - settings_not_fetched
            - listing_busy
            - settings_busy
            - shop_create_busy
            - idempotency_partial_unverifiable
            - listing_has_variations
            - changed_since
            - change_not_revertable
            - listing_in_ab_test
            - activation_skipped
            - idempotency_processing
            - confirmation_required
            - test_shop_active_cap
            - write_outcome_unknown
            - unprocessable
            - listing_removed_on_etsy
            - endpoint_removed
            - rate_limited
            - throttled
            - daily_credit_cap_exceeded
            - credits_reserved
            - fetch_limit_reached
            - write_rate_limited
            - sync_cooldown
            - shop_write_budget_exhausted
            - internal_error
            - write_misconfigured
            - upstream_unavailable
            - credits_unavailable
            - service_unavailable
            - fetch_unavailable
            - create_lock_unavailable
            - writes_paused
            - 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.