Create an order

The "Create an Order" API allows users to create a new order within a specific event in their Zoho Backstage portal. An order represents a transaction record that captures purchaser information, billing address details, the selected ticket classes, and ticket holder details. This endpoint is typically used when you want to programmatically register attendees by creating a ticket purchase record through an integration, website flow, external checkout experience, or transactional backend system.

Using this API, you can:

  • Create orders for one or more ticket holders under a single purchase

  • Capture purchaser details (name, email, company, phone number)

  • Store billing address information for invoicing or payment records

  • Associate each attendee (ticket holder) with a specific ticket class

  • Generate tickets under the created order

To create an order successfully, you must provide the portal_id and event_id, and include the required order payload containing buyer details and tickets.

 

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

 

OAuth Scope

zohobackstage.order.CREATE

 

Path Parameters

  • portal_id (Long Integer)
    The unique identifier of the portal under which the event exists. This ensures that the order is created inside the correct Zoho Backstage portal environment. For example, "portal_id": "19593237" specifies the portal with ID 19593237.

  • event_id (Long Integer)
    The unique identifier of the event in which the order will be created. Orders and tickets are always scoped to a specific event. For example, "event_id": "2000000116588" specifies the event with ID 2000000116588.

Payload Parameters

  • buyer_details (Object) *
    An object containing purchaser and billing information for the order. This defines who is placing the order and which billing address should be associated with the transaction. For example, "buyer_details": { ... } contains purchaser identity and billing details.

    • purchaser_first_name (String)
      The first name of the purchaser who is placing the order. This value is stored as part of the purchaser identity and may be used in confirmation emails or order records. For example, "purchaser_first_name": "sam" indicates the purchaser’s first name.

    • purchaser_last_name (String)
      The last name of the purchaser who is placing the order. This value is stored as part of the purchaser identity. For example, "purchaser_last_name": "peter" indicates the purchaser’s last name.

    • purchaser_email (String)
      The email address of the purchaser who is placing the order. This email is used for transaction communication such as order confirmations and billing messages. For example, "purchaser_email": "sam@zoho.com" indicates the purchaser’s email address.

    • purchaser_company (String)
      The company name of the purchaser. This value may be used for business invoices, attendee records, or reporting. For example, "purchaser_company": "ZOHO" indicates the purchaser’s company name.

    • purchaser_mobile_no (String)
      The mobile number of the purchaser. This may be used for communication, verification, or contact records. For example, "purchaser_mobile_no": "9988776655" indicates the purchaser’s phone number.

  • billing_address (Object)
    An object containing billing address details associated with the purchaser. These details may be used for invoices, receipts, and payment records. For example, "billing_address": { ... } contains billing address fields.

    • billing_address_name (String)
      The name associated with the billing address. This may represent the billing contact name or recipient name for invoices. For example, "billing_address_name": "Trader" indicates the billing name.

    • billing_address_line_1 (String)
      The first line of the billing address. This typically contains primary address details such as building number and street name. For example, "billing_address_line_1": "123, Estancia IT Park" indicates the first address line.

    • billing_address_line_2 (String)
      The second line of the billing address. This is used for additional address details such as locality, district, or apartment information. For example, "billing_address_line_2": "Cyber Lane," indicates the second address line.

    • billing_city (String)
      The city associated with the billing address. For example, "billing_city": "San Francisco" indicates the billing city.

    • billing_country (String)
      The country associated with the billing address. For example, "billing_country": "USA" indicates the billing country.

    • billing_state (String)
      The state or region associated with the billing address. For example, "billing_state": "California" indicates the billing state.

    • billing_zip_code (String)
      The ZIP code or postal code associated with the billing address. For example, "billing_zip_code": "94000" indicates the billing postal code.

  • tickets (Array of Objects) *
    An array containing ticket entries that should be created under this order. Each object in this array represents one ticket holder entry and references the ticket class being purchased. For example, "tickets": [ { ... }, { ... } ] indicates multiple tickets are created under the order.

    • ticketclass_id (String) *
      The unique identifier of the ticket class being purchased for this ticket entry. This determines which ticket type is issued to the attendee. For example, "ticketclass_id": "3000000012232" indicates the ticket will be created under ticket class 3000000012232.

    • data (Object)
      An object containing the ticket holder (attendee) details for this ticket entry. This defines who the ticket is issued to. For example, "data": { ... } contains attendee identity details.

      • first_name (String)
        The first name of the ticket holder. This value is stored in the attendee record for the ticket. For example, "first_name": "sam" indicates the ticket holder’s first name.

      • last_name (String)
        The last name of the ticket holder. This value is stored in the attendee record for the ticket. For example, "last_name": "peter" indicates the ticket holder’s last name.

      • email (String)
        The email address of the ticket holder. This email may be used for ticket delivery, attendee communication, and identification. For example, "email": "sam@zoho.com" indicates the ticket holder’s email address.

Response Structure and Field Explanations

  • id (String)
    The unique system-generated identifier assigned to the newly created order. This ID is required for retrieving the order, validating payment state, or fetching associated tickets later. For example, "id": "78900000002188379" represents the unique identifier of the created order.

  • order_by (String)
    The email address of the person who placed the order. This value indicates the ordering account email and is typically the purchaser email used in the order. For example, "order_by": "sam@zoho.com" indicates that the order was placed by sam@zoho.com.

  • status (Integer)
    The numeric status representing the current state of the order. This value indicates whether the order is placed, cancelled, refunded, or otherwise processed. For example, "status": 0 indicates that the order is currently in the placed state.

  • status_string (String)
    The textual representation of the order status. This makes the numeric status easier to interpret. For example, "status_string": "placed" indicates that the order is placed.

  • payment_type (Integer)
    The numeric payment type representing how the order was paid or recorded. This value indicates the payment mode such as online, bank transfer, complimentary, or transaction API. For example, "payment_type": 10 indicates that the payment type is transaction_api.

  • payment_type_string (String)
    The textual representation of the payment type. For example, "payment_type_string": "transaction_api" indicates that the payment type is transaction_api.

  • payment_option_name (String)
    The display name of the payment option used for the order. This is the label shown in the system for the selected payment configuration. For example, "payment_option_name": "Transaction API" indicates the payment option used.

  • source (Integer)
    The numeric source representing where the order originated from. This helps identify if the order was created from the Backstage UI, imported, created via API, or from integrations. For example, "source": 4 indicates that the order source is API.

  • source_string (String)
    The textual representation of the order source. For example, "source_string": "api" indicates that the order originated via API.

  • billing_address (Object)
    An object containing billing address information stored on the order. This may be used for invoicing and billing records. For example, "billing_address": { ... } contains billing details.

    • name (String)
      The name stored in the billing address record for the order. For example, "name": "sam" indicates the billing name stored for the order.

    • streetAddress1 (String)
      The first line of the billing address stored for the order. For example, "streetAddress1": "221B, Bakers street," indicates address line 1.

    • streetAddress2 (String)
      The second line of the billing address stored for the order. For example, "streetAddress2": "chennai - 123 456" indicates address line 2.

    • city (String)
      The city stored in the billing address. For example, "city": "Chennai" indicates the city value.

    • state (String)
      The state stored in the billing address. For example, "state": "TN" indicates the state value.

    • country (String)
      The country stored in the billing address. For example, "country": "India" indicates the country value.

    • zipcode (String)
      The ZIP code stored in the billing address. For example, "zipcode": "123456" indicates the postal code value.

  • refund_policy (Integer)
    The refund policy applied to the order. This represents the cancellation/refund rules applicable to the order. For example, "refund_policy": 0 indicates that the order follows a “no cancellation policy.”

  • origin (Integer)
    The numeric origin representing where the order action was initiated. This helps distinguish whether the order was created from the site or from the editor. For example, "origin": 2 indicates the order was created from the editor.

  • origin_string (String)
    The textual representation of the order origin. For example, "origin_string": "editor" indicates the origin is editor.

  • payment_status (Integer)
    The numeric payment status representing whether the order is paid or unpaid. For example, "payment_status": 1 indicates the order is paid.

  • payment_status_string (String)
    The textual representation of the payment status. For example, "payment_status_string": "paid" indicates the order is paid.

  • contact (Object)
    An object containing purchaser contact information associated with the order. This represents purchaser identity details stored on the order. For example, "contact": { ... } contains purchaser details.

    • purchaser_first_name (String)
      The first name of the purchaser stored in the order contact. For example, "purchaser_first_name": "sam" indicates the purchaser first name.

    • purchaser_last_name (String)
      The last name of the purchaser stored in the order contact. For example, "purchaser_last_name": "peter" indicates the purchaser last name.

    • purchaser_email (String)
      The email address of the purchaser stored in the order contact. For example, "purchaser_email": "sam@zoho.com" indicates the purchaser email.

    • purchaser_mobile_no (String)
      The mobile number of the purchaser stored in the order contact. For example, "purchaser_mobile_no": "9988776655" indicates the purchaser phone number.

  • created_by (Object)
    An object containing details of the user who created the order. This is useful for auditing, especially when orders are created through UI or API. For example, "created_by": { ... } contains creator details.

    • id (Long Integer)
      The unique identifier of the user who created the order. For example, "id": "78900000000002001" indicates creator user ID.

    • email (String)
      The email address of the user who created the order. For example, "email": "sam@zoho.com" indicates creator email.

    • first_name (String)
      The display name or first name of the order creator. For example, "first_name": "sam" indicates creator name.

    • company (String)
      The company associated with the creator. For example, "company": "ZOHO" indicates creator organization.

    • designation (String)
      The designation of the creator. For example, "designation": "Manager" indicates creator role.

  • created_time (String)
    The timestamp indicating when the order was created, returned in ISO 8601 UTC format. For example, "created_time": "2026-04-11T07:10:08Z" indicates order creation time.

  • last_modified_by (Object)
    An object containing details of the user who last modified the order. For example, "last_modified_by": { ... } contains modifier details.

    • id (Long Integer)
      The unique identifier of the user who last modified the order. For example, "id": "78900000000002001" indicates modifier user ID.

    • email (String)
      The email address of the modifier. For example, "email": "sam@zoho.com" indicates modifier email.

    • first_name (String)
      The display name or first name of the modifier. For example, "first_name": "sam" indicates modifier name.

    • company (String)
      The company associated with the modifier. For example, "company": "ZOHO" indicates modifier organization.

    • designation (String)
      The designation of the modifier. For example, "designation": "Manager" indicates modifier role.

  • last_modified_time (String)
    The timestamp indicating when the order was last modified, returned in ISO 8601 UTC format. For example, "last_modified_time": "2026-04-11T07:10:08Z" indicates the last modification time.

  • cost (Object)
    An object containing the overall cost breakdown for the order. This includes subtotal, discounts, service fees, tax, and total. For example, "cost": { ... } provides pricing summary.

    • sub_total (Integer)
      The subtotal amount of the order before taxes and additional fees. For example, "sub_total": 10 indicates order subtotal.

    • discount (Integer)
      The discount amount applied to the order. For example, "discount": 0 indicates no discount.

    • service_fee (Integer)
      The service fee applied to the order. For example, "service_fee": 0 indicates no service fee.

    • tax (Integer)
      The tax amount applied to the order. For example, "tax": 0 indicates no tax.

    • tax_percent (Integer)
      The tax percentage applied to the order. For example, "tax_percent": 0 indicates tax percent is 0.

    • total (Integer)
      The final payable total for the order. For example, "total": 10 indicates total payable amount.

    • tax_name (String)
      The name of the tax applied to the order. This may be null if no tax is applied. For example, "tax_name": null indicates no tax name.

    • promo_code (String)
      The promo code applied to the order, if any. This may be null if none is used. For example, "promo_code": null indicates no promo code.

    • discount_applied (Integer)
      The discount details object/value applied to the order. This may be null if no discount exists. For example, "discount_applied": null indicates no discount details.

  • tickets (Array of Objects)
    An array containing ticket objects created under the order. Each object represents one attendee ticket issued as part of this order. For example, "tickets": [ { ... } ] indicates one or more tickets.

    • id (String)
      The unique identifier assigned to the ticket under this order. For example, "id": "789000000021883791" indicates ticket ID.

    • base_price (Integer)
      The base price of the ticket before discounts, taxes, or fees. For example, "base_price": 10 indicates the ticket base price.

    • discount (Integer)
      The discount applied to the ticket. For example, "discount": 0 indicates no discount.

    • service_fee (Integer)
      The service fee applied to the ticket. For example, "service_fee": 0 indicates no service fee.

    • tax (Integer)
      The tax applied to the ticket. For example, "tax": 0 indicates no tax.

    • total (Integer)
      The total payable price of the ticket after adjustments. For example, "total": 10 indicates ticket total.

    • promo_code (String)
      The promo code applied to the ticket, if any. For example, "promo_code": null indicates none.

    • discount_applied (Integer)
      The discount details applied to the ticket. For example, "discount_applied": null indicates none.

    • status (Integer)
      The numeric ticket status. For example, "status": 0 indicates ticket is placed.

    • status_string (String)
      The textual representation of the ticket status. For example, "status_string": "placed" indicates ticket is placed.

    • payment_status (Integer)
      The numeric payment status of the ticket. For example, "payment_status": 1 indicates ticket is paid.

    • payment_status_string (String)
      The textual representation of ticket payment status. For example, "payment_status_string": "paid" indicates ticket is paid.

    • ticket_name (String)
      The name of the ticket as configured in ticketing. For example, "ticket_name": "Sample Ticket" indicates ticket name.

    • ticket_class_id (Long Integer)
      The unique identifier of the ticket class associated with the ticket. For example, "ticket_class_id": "27000000023381" indicates ticket class ID.

    • issue_ticket (Boolean)
      Indicates whether the ticket is issued and usable. For example, "issue_ticket": true indicates the ticket is issued.

    • contact (Object)
      An object containing ticket holder (attendee) details for the issued ticket. For example, "contact": { ... } contains attendee info.

      • first_name (String)
        The first name of the ticket holder. For example, "first_name": "sam".

      • company_name (String)
        The company name of the ticket holder. For example, "company_name": "ZOHO".

      • email (String)
        The email address of the ticket holder. For example, "email": "sam@zoho.com".

      • designation (String)
        The designation of the ticket holder. For example, "designation": "Manager".

      • mobile_no (String)
        The mobile number of the ticket holder. For example, "mobile_no": "9988776655".

      • last_name (String)
        The last name of the ticket holder. For example, "last_name": "peter".

    • created_by (Object)
      An object containing details of the user who created the ticket record. For example, "created_by": { ... } contains creator details.

      • id (Long Integer)
        The unique identifier of the ticket creator. For example, "id": "78900000000002001".

      • email (String)
        The email address of the ticket creator. For example, "email": "sam@zoho.com".

      • first_name (String)
        The display name or first name of the ticket creator. For example, "first_name": "sam".

      • company (String)
        The company of the ticket creator. For example, "company": "ZOHO".

      • designation (String)
        The designation of the ticket creator. For example, "designation": "Manager".

    • created_time (String)
      The timestamp indicating when the ticket was created in UTC. For example, "created_time": "2026-04-11T07:10:08Z".

    • last_modified_by (Object)
      An object containing details of the user who last modified the ticket. For example, "last_modified_by": { ... } contains modifier details.

      • id (Long Integer)
        The unique identifier of the ticket modifier. For example, "id": "78900000000002001".

      • email (String)
        The email address of the ticket modifier. For example, "email": "sam@zoho.com".

      • first_name (String)
        The display name or first name of the ticket modifier. For example, "first_name": "sam".

      • company (String)
        The company of the ticket modifier. For example, "company": "ZOHO".

      • designation (String)
        The designation of the ticket modifier. For example, "designation": "Manager".

    • last_modified_time (String)
      The timestamp indicating when the ticket was last modified in UTC. For example, "last_modified_time": "2026-04-11T07:10:08Z".

URL

Copied/v3/portals/{portal_id}/events/{event_id}/orders

Example

Copiedhttps://zohoapis.com/backstage/v3/portals/19593237/events/2000000116588/orders

Payload

Copied{
  "buyer_details": {
    "purchaser_first_name": "sam",
    "purchaser_last_name": "peter",
    "purchaser_email": "sam@zoho.com",
    "purchaser_company": "ZOHO",
    "purchaser_mobile_no": "9988776655",
    "billing_address": {
      "billing_address_name": "Trader",
      "billing_address_line_1": "123, Estancia IT Park",
      "billing_address_line_2": "Cyber Lane,",
      "billing_city": "San Francisco",
      "billing_country": "USA",
      "billing_state": "California",
      "billing_zip_code": "94000"
    }
  },
  "tickets": [
    {
      "ticketclass_id": "3000000012232",
      "data": {
        "first_name": "sam",
        "last_name": "peter",
        "email": "sam@zoho.com"
      }
    },
    {
      "ticketclass_id": "3000000012232",
      "data": {
        "first_name": "peter",
        "last_name": "sam",
        "email": "peter@zoho.com"
      }
    }
  ]
}

Sample Response

Copied{
  "id": "78900000002188379",
  "order_by": "sam@zoho.com",
  "status": 0,
  "status_string": "placed",
  "payment_type": 10,
  "payment_type_string": "transaction_api",
  "payment_option_name": "Transaction API",
  "source": 4,
  "source_string": "api",
  "billing_address": {
    "name": "sam",
    "streetAddress1": "221B, Bakers street,",
    "streetAddress2": "chennai - 123 456",
    "city": "Chennai",
    "state": "TN",
    "country": "India",
    "zipcode": "123456"
  },
  "refund_policy": 0,
  "origin": 2,
  "origin_string": "editor",
  "payment_status": 1,
  "payment_status_string": "paid",
  "contact": {
    "purchaser_first_name": "sam",
    "purchaser_last_name": "peter",
    "purchaser_email": "sam@zoho.com",
    "purchaser_mobile_no": "9988776655"
  },
  "created_by": {
    "id": "78900000000002001",
    "email": "sam@zoho.com",
    "first_name": "sam",
    "company": "ZOHO",
    "designation": "Manager"
  },
  "created_time": "2026-04-11T07:10:08Z",
  "last_modified_by": {
    "id": "78900000000002001",
    "email": "sam@zoho.com",
    "first_name": "sam",
    "company": "ZOHO",
    "designation": "Manager"
  },
  "last_modified_time": "2026-04-11T07:10:08Z",
  "cost": {
    "sub_total": 10,
    "discount": 0,
    "service_fee": 0,
    "tax": 0,
    "tax_percent": 0,
    "total": 10,
    "tax_name": null,
    "promo_code": null,
    "discount_applied": null
  },
  "tickets": [
    {
      "id": "789000000021883791",
      "base_price": 10,
      "discount": 0,
      "service_fee": 0,
      "tax": 0,
      "total": 10,
      "promo_code": null,
      "discount_applied": null,
      "status": 0,
      "status_string": "placed",
      "payment_status": 1,
      "payment_status_string": "paid",
      "ticket_name": "Sample Ticket",
      "ticket_class_id": "27000000023381",
      "issue_ticket": true,
      "contact": {
        "first_name": "sam",
        "company_name": "ZOHO",
        "email": "sam@zoho.com",
        "designation": "Manager",
        "mobile_no": "9988776655",
        "last_name": "peter"
      },
      "created_by": {
        "id": "78900000000002001",
        "email": "sam@zoho.com",
        "first_name": "sam",
        "company": "ZOHO",
        "designation": "Manager"
      },
      "created_time": "2026-04-11T07:10:08Z",
      "last_modified_by": {
        "id": "78900000000002001",
        "email": "sam@zoho.com",
        "first_name": "sam",
        "company": "ZOHO",
        "designation": "Manager"
      },
      "last_modified_time": "2026-04-11T07:10:08Z"
    }
  ]
}