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

# Get an order

> One of the buyer's orders, as its page in the customer panel shows it: each line, and once it is completed what it delivered (keys, the answers of a dynamic delivery, files with their download links, instructions). An order of another address answers as one that does not exist.

Keys and files are left out while the store holds them back: an ended or paused subscription's order, or one whose payment is disputed. `productPath` is the product's path on the store's own site. Opening an order is recorded for the store, as on its order page, as a look from the store's own site.

Needs the buyer's token: `Authorization: Bearer shoply_ct_...`, from Sign in with the code.

It is counted for the buyer's token: 300 reads in ten minutes.



## OpenAPI

````yaml /api-reference/openapi.json get /stores/{storeId}/customer/orders/{orderId}
openapi: 3.1.0
info:
  title: Shoply API
  version: '1'
  description: >-
    Everything a store's own server can do with a secret API key: its catalogue,
    orders, customers, marketing, finance and the rest of what the dashboard
    does. And the Customer API, which a buyer's own device asks with a token of
    theirs.
servers:
  - url: https://api.shoply.gg/v1
security:
  - apiKey: []
tags:
  - name: API key
  - name: Store
  - name: Domain
  - name: Payment methods
  - name: Analytics
  - name: Storefronts
  - name: Storefront code
  - name: Payment Routing
  - name: Custom payment methods
  - name: Products
  - name: Product pictures
  - name: Stock
  - name: Categories
  - name: Upsells
  - name: Subscriptions
  - name: Orders
  - name: Invoices
  - name: Reviews
  - name: Coupons
  - name: Coupon categories
  - name: Coupon pop-up
  - name: Sales
  - name: Blog
  - name: Search settings
  - name: Redirects
  - name: Sitemap
  - name: Cart Recovery
  - name: Email Marketing
  - name: Email Templates
  - name: Customers
  - name: Affiliates
  - name: Support Tickets
  - name: Blacklist
  - name: Fraud protection
  - name: Disputes
  - name: Finance
  - name: Tax
  - name: Expenses
  - name: Expense setup
  - name: API requests
  - name: Webhook endpoints
  - name: Webhook deliveries
  - name: Customer API
paths:
  /stores/{storeId}/customer/orders/{orderId}:
    get:
      tags:
        - Customer API
      summary: Get an order
      description: >-
        One of the buyer's orders, as its page in the customer panel shows it:
        each line, and once it is completed what it delivered (keys, the answers
        of a dynamic delivery, files with their download links, instructions).
        An order of another address answers as one that does not exist.


        Keys and files are left out while the store holds them back: an ended or
        paused subscription's order, or one whose payment is disputed.
        `productPath` is the product's path on the store's own site. Opening an
        order is recorded for the store, as on its order page, as a look from
        the store's own site.


        Needs the buyer's token: `Authorization: Bearer shoply_ct_...`, from
        Sign in with the code.


        It is counted for the buyer's token: 300 reads in ten minutes.
      operationId: customer.orders.show
      parameters:
        - name: storeId
          in: path
          required: true
          description: >-
            The store's ID, from Settings, General in its dashboard. It is not a
            secret: a page may show it.
          schema:
            type: string
        - name: orderId
          in: path
          required: true
          description: One of the buyer's orders, from Get the signed-in buyer.
          schema:
            type: string
      responses:
        '200':
          description: It worked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    nullable: true
                  code:
                    nullable: true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      status:
                        type: string
                      dateCreated:
                        type: string
                      paidAt:
                        type: string
                      paidWith:
                        type: string
                      currencyCode:
                        type: string
                      shopCurrency:
                        type: string
                      subtotal:
                        type: number
                      discount:
                        type: integer
                      fee:
                        type: integer
                      tax:
                        nullable: true
                      total:
                        type: number
                      couponCode:
                        type: string
                      checkoutUrl:
                        type: string
                      lines:
                        type: array
                        items:
                          type: object
                          properties:
                            productName:
                              type: string
                            variantName:
                              type: string
                            quantity:
                              type: integer
                            lineTotal:
                              type: number
                            imageUrl:
                              nullable: true
                            productPath:
                              type: string
                            delivery:
                              type: object
                              properties:
                                keys:
                                  type: array
                                  items:
                                    type: string
                                previousKeys:
                                  type:
                                    - array
                                    - object
                                items:
                                  type:
                                    - array
                                    - object
                                previousItems:
                                  type:
                                    - array
                                    - object
                                state:
                                  type: string
                                message:
                                  type: string
                                instructions:
                                  type: string
                                files:
                                  type:
                                    - array
                                    - object
                      general:
                        type: string
              example:
                success: true
                message: null
                code: null
                data:
                  id: bc44febe-0f25-4076-92eb-03a5045a57e7
                  status: completed
                  dateCreated: '2026-10-22T16:20:19Z'
                  paidAt: '2026-10-22T16:20:19Z'
                  paidWith: ''
                  currencyCode: USD
                  shopCurrency: ''
                  subtotal: 9.99
                  discount: 0
                  fee: 0
                  tax: null
                  total: 9.99
                  couponCode: ''
                  checkoutUrl: ''
                  lines:
                    - productName: Northwind Pro
                      variantName: 1 month
                      quantity: 1
                      lineTotal: 9.99
                      imageUrl: null
                      productPath: /product/?name=northwind-pro
                      delivery:
                        keys:
                          - NWPRO-SUB1-7Q2C-90LX
                        previousKeys: []
                        items: []
                        previousItems: []
                        state: ''
                        message: ''
                        instructions: Paste the key under Help, Activate.
                        files: []
                  general: ''
        '401':
          $ref: '#/components/responses/NoToken'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/CustomerTooMany'
      security:
        - customerToken: []
      x-codeSamples:
        - lang: javascript
          label: Node.js
          source: >
            import { ShoplyCustomer } from "@shoplygg/node";


            const buyer = new ShoplyCustomer({ storeId: "YOUR_STORE_ID", token
            });


            const result = await buyer.orders.show("ORDER_ID");
        - lang: php
          label: PHP
          source: >
            <?php


            require 'vendor/autoload.php';


            $buyer = new Shoply\Customer(['storeId' => 'YOUR_STORE_ID', 'token'
            => $token]);


            $result = $buyer->orders->show('ORDER_ID');
        - lang: python
          label: Python
          source: |
            import shoply

            buyer = shoply.Customer("YOUR_STORE_ID", token=token)

            result = buyer.orders.show("ORDER_ID")
components:
  responses:
    NoToken:
      description: >-
        No buyer's token was sent, or it was an API key
        (`customer_token_required`), or the token has ended or is another
        store's (`invalid_customer_token`). Sign the buyer in again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    NotFound:
      description: >-
        There is no such thing in this store: `not_found`. A store that is not
        the key's own is answered the same way.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
    CustomerTooMany:
      description: >-
        Too many requests for now: `rate_limited`, or the route's own
        (`code_cooldown`, `code_paused`, `store_busy`). `Retry-After` says how
        many seconds to wait.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Refusal'
  schemas:
    Refusal:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          description: What is wrong, in words for a person.
        code:
          type: string
          description: What is wrong, as a word that does not change.
        data:
          nullable: true
        errors:
          type: object
          description: >-
            For `validation_failed`: what is wrong with each field, by the
            field's name.
          additionalProperties:
            type: string
      required:
        - success
        - message
        - code
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        A secret API key, made under Developers in the dashboard:
        `Authorization: Bearer shoply_sk_...`
    customerToken:
      type: http
      scheme: bearer
      description: >-
        A buyer's token, from Sign in with the code: `Authorization: Bearer
        shoply_ct_...`. It reaches that buyer's own orders at one store, and no
        route that takes a key.

````

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