openapi: 3.1.0
info:
  title: 'Admin Management: Currencies'
  version: 1.0.0
paths:
  /stores/{store_hash}/v2/currencies/{id}:
    get:
      operationId: getCurrency
      summary: Get Currency
      description: Returns a single *Currency*.
      tags:
        - currenciesSingle
      parameters:
        - name: id
          in: path
          description: The ID of the subject currency.
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/currency_Full'
    put:
      operationId: updateCurrency
      summary: Update Currency
      description: |-
        Updates a *Currency*.

        **Read-Only Fields**

        * id
        * last_updated
        * currency_code


        The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. 
      tags:
        - currenciesSingle
      parameters:
        - name: id
          in: path
          description: The ID of the subject currency.
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/currency_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/currency_Put'
    delete:
      operationId: deleteCurrency
      summary: Delete Currency
      description: |-
        Deletes a *Currency*.

        If a currencyʼs `is_default` property is set to true, this currency cannot be deleted. 
      tags:
        - currenciesSingle
      parameters:
        - name: id
          in: path
          description: The ID of the subject currency.
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/currencies:
    get:
      operationId: getCurrencies
      summary: List Currencies
      description: Returns a list of all store *Currency*.
      tags:
        - currenciesBulk
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of currencies.
          required: false
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of currencies.
          required: false
          schema:
            type: integer
            default: 50
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/currency_Full'
    post:
      operationId: createCurrency
      summary: Create Currency
      description: >-
        Creates *Currency*.


        **Required Fields** 

        * name

        * currency_code

        * currency_exchange_rate

        * token_location

        * token

        * decimal_token

        * thousands_token

        * decimal_places


        **Read-Only Fields**

        * id

        * last_updated



        The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden.
        To change the storeʼs default currency in the BigCommerce control panel, please see [Managing Currencies (Help
        Center)](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta).
      tags:
        - currenciesBulk
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/currency_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/currency_Post'
    delete:
      operationId: deleteCurrencies
      summary: Delete All Currencies
      description: Deletes all non-default store currencies.
      tags:
        - currenciesBulk
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_read_only` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our
            [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    currency_Full:
      type: object
      properties:
        is_default:
          type: boolean
          description: >-
            Specifies the store’s default currency display format. For write operations, only true value is accepted.
            When set to true, it cannot be unset, only overridden.
        country_iso2:
          type: string
          description: 2-letter ISO Alpha-2 code for this currency’s country.
        default_for_country_codes:
          type: array
          items:
            type: string
          description: Default 3-letter ISO 4217 code for this currency.
        currency_code:
          type: string
          description: 3-letter ISO 4217 code for this currency.
        currency_exchange_rate:
          type: string
          description: Amount of this currency that is equivalent to one U.S. dollar.(Float, Float as String, Integer)
        auto_update:
          type: boolean
          description: >-
            Specifies whether to use the Open Exchange Rates service to update the currency conversion. A value of false
            specifies a static conversion value. auto_update only applies to non-transactional currencies.
        token_location:
          type: string
          description: Specifies whether this currency’s symbol appears to the “left” or “right” of the numeric amount.
        token:
          type: string
          description: Symbol for this currency.
        decimal_token:
          type: string
          description: Symbol used as the decimal separator in this currency.
        thousands_token:
          type: string
          description: Symbol used as the thousands separator in this currency.
        decimal_places:
          type: integer
          description: Number of decimal places to show for this currency.
        name:
          type: string
          description: Name of the currency.
        enabled:
          type: boolean
          description: If the currency is active on the store.
        is_transactional:
          type: boolean
          description: Indicates if the currency is set as transactional or not. False means display only currency
        use_default_name:
          type: boolean
          description: Default currency name
        id:
          type: integer
          description: ID of the currency. Read only.
        last_updated:
          type: string
          format: date-time
          description: Date the currency was last updated, created or modified.
      title: currency_Full
    currency_Put:
      type: object
      properties:
        is_default:
          type: boolean
          description: >-
            Specifies the store’s default currency display format. For write operations, only true value is accepted.
            When set to true, it cannot be unset, only overridden.
        country_iso2:
          type: string
          description: 2-letter ISO Alpha-2 code for this currency’s country.
        currency_exchange_rate:
          type: string
          description: Amount of this currency that is equivalent to one U.S. dollar.(Float, Float as String, Integer)
        auto_update:
          type: boolean
          description: >-
            Specifies whether to use the Open Exchange Rates service to update the currency conversion. A value of false
            specifies a static conversion value. auto_update only applies to non-transactional currencies.
        token_location:
          type: string
          description: Specifies whether this currency’s symbol appears to the “left” or “right” of the numeric amount.
        token:
          type: string
          description: Symbol for this currency.
        decimal_token:
          type: string
          description: Symbol used as the decimal separator in this currency.
        thousands_token:
          type: string
          description: Symbol used as the thousands separator in this currency.
        decimal_places:
          type: integer
          description: Number of decimal places to show for this currency.
        name:
          type: string
          description: Name of the currency.
        enabled:
          type: boolean
          description: If the currency is active on the store.
        is_transactional:
          type: boolean
          description: Indicates if the currency is set as transactional or not. False means display only currency
      description: Currency Object
      title: currency_Put
    currency_Post:
      type: object
      properties:
        is_default:
          type: boolean
          description: >-
            Specifies the store’s default currency display format. For write operations, only true value is accepted.
            When set to true, it cannot be unset, only overridden.
        country_iso2:
          type: string
          description: 2-letter ISO Alpha-2 code for this currency’s country.
        currency_code:
          type: string
          description: 3-letter ISO 4217 code for this currency.
        currency_exchange_rate:
          type: string
          description: Amount of this currency that is equivalent to one U.S. dollar.(Float, Float as String, Integer)
        auto_update:
          type: boolean
          description: >-
            Specifies whether to use the Open Exchange Rates service to update the currency conversion. A value of false
            specifies a static conversion value. auto_update only applies to non-transactional currencies.
        token_location:
          type: string
          description: Specifies whether this currency’s symbol appears to the “left” or “right” of the numeric amount.
        token:
          type: string
          description: Symbol for this currency.
        decimal_token:
          type: string
          description: Symbol used as the decimal separator in this currency.
        thousands_token:
          type: string
          description: Symbol used as the thousands separator in this currency.
        decimal_places:
          type: integer
          description: Number of decimal places to show for this currency.
        name:
          type: string
          description: Name of the currency.
        enabled:
          type: boolean
          description: If the currency is active on the store.
        is_transactional:
          type: boolean
          description: Indicates if the currency is set as transactional or not. False means display only currency
      required:
        - currency_code
        - currency_exchange_rate
        - token_location
        - token
        - decimal_token
        - thousands_token
        - decimal_places
        - name
      description: Currency Object
      title: currency_Post
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--------|:-----------|:----------|

        |  Information & Settings | modify | `store_v2_information` |

        |  Information & Settings | read-only | `store_v2_information_read_only` |


        ### Authentication header


        | Header | Argument | Description |

        |:-------|:---------|:------------|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to
        API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example
        Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API
        Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status
        Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
