SalesByte
Quotes API

Get Quote

Retrieve a single quote by its public key.

Endpoint

GET /api/quotes/<key>

Authentication

Authorization: Bearer <your-api-token>

Path Parameters

ParameterTypeRequiredDescription
keystringyesThe public-facing quote key (found in customer page URLs)

Example Request

curl -X GET "https://app.salesbyte.se/api/quotes/hLcblYXo3BJh8Z" \
  -H "Authorization: Bearer <your-api-token>"

Response

Returns the full quote resource:

{
  "id": 950,
  "key": "hLcblYXo3BJh8Z",
  "quote_profile_name": "Standard Quote",
  "customer_name": "Acme Corp",
  "customer_first_name": "John",
  "customer_last_name": "Doe",
  "customer_company": "Acme Corp",
  "customer_phone": "+46701234567",
  "customer_email": "[email protected]",
  "address_firstline": "123 Main Street",
  "address_secondline": null,
  "address_postcode": "12345",
  "address_city": "Stockholm",
  "custom_fields": {
    "Industry": "Technology",
    "Company Size": "50-100"
  },
  "quote_value": 15000,
  "created_at": "2025-01-15T10:30:00.000000Z",
  "updated_at": "2025-01-16T14:22:00.000000Z",
  "salesperson": {
    "name": "Jane Smith",
    "email": "[email protected]"
  },
  "is_signed": true,
  "is_fully_signed": true,
  "requires_more_signatures": false,
  "is_project_approval_pending": false,
  "is_project_approval_signed": false,
  "signed_offer": {
    "main_document_name": "Quote #950",
    "main_document_url": "https://app.salesbyte.se/documents/...",
    "extra_documents": []
  },
  "signed_products": {
    "original_price_including_vat": 15000,
    "price_including_vat": 15000,
    "discount_including_vat": 0,
    "currency": "SEK",
    "products": [
      {
        "sku": "PROD-001",
        "amount": 1,
        "url": null,
        "name": "Enterprise License",
        "original_price_including_vat": 15000,
        "price_including_vat": 15000,
        "original_sum_including_vat": 15000,
        "sum_including_vat": 15000,
        "currency": "SEK",
        "price_unit": "pcs"
      }
    ]
  },
  "additional_documents_signed": [],
  "additional_documents_requiring_signature": [],
  "statuses": ["signed", "delivered"],
  "links": {
    "edit": "https://app.salesbyte.se/offerter/950/redigera",
    "customer_view": "https://app.salesbyte.se/view/hLcblYXo3BJh8Z",
    "customer_verificate": "https://app.salesbyte.se/signed/hLcblYXo3BJh8Z",
    "customer_project_approval": "https://app.salesbyte.se/view/hLcblYXo3BJh8Z?project_approval=1"
  }
}

Response Fields

The response structure matches the Quote Checkout Webhook payload. See that documentation for complete field descriptions.

Basic Information

FieldTypeDescription
idintegerInternal quote identifier
keystringPublic-facing key (used in customer page URLs)
quote_profile_namestringName of the quote profile used
quote_valuenumeric | nullTotal value of the quote
created_atstringTimestamp when quote was created (ISO 8601)
updated_atstringTimestamp when quote was last updated (ISO 8601)

Customer Information

FieldTypeDescription
customer_namestringFull name of the customer
customer_first_namestring | nullFirst name
customer_last_namestring | nullLast name
customer_companystring | nullCompany name
customer_phonestring | nullPhone number
customer_emailstring | nullEmail address

Address Information

FieldTypeDescription
address_firstlinestring | nullFirst line of address
address_secondlinestring | nullSecond line of address
address_postcodestring | nullPostcode
address_citystring | nullCity

Signature Status

FieldTypeDescription
is_signedbooleanQuote has at least one signature
is_fully_signedbooleanAll required signatures collected
requires_more_signaturesbooleanMore signatures still needed
is_project_approval_pendingbooleanProject approval is pending
is_project_approval_signedbooleanProject approval has been signed
FieldTypeDescription
links.editstring (URL)Back-office edit page
links.customer_viewstring (URL)Customer view page
links.customer_verificatestring (URL)Customer verification page
links.customer_project_approvalstring (URL)Project approval page

Status Codes

Status CodeDescription
200 OKRequest successful
401 UnauthorizedMissing or invalid Bearer token
404 Not FoundQuote with specified key not found
500 Internal Server ErrorServer error

On this page