FeniciaDocs
DocumentaciónAPICambiosSoporte
Buscar⌘K
Orders APIList OrdersCreate an OrderGet an OrderSearch OrdersOrder Status TransitionsUpdate an OrderFulfillment & ShippingReturns & RefundsAttachmentsActivity Log & ExportAbandoned CartsError Catalog

Producto

  • Características
  • Precios
  • Integraciones

Recursos

  • Documentación
  • API
  • Cambios
  • Blog

Empresa

  • Sobre nosotros
  • Contacto
  • Carreras

Legal

  • Privacidad
  • Términos
FeniciaLa plataforma de e-commerce para merchants profesionales

© 2026 Hobbio Inc. Todos los derechos reservados.

Get an Order

This endpoint returns all the data for an order: its items, the customer, the shipping address, the payment history, and the HATEOAS links describing the actions you can perform given the current status.

Use it when you need to:

  • Display order details in your application.
  • Sync information to external systems.
  • Verify the current status before triggering a transition (accept, prepare, cancel).
  • Audit the traceability of a specific order.

Endpoint

Retrieves an order by its MongoDB ID

Required permission: orders:read

Path parameters

ParameterTypeDescription
orderIdstringOrder ObjectId (24 hex characters). Returned by creating an order or from the list endpoint.

Field projection

If you only need a subset of fields, use ?fields= to shrink the response:

GET /orders/65f3a1b2c4d5e6f7a8b9c0d1?fields=externalId,orderStatus,total,items

Tip

Projection improves performance when fetching orders in bulk or from mobile clients on slow connections.

HATEOAS links

The _links object tells you which actions are valid on the order based on its current status. You don't have to hardcode transition logic in your client.

LinkAppears when
acceptOrder is in pending.
rejectOrder is in pending.
prepareOrder is in accepted.
cancelOrder hasn't been shipped or delivered yet.
returnsOrder is in fulfilled or delivered.
attachmentsAlways available for attaching files.

If a link is absent, the action is not valid in the current state.

Examples

curl https://api.fenicia.io/orders/65f3a1b2c4d5e6f7a8b9c0d1 \
  -H "Authorization: Bearer fn_live_your_api_key"

Response example

{
  "_id": "65f3a1b2c4d5e6f7a8b9c0d1",
  "externalId": "FEN-10042",
  "tenantId": "69db07c8bce4d49b18c42a49",
  "channelId": "manual",
  "channelType": "manual",
  "orderStatus": "accepted",
  "paymentStatus": "paid",
  "currency": "MXN",
  "subtotal": 1798.50,
  "discount": 100.00,
  "tax": 287.76,
  "total": 1986.26,
  "items": [
    {
      "sku": "SHIRT-RED-M",
      "productName": "Red Shirt Size M",
      "quantity": 2,
      "unitPrice": 499.00,
      "lineTotal": 998.00
    },
    {
      "sku": "PANTS-BLUE-32",
      "productName": "Blue Pants 32",
      "quantity": 1,
      "unitPrice": 899.50,
      "discount": 100.00,
      "lineTotal": 799.50
    }
  ],
  "customerInfo": {
    "customerId": "65f3a1b2c4d5e6f7a8b9c0d2",
    "firstName": "Maria",
    "lastName": "Gonzalez",
    "email": "maria.gonzalez@example.com",
    "phone": "+525512345678"
  },
  "shippingAddress": {
    "street": "Av. Reforma 123",
    "city": "Mexico City",
    "state": "CDMX",
    "zipCode": "06600",
    "country": "MX"
  },
  "deliveryInfo": { "method": "express", "carrier": "dhl" },
  "timeline": [
    { "event": "order_created", "timestamp": "2026-04-11T14:23:11.000Z" },
    { "event": "payment_received", "timestamp": "2026-04-11T14:23:15.000Z" },
    { "event": "order_accepted", "timestamp": "2026-04-11T14:30:02.000Z" }
  ],
  "orderCreated": "2026-04-11T14:23:11.000Z",
  "updatedAt": "2026-04-11T14:30:02.000Z",
  "_links": {
    "self": "/orders/65f3a1b2c4d5e6f7a8b9c0d1",
    "prepare": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/prepare",
    "cancel": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/cancel",
    "attachments": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/attachments"
  }
}

Errors

CodeStatusDescription
ORDER_NOT_FOUND404No order with that ID exists in your tenant.
INVALID_OBJECT_ID400The orderId is not a valid ObjectId format.
INSUFFICIENT_PERMISSIONS403The API key doesn't have the orders:read scope.
INVALID_API_KEY401The API key is invalid or revoked.

Tenant isolation

You can only read orders from your own tenant. Trying to access another tenant's order returns 404, never leaked data.

Next steps

  • Update an order
  • Status transitions
  • Search orders
  • Create an order