Orders

Endpoints for listing orders, viewing order details, listing order items, and creating checkout orders.

List orders

GET /orders

List orders for your team.

Scope: orders.lists

Description: Returns orders for your team. API tokens are automatically limited to their own team, even if filters.team_ids is sent in the request. Each order includes a checkout_link when its status is not PAID (otherwise null).

Parameters

ParameterTypeDescription
limitnumberNumber of records per page
pagenumberPage number
sort_bystringField to sort by
order_bystringSort direction (asc or desc)

Request

curl "https://api.presscart.com/orders?limit=10&page=1" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "records": [
    {
      "id": "44444444-4444-4444-4444-444444444444",
      "profile_id": "22222222-2222-2222-2222-222222222222",
      "client_id": null,
      "checkout_by_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "team_id": "11111111-1111-1111-1111-111111111111",
      "total": 1500,
      "subtotal": 1500,
      "processing_fee": 0,
      "discount": null,
      "credits_applied": null,
      "coupon": null,
      "client_secret": "pi_xxxxx_secret_xxxxx",
      "date_paid": "2026-02-10T14:30:00.000Z",
      "status": "PAID",
      "reference_number": "ORD-20260210-ABC123",
      "external_reference_number": null,
      "customer_invoice_id": null,
      "customer_invoice_source": null,
      "customer_invoice_date": null,
      "customer_invoice_url": null,
      "is_guest_order": false,
      "guest_email": null,
      "account_owner_email": "team@example.com",
      "guest_stripe_customer_id": null,
      "metadata": null,
      "created_at": "2026-02-10T14:00:00.000Z",
      "updated_at": "2026-02-10T14:30:00.000Z",
      "deleted_at": null,
      "team": {
        "name": "Acme Corp",
        "contact_email": "team@example.com"
      },
      "checkout_link": null,
      "line_items": [
        {
          "id": "55555555-5555-5555-5555-555555555555",
          "order_id": "44444444-4444-4444-4444-444444444444",
          "product_id": "33333333-3333-3333-3333-333333333333",
          "quantity": 1,
          "price": 1500,
          "is_add_on": false,
          "linked_order_line_item_id": null,
          "name": "Premium Tech Feature",
          "product_type_name": "Guest Post",
          "type_id": "tttttttt-tttt-tttt-tttt-tttttttttttt",
          "product_type_prefix": "guest_post",
          "outlet": {
            "logo": "https://cdn.presscart.com/logos/techdaily.png",
            "website_url": "https://techdaily.com"
          },
          "created_at": "2026-02-10T14:00:00.000Z",
          "updated_at": "2026-02-10T14:00:00.000Z",
          "deleted_at": null
        }
      ]
    }
  ],
  "total_records": 12,
  "total_pages": 2,
  "current_page": 1,
  "next_page": 2,
  "previous_page": null
}

Get order

GET /orders/{order_id}

Retrieve a single order by ID.

Scope: orders.read

Description: Returns a single order plus its line items with outlet and channel details. The response includes a checkout_link when the order status is not PAID (otherwise null).

Path parameters

ParameterTypeDescription
order_idstringUUID of the order

Request

curl "https://api.presscart.com/orders/44444444-4444-4444-4444-444444444444" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "id": "44444444-4444-4444-4444-444444444444",
  "profile_id": "22222222-2222-2222-2222-222222222222",
  "client_id": null,
  "checkout_by_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
  "team_id": "11111111-1111-1111-1111-111111111111",
  "total": 1500,
  "subtotal": 1500,
  "processing_fee": 0,
  "discount": null,
  "credits_applied": null,
  "coupon": null,
  "client_secret": "pi_xxxxx_secret_xxxxx",
  "date_paid": "2026-02-10T14:30:00.000Z",
  "status": "PAID",
  "reference_number": "ORD-20260210-ABC123",
  "external_reference_number": null,
  "customer_invoice_id": null,
  "customer_invoice_source": null,
  "customer_invoice_date": null,
  "customer_invoice_url": null,
  "is_guest_order": false,
  "guest_email": null,
  "account_owner_email": "team@example.com",
  "guest_stripe_customer_id": null,
  "metadata": null,
  "created_at": "2026-02-10T14:00:00.000Z",
  "updated_at": "2026-02-10T14:30:00.000Z",
  "deleted_at": null,
  "name": "Acme Corp",
  "email": "team@example.com",
  "checkout_link": null,
  "line_items": [
    {
      "id": "55555555-5555-5555-5555-555555555555",
      "order_id": "44444444-4444-4444-4444-444444444444",
      "product_id": "33333333-3333-3333-3333-333333333333",
      "quantity": 1,
      "price": 1500,
      "is_add_on": false,
      "linked_order_line_item_id": null,
      "name": "Premium Tech Feature",
      "product_type_name": "Guest Post",
      "type_id": "tttttttt-tttt-tttt-tttt-tttttttttttt",
      "outlet": {
        "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
        "name": "TechDaily",
        "logo": "https://cdn.presscart.com/logos/techdaily.png",
        "website_url": "https://techdaily.com"
      },
      "includes": [
        {
          "channel_type": "NEWSLETTER",
          "placement_type": "MENTION"
        }
      ],
      "created_at": "2026-02-10T14:00:00.000Z",
      "updated_at": "2026-02-10T14:00:00.000Z",
      "deleted_at": null
    }
  ]
}

List order items

GET /order-items

List order items for your team.

Scope: orders.lists

Description: Returns order items for your team. API tokens are automatically limited to their own team. The internal_cost and reseller_price fields are nulled for API-token callers.

Parameters

ParameterTypeDescription
limitnumberNumber of records per page
pagenumberPage number
sort_bystringField to sort by
order_bystringSort direction (asc or desc)

Request

curl "https://api.presscart.com/order-items?limit=20" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN"

Response

{
  "records": [
    {
      "id": "55555555-5555-5555-5555-555555555555",
      "referrer_id": null,
      "referrer_team_id": null,
      "product_id": "33333333-3333-3333-3333-333333333333",
      "commission_amount": 0,
      "commission_date_paid": null,
      "commission_status": "NOT_APPLICABLE",
      "is_accounting_completed": false,
      "is_publisher_paid": false,
      "is_reseller_paid": false,
      "refund_required": false,
      "is_refunded": false,
      "refund_date": null,
      "refund_method": null,
      "refund_reference": null,
      "vendor_invoice_id": null,
      "vendor_cost": 0,
      "vendor_invoice_date": null,
      "vendor_paid_date": null,
      "vendor_invoice_url": null,
      "accounting_completion_date": null,
      "publisher_paid_date": null,
      "reseller_paid_date": null,
      "created_at": "2026-02-10T14:00:00.000Z",
      "updated_at": "2026-02-10T14:00:00.000Z",
      "deleted_at": null,
      "order_id": "44444444-4444-4444-4444-444444444444",
      "client_id": null,
      "date_paid": "2026-02-10T14:30:00.000Z",
      "sale_price": 1500,
      "product_name": "Premium Tech Feature",
      "product_price": 1500,
      "product_type": "guest_post",
      "article_id": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
      "article": {
        "id": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
        "name": "Premium Tech Feature",
        "campaign": {
          "id": "66666666-6666-6666-6666-666666666666",
          "name": "Q2 Product Launch",
          "profile_id": "22222222-2222-2222-2222-222222222222"
        },
        "writer": {
          "id": "wwwwwwww-wwww-wwww-wwww-wwwwwwwwwwww",
          "first_name": "Jane",
          "last_name": "Smith"
        }
      },
      "internal_cost": null,
      "reseller_price": null,
      "client": {
        "first_name": "John",
        "last_name": "Doe"
      },
      "outlet": {
        "logo": "https://cdn.presscart.com/logos/techdaily.png"
      }
    }
  ],
  "total_records": 5,
  "total_pages": 1,
  "current_page": 1,
  "next_page": null,
  "previous_page": null
}

Create order

POST /orders/checkout

Create a new order.

Scope: orders.create

Description: Creates an order from line items and a profile ID. The profile must belong to the token's team.

Body

FieldTypeRequiredDescription
profile_idstringYesUUID of the profile placing the order
line_itemsarrayYesArray of line item objects
line_items[].product_idstringYesUUID of the product
line_items[].quantitynumberYesQuantity to order
line_items[].is_add_onbooleanYesWhether this is an add-on item
line_items[].linked_order_line_item_idstring | nullNoUUID of the parent line item for add-ons, or null
discountnumberNoDiscount amount to apply (defaults to 0)

Response fields

FieldTypeDescription
checkout_linkstring | nullGuest checkout URL you can share with the customer so they can pay online

Request

curl -X POST "https://api.presscart.com/orders/checkout" \
  -H "Authorization: Bearer $PRESSCART_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_id": "22222222-2222-2222-2222-222222222222",
    "line_items": [
      {
        "product_id": "33333333-3333-3333-3333-333333333333",
        "quantity": 1,
        "is_add_on": false,
        "linked_order_line_item_id": null
      }
    ],
    "discount": 0
  }'

Response

{
  "id": "44444444-4444-4444-4444-444444444444",
  "profile_id": "22222222-2222-2222-2222-222222222222",
  "client_id": null,
  "checkout_by_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
  "team_id": "11111111-1111-1111-1111-111111111111",
  "total": 1500,
  "subtotal": 1500,
  "processing_fee": 0,
  "discount": null,
  "credits_applied": null,
  "coupon": null,
  "client_secret": "pi_xxxxx_secret_xxxxx",
  "date_paid": null,
  "status": "CREATED",
  "reference_number": "ORD-20260210-ABC123",
  "external_reference_number": null,
  "customer_invoice_id": null,
  "customer_invoice_source": null,
  "customer_invoice_date": null,
  "customer_invoice_url": null,
  "is_guest_order": false,
  "guest_email": null,
  "account_owner_email": "team@example.com",
  "guest_stripe_customer_id": null,
  "metadata": null,
  "created_at": "2026-02-10T14:00:00.000Z",
  "updated_at": "2026-02-10T14:00:00.000Z",
  "deleted_at": null,
  "checkout_link": "https://app.presscart.com/orders/checkout/ORD-20260210-ABC123",
  "line_items": [
    {
      "product_id": "33333333-3333-3333-3333-333333333333",
      "is_add_on": false,
      "price": 1500,
      "quantity": 1,
      "linked_order_line_item_id": null
    }
  ]
}

On this page