Goody Orders API

The Orders API from Goody — 4 operation(s) for orders.

Operations 4

POST /v1/orders/{id}/cancel Cancel an order
GET /v1/orders List orders
GET /v1/orders/{id} Retrieve an order
POST /v1/orders/{id}/update_expiration Update expiration for an order

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

goody-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Goody Brands Orders API
  version: 1.0.0
  contact:
    name: Goody Support
    email: support@ongoody.com
servers:
- url: https://api.ongoody.com
  description: Production
- url: https://api.sandbox.ongoody.com
  description: Sandbox
tags:
- name: Orders
paths:
  /v1/orders/{id}/cancel:
    parameters:
    - name: id
      in: path
      description: id
      required: true
      schema:
        type: string
    post:
      summary: Cancel an order
      tags:
      - Orders
      security:
      - bearer: []
      responses:
        '200':
          description: Order canceled
          content:
            application/json:
              examples:
                Order canceled:
                  value:
                    id: 04505127-3b1c-4488-b5f4-1c85e6befe53
                    status: failed
                    individual_gift_link: https://gifts.ongoody.com/gift/GIOORGY1KFPCECWSRIPGV5BY
                    recipient_first_name: Michael
                    recipient_last_name: Franci
                    recipient_email: michael@ongoody.com
                    card_id: 1030e98b-3d80-4aa1-a348-069c2037dd70
                    message: Test Message
                    thank_you_note: null
                    view_count_recipient: 0
                    is_swapped: false
                    order_batch_id: 4f57be1a-5ac1-4f0b-a830-bda27c8e063c
                    expires_at: null
                    cart:
                      id: 59b0d301-27c7-453e-95e9-a82dc0f8af0b
                      items:
                      - id: d8d7bfc9-8496-4b77-8e9c-d084cef94cd7
                        quantity: 1
                        product:
                          id: f2a5701d-dc75-455b-b932-8d01310b2153
                          name: Cookies
                          brand:
                            id: 064854e3-a0c5-49b4-8406-5e6e86834702
                            name: Cookie Company
                    cart_selections:
                    - id: beb8b93e-7224-44b2-96f2-a9e9d46dc0b0
                      cart_item_id: bb9735b7-ec0b-4b92-8011-1bac5c3ed5fd
                      quantity_index: 0
                      variants: []
                    shipments: []
                    amounts:
                      amount_product: 2000
                      amount_shipping: 500
                      amount_processing_fee: 0
                      amount_pre_tax_total: 2500
                      amount_tax: null
                      amount_total: null
                      amount_global_relay_cost: null
                    sender:
                      first_name: Test
                      last_name: User
                      email: 15550002890@test.ongoody.com
                    workspace_id: 3e276f0f-8863-445e-9ed2-0a3b1abdeb45
                    workspace_name: Test Team
                    original_cart: null
                    original_amounts: null
                    reference_id: CV44HAL5HRQ10SHWDBZ2IS9T
                    payment_link: null
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          description: Order not found
          content:
            application/json:
              examples:
                Order not found:
                  value:
                    error: Order not found
              schema:
                $ref: '#/components/schemas/Error'
  /v1/orders:
    get:
      summary: List orders
      tags:
      - Orders
      security:
      - bearer: []
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Page for pagination, starting at 1
        required: false
      - name: per_page
        in: query
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
        description: Items per page for pagination
        required: false
      - name: created_at[after]
        in: query
        schema:
          type:
          - string
          - 'null'
          format: date-time
          description: ISO 8601
        description: Filter orders created at or after this timestamp (ISO 8601, UTC unless otherwise specified in timestamp)
        required: false
      - name: created_at[before]
        in: query
        schema:
          type:
          - string
          - 'null'
          format: date-time
          description: ISO 8601
        description: Filter orders created at or before this timestamp (ISO 8601, UTC unless otherwise specified in timestamp)
        required: false
      responses:
        '200':
          description: Orders retrieved
          content:
            application/json:
              examples:
                Orders retrieved:
                  value:
                    data:
                    - id: 7a449dc9-8a31-4a90-abbd-19143552aa52
                      status: created
                      individual_gift_link: https://gifts.ongoody.com/gift/1FE9DWTJC4T85G8QN5SDB3LH
                      recipient_first_name: Michael
                      recipient_last_name: Franci
                      recipient_email: michael@ongoody.com
                      card_id: 2d738268-5496-43e1-ad4d-cca8b7810fc3
                      message: Test Message
                      thank_you_note: null
                      view_count_recipient: 0
                      is_swapped: false
                      order_batch_id: 9e3ede84-8280-479f-ac9b-9007bb45a23c
                      expires_at: null
                      cart:
                        id: 987e757c-8faa-42b2-8845-3f98794a7b5b
                        items:
                        - id: fdd90649-ed42-461f-8672-f9cc3f051bc9
                          quantity: 1
                          product:
                            id: 31de335c-3a0e-4dcf-807f-9f32e7ccc108
                            name: Cookies
                            brand:
                              id: 46ab78f4-729a-4b31-9cbc-32266daedd04
                              name: Cookie Company
                      shipments: []
                      amounts:
                        amount_product: 2000
                        amount_shipping: 500
                        amount_processing_fee: 0
                        amount_pre_tax_total: 2500
                        amount_tax: null
                        amount_total: null
                        amount_global_relay_cost: null
                      sender:
                        first_name: Test
                        last_name: User
                        email: 15552492933@test.ongoody.com
                      workspace_id: 01e3dd01-1967-4069-9edc-d6755de1b7f3
                      workspace_name: Test Team
                      original_cart: null
                      original_amounts: null
                      reference_id: BTGGI5EEFNIHTGXXEJ16CDCJ
                      payment_link: null
                    - id: d248f1c5-44e8-432b-8941-5a93f6eec845
                      status: created
                      individual_gift_link: https://gifts.ongoody.com/gift/JKVE5ZLZADLVN2GRUJUSARIW
                      recipient_first_name: Alena
                      recipient_last_name: Kenter
                      recipient_email: alena@ongoody.com
                      card_id: 2d738268-5496-43e1-ad4d-cca8b7810fc3
                      message: Test Message
                      thank_you_note: null
                      view_count_recipient: 0
                      is_swapped: false
                      order_batch_id: 9e3ede84-8280-479f-ac9b-9007bb45a23c
                      expires_at: null
                      cart:
                        id: 987e757c-8faa-42b2-8845-3f98794a7b5b
                        items:
                        - id: fdd90649-ed42-461f-8672-f9cc3f051bc9
                          quantity: 1
                          product:
                            id: 31de335c-3a0e-4dcf-807f-9f32e7ccc108
                            name: Cookies
                            brand:
                              id: 46ab78f4-729a-4b31-9cbc-32266daedd04
                              name: Cookie Company
                      shipments: []
                      amounts:
                        amount_product: 2000
                        amount_shipping: 500
                        amount_processing_fee: 0
                        amount_pre_tax_total: 2500
                        amount_tax: null
                        amount_total: null
                        amount_global_relay_cost: null
                      sender:
                        first_name: Test
                        last_name: User
                        email: 15552492933@test.ongoody.com
                      workspace_id: 01e3dd01-1967-4069-9edc-d6755de1b7f3
                      workspace_name: Test Team
                      original_cart: null
                      original_amounts: null
                      reference_id: 4XLDWNOT1MFZROIUSJ8K84Y8
                      payment_link: null
                    list_meta:
                      total_count: 2
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Order'
                  list_meta:
                    $ref: '#/components/schemas/ListMeta'
  /v1/orders/{id}:
    parameters:
    - name: id
      in: path
      description: id
      required: true
      schema:
        type: string
    get:
      summary: Retrieve an order
      tags:
      - Orders
      security:
      - bearer: []
      responses:
        '200':
          description: Order retrieved
          content:
            application/json:
              examples:
                Order retrieved:
                  value:
                    id: 2bcc47f6-bea1-4ac6-a103-0c686b075c21
                    status: created
                    individual_gift_link: https://gifts.ongoody.com/gift/WXN0IOGPRNLMHWT950JGP9SC
                    recipient_first_name: Alena
                    recipient_last_name: Kenter
                    recipient_email: alena@ongoody.com
                    card_id: d39f10a0-1c28-4ee7-93f6-739ba625e3a2
                    message: Test Message
                    thank_you_note: null
                    view_count_recipient: 0
                    is_swapped: false
                    order_batch_id: fc6fb6d4-2917-48f3-9ef3-3c0fad91bb5b
                    expires_at: null
                    cart:
                      id: 1a3f74fe-a2e4-4327-933d-f238d81c467c
                      items:
                      - id: fd780305-dfa9-402e-b1af-1a1592ab3030
                        quantity: 1
                        product:
                          id: afe33526-cdc6-462d-9353-ddcf9a1f8e6e
                          name: Cookies
                          brand:
                            id: 8f93b70d-fb3a-44e3-9f95-6e698024017c
                            name: Cookie Company
                    cart_selections:
                    - id: 7fc69885-8518-4fe1-bda6-9863d92c334b
                      cart_item_id: 69310000-b564-404f-b780-2d1ab7841952
                      quantity_index: 0
                      variants: []
                    shipments: []
                    amounts:
                      amount_product: 2000
                      amount_shipping: 500
                      amount_processing_fee: 0
                      amount_pre_tax_total: 2500
                      amount_tax: null
                      amount_total: null
                      amount_global_relay_cost: null
                    sender:
                      first_name: Test
                      last_name: User
                      email: 15558314938@test.ongoody.com
                    workspace_id: ca507888-8d3c-4608-aed9-8cb07034cade
                    workspace_name: Test Team
                    original_cart: null
                    original_amounts: null
                    reference_id: QGIMV1BPGSJ3DA58T4MACS03
                    event_times:
                      created_at: '2026-06-03T12:25:15Z'
                      notified_at: null
                      opened_at: null
                      accepted_at: null
                      thank_you_added_at: null
                      pending_payment_at: null
                      paid_at: null
                      shipped_at: null
                      delivered_at: null
                    payment_link: null
                Order with cart selections:
                  value:
                    id: 95c9fe72-43e7-4e44-bc5b-6f212679e46e
                    status: created
                    individual_gift_link: https://gifts.ongoody.com/gift/QMNNZXOJHXRCFISDUGI3SH53
                    recipient_first_name: Alena
                    recipient_last_name: Kenter
                    recipient_email: alena@ongoody.com
                    card_id: ef0f8cbc-9c70-41bc-9c28-8bc7ac73baa7
                    message: Test Message
                    thank_you_note: null
                    view_count_recipient: 0
                    is_swapped: false
                    order_batch_id: ee8f2bb2-71e0-40a0-88df-fda475db9922
                    expires_at: null
                    cart:
                      id: 18fd065d-9625-435e-889f-c1b78d302bfb
                      items:
                      - id: f37a5857-cb81-4c12-9e29-ccce23bc760d
                        quantity: 1
                        product:
                          id: 5475f9cf-50a8-45f4-8df1-05c6485abcc3
                          name: Cookies
                          brand:
                            id: fd608245-aae8-48e7-9bc2-4a23afdafcfa
                            name: Cookie Company
                    cart_selections:
                    - id: df58d307-9653-4dac-bef0-e019df472cda
                      cart_item_id: f37a5857-cb81-4c12-9e29-ccce23bc760d
                      quantity_index: 0
                      variants:
                      - Black
                    shipments: []
                    amounts:
                      amount_product: 2000
                      amount_shipping: 500
                      amount_processing_fee: 0
                      amount_pre_tax_total: 2500
                      amount_tax: null
                      amount_total: null
                      amount_global_relay_cost: null
                    sender:
                      first_name: Test
                      last_name: User
                      email: 15552247945@test.ongoody.com
                    workspace_id: f6ef00ac-44fd-450a-9d43-6d6532305a9e
                    workspace_name: Test Team
                    original_cart: null
                    original_amounts: null
                    reference_id: PNC93R4LTVFFLMDHKKRDZDAR
                    event_times:
                      created_at: '2026-06-03T12:25:15Z'
                      notified_at: null
                      opened_at: null
                      accepted_at: null
                      thank_you_added_at: null
                      pending_payment_at: null
                      paid_at: null
                      shipped_at: null
                      delivered_at: null
                    payment_link: null
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          description: Order not found
          content:
            application/json:
              examples:
                Order not found:
                  value:
                    error: Order not found
              schema:
                $ref: '#/components/schemas/Error'
  /v1/orders/{id}/update_expiration:
    parameters:
    - name: id
      in: path
      description: id
      required: true
      schema:
        type: string
    post:
      summary: Update expiration for an order
      tags:
      - Orders
      security:
      - bearer: []
      parameters: []
      responses:
        '200':
          description: Expiration updated
          content:
            application/json:
              examples:
                Expiration updated:
                  value:
                    id: e87c260d-011c-4b0e-9878-a61e4cb05797
                    status: created
                    individual_gift_link: https://gifts.ongoody.com/gift/NVFEBIPXKRHEQSMLTOS1YWQ2
                    recipient_first_name: Alena
                    recipient_last_name: Kenter
                    recipient_email: alena@ongoody.com
                    card_id: c9095d35-d256-4fcd-92e9-7593290a0030
                    message: Test Message
                    thank_you_note: null
                    view_count_recipient: 0
                    is_swapped: false
                    order_batch_id: 698a9466-f372-4317-ace4-bb21b2ac8a85
                    expires_at: '2022-02-01T00:00:00Z'
                    cart:
                      id: a6821fed-292b-42a2-b32e-8e87d7832c87
                      items:
                      - id: 1c110452-f8e9-441d-83e8-48c003e1f85a
                        quantity: 1
                        product:
                          id: 12ad03c2-640c-425a-9721-e91d2871b5aa
                          name: Cookies
                          brand:
                            id: b8fed488-5934-42fc-a0dd-76af3355bb35
                            name: Cookie Company
                    shipments: []
                    amounts:
                      amount_product: 2000
                      amount_shipping: 500
                      amount_processing_fee: 0
                      amount_pre_tax_total: 2500
                      amount_tax: null
                      amount_total: null
                      amount_global_relay_cost: null
                    sender:
                      first_name: Test
                      last_name: User
                      email: 15558690162@test.ongoody.com
                    workspace_id: 8412c9de-f6c7-4780-830f-7e3573078b3c
                    workspace_name: Test Team
                    original_cart: null
                    original_amounts: null
                    reference_id: A7T4NOKKSHXYVTGPSFDYFVZW
                    payment_link: null
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          description: Order not found
          content:
            application/json:
              examples:
                Order not found:
                  value:
                    error: Order not found
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                expiration:
                  type: string
                  format: date-time
                  example: 2022-02-01T00:00:00+0000
                  description: New expiration date in ISO 8601 format
components:
  schemas:
    Order:
      type: object
      description: An individual order contains the gift link to be sent to the recipient (if applicable) and other information about the order.
      properties:
        id:
          type: string
          format: uuid
        recipient_first_name:
          type: string
        recipient_last_name:
          type:
          - string
          - 'null'
        recipient_email:
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/OrderStatus'
        individual_gift_link:
          type: string
          description: This gift link can be sent to the recipient or shared with the sender. For privacy reasons, this gift link does not display tracking information. A separate link, the recipient link, is sent directly to the recipient after they accept their gift, which does contain tracking information.
        cart:
          $ref: '#/components/schemas/Cart'
          description: The cart currently on this order. If the order is a gift that was swapped, `cart` displays the most recent products selected (i.e. post-swap).
        cart_selections:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CartSelection'
          description: Product variant selections for each cart product. Only for commerce app orders.
        shipments:
          type: array
          items:
            $ref: '#/components/schemas/Shipment'
          description: A list of the shipments for the order.
        workspace_id:
          type:
          - string
          - 'null'
          format: uuid
          description: Organizations are sub-divided into workspaces. Orders are contained in workspaces, identified by this ID.
        workspace_name:
          type:
          - string
          - 'null'
        expires_at:
          type:
          - string
          - 'null'
          format: date-time
          description: For gifts, the date and time the gift is set to expire.
        card_id:
          type:
          - string
          - 'null'
          format: uuid
          description: The digital greeting card on this gift.
        message:
          type:
          - string
          - 'null'
          description: The message in this gift, provided by the sender.
        thank_you_note:
          type:
          - string
          - 'null'
          description: A thank you note sent by the recipient.
        view_count_recipient:
          type: integer
          description: The number of times the recipient viewed the gift.
        is_swapped:
          type: boolean
          description: If this gift was swapped by the recipient. Swapping allows a recipient to select another product or products, which replaces the `cart`. The original products are saved to `original_cart`.
        order_batch_id:
          type: string
          format: uuid
          description: On Goody for Business, all orders are attached to a order batch, which is a collection of one or more orders.
        amounts:
          type: object
          description: Costs in USD cents (i.e. $1.00 = 100). If the order was swapped, `amounts` displays the most recent amounts (i.e. post-swap).
          properties:
            amount_product:
              type: integer
              description: Total cost of the products in this order.
            amount_shipping:
              type: integer
              description: Total cost of shipping for this order.
            amount_processing_fee:
              type:
              - integer
              - 'null'
              description: Total cost of processing fees for this order.
            amount_credit_applied:
              type:
              - integer
              - 'null'
              description: Total amount of credit applied to this order.
            amount_pre_tax_total:
              type: integer
              description: Total cost of the products, shipping, and processing fees in this order.
            amount_tax:
              type:
              - integer
              - 'null'
              description: Total tax for this order.
            amount_total:
              type:
              - integer
              - 'null'
              description: Total cost of the products, shipping, processing fees, tax, and global shipping costs in this order.
            amount_global_relay_cost:
              type:
              - integer
              - 'null'
              description: Total cost of global shipping for this order through the Global Relay service.
          required:
          - amount_product
          - amount_shipping
          - amount_pre_tax_total
        event_times:
          type:
          - object
          - 'null'
          description: Only provided when calling the /orders/:id endpoint.
          properties:
            created_at:
              type: string
              format: date-time
              description: ISO 8601
            notified_at:
              type:
              - string
              - 'null'
              format: date-time
              description: When the recipient was notified of the order.
            opened_at:
              type:
              - string
              - 'null'
              format: date-time
              description: For gifts, when the recipient opened the order.
            accepted_at:
              type:
              - string
              - 'null'
              format: date-time
              description: For gifts, when the recipient accepted the order.
            pending_payment_at:
              type:
              - string
              - 'null'
              format: date-time
              description: When the order entered pending payment status.
            paid_at:
              type:
              - string
              - 'null'
              format: date-time
              description: When the order was paid for.
            shipped_at:
              type:
              - string
              - 'null'
              format: date-time
              description: When the order was first shipped. If there are multiple shipments, this is when the first shipment shipped.
            delivered_at:
              type:
              - string
              - 'null'
              format: date-time
              description: When the order was delivered. If there are multiple shipments, this is when all shipments were delivered.
          required:
          - created_at
        original_cart:
          $ref: '#/components/schemas/Cart'
          description: If this order is a gift that was swapped, this displays the original cart that was sent to the recipient.
        original_amounts:
          type:
          - object
          - 'null'
          description: If this order is a gift that was swapped, this displays the original amounts of the cart that was sent to the recipient.
          properties:
            original_amount_product:
              type:
              - integer
              - 'null'
            original_amount_shipping:
              type:
              - integer
              - 'null'
            original_amount_credit_applied:
              type:
              - integer
              - 'null'
            original_amount_pre_tax_total:
              type:
              - integer
              - 'null'
        sender:
          $ref: '#/components/schemas/Sender'
          description: The Goody user who sent this order.
        payment_link:
          type:
          - string
          - 'null'
          description: For commerce apps using Hosted Payment, the payment link for the gift with the credit card entry form. Available when the gift is in `pending_payment` status (after it has been accepted).
        reference_id:
          type: string
          description: The reference ID displayed on receipts and other locations as the ID for this order.
      required:
      - id
      - recipient_first_name
      - status
      - individual_gift_link
      - cart
      - shipments
      - amounts
      - sender
      - reference_id
    CartItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
        product:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            brand:
              type: object
              description: The brand that this product is from.
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: string
              required:
              - id
              - name
          required:
          - id
          - name
          - brand
        quantity:
          type: integer
      required:
      - id
      - product
      - quantity
    Cart:
      type: object
      properties:
        id:
          type: string
          format: uuid
        items:
          type: array
          items:
            $ref: '#/components/schemas/CartItem'
    Sender:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
      required:
      - first_name
      - last_name
      - email
    ListMeta:
      type: object
      properties:
        total_count:
          type: integer
          description: The total number of items in this list.
    CartSelection:
      type: object
      description: Product variant selections for a specific gift cart product.
      properties:
        id:
          type: string
          format: uuid
        cart_item_id:
          type: string
          format: uuid
          description: The cart item ID this selection belongs to. Match this with cart.items[].id.
        quantity_index:
          type: integer
          description: The index of this selection within multiple quantities of the same product. If a given cart product has multiple quantities, this will be 0 for the first unit, 1 for the second unit, etc.
        variants:
          type: array
          items:
            type: string
          description: The selected variants for this product selection and quantity index.
      required:
      - id
      - cart_item_id
      - quantity_index
      - variants
    OrderStatus:
      type: string
      enum:
      - created
      - notified
      - opened
      - accepted
      - pending_payment
      - paid
      - ordered
      - shipped
      - delivered
      - failed
      - canceled
    Error:
      type: object
      properties:
        error:
          type: string
      required:
      - error
    Shipment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - pending
          - tracking
          - shipped
          - delivered
          - delivered_override
          - failed
          - failed_unset_tracking
          - failed_with_reship
        brand_name:
          type: string
          description: The name of the brand that this shipment is from.
        tracking_carrier:
          type:
          - string
          - 'null'
          description: The carrier for this shipment, e.g. UPS.
        tracking_number:
          type:
          - string
          - 'null'
          description: Only for approved distribution partners.
        tracking_url:
          type:
          - string
          - 'null'
          description: Only for approved distribution partners.
        shipped_at:
          type:
          - string
          - 'null'
          format: date-time
          description: ISO 8601
        delivered_at:
          type:
          - string
          - 'null'
          format: date-time
          description: ISO 8601
        delivery_eta:
          type:
          - string
          - 'null'
          format: date-time
          description: The estimated delivery time of this shipment.
      required:
      - id
      - status
      - brand_name
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: Your Goody API key.