Endpoint

POST https://api.gospeedlog.com/deliveries

Required Headers

x-gsl-token string required
Your API authentication token
x-gsl-secret string required
Your API secret key
Content-Type string required
Must be set to application/json

Request Body Parameters

name string

Customer name (defaults to "Default Customer")

email string

Customer email (defaults to generated email)

phone_number string

Customer phone (defaults to "1234567890")

dial_code string

Country code (defaults to "+1")

order_number string required

Your internal order/reference number

service_type string required

Delivery service type (same_day, fast_track, scheduled)

vehicle_type string required

Preferred vehicle type (car, cargo_van, box_truck)

special_instructions string

Special delivery instructions

confirmation_sign_required boolean

Whether signature is required (defaults to false)

pickup object required

customer_name string required

Full name of pickup contact

full_address string required

Complete pickup address

phone_number string required

Contact phone number

apartment_unit_number string

Apartment/unit number

date string

Scheduled pickup date (YYYY-MM-DD format)

time string

Scheduled pickup time (HH:MM:SS format)

notes string

Pickup-specific notes

dropoff object required

customer_name string required

Full name of dropoff contact

full_address string required

Complete dropoff address

phone_number string required

Contact phone number

apartment_unit_number string

Apartment/unit number

date string

Scheduled dropoff date (YYYY-MM-DD format)

time string

Scheduled dropoff time (HH:MM:SS format)

notes string

Dropoff-specific notes

package object required

type string

Package type (e.g., box, envelope, pallets)

content string required

Description of package contents

size string

Size category (small, medium, large, etc.)

quantity integer

Number of packages (defaults to 1)

is_fragile boolean

Whether package is fragile (defaults to false)

height number

Height in cm

width number

Width in cm

length number

Length in cm

weight number

Weight in kg

Request Example (cURL)

curl --request POST \
--url https://api.gospeedlog.com/deliveries \
--header 'x-gsl-token: ' \
--header 'x-gsl-secret: ' \
--header 'Content-Type: application/json' \
--data '{
  "deliveries": [
    {
      "order_number": "ORD-12345",
      "service_type": "same_day",
      "special_instructions": "Handle with care",
      "confirmation_sign_required": false,
  
      "pickup_address": {
        "customer_name": "John Doe",
        "full_address": "123 Main St, New York, NY 10001",
        "phone_number": "1234567890",
        "apartment_unit_number": "Apt 5B",
        "scheduled_date": "2025-01-15",
        "scheduled_time": "09:00:00",
        "notes": "Ring doorbell"
      },
  
      "dropoff_address": {
        "customer_name": "Jane Smith",
        "full_address": "456 Oak Ave, Brooklyn, NY 11201",
        "phone_number": "0987654321",
        "apartment_unit_number": "Unit 3A",
        "scheduled_date": "2025-01-15",
        "scheduled_time": "14:00:00",
        "notes": "Leave with concierge"
      },
  
      "package": {
        "package_type": "box",
        "content": "Electronics",
        "content_details": "Fragile electronics",
        "approximate_size": "medium",
        "quantity": 1,
        "is_fragile": true,
        "height": 10,
        "width": 15,
        "length": 20,
        "weight": 2.5
      }
    }
  ]
}'

Replace <your_api_token> and <your_api_secret> with your actual credentials.

Response

201 Created
The delivery was successfully created. Response includes delivery details and tracking information.
Response Body
{
  "order_number": "ORD-12345",
  "pickup": {
    "customer_name": "John Doe",
    "address": "123 Main St, New York, NY 10001",
    "phone_number": "+11234567890"
  },
  "dropoff": {
    "customer_name": "Jane Smith",
    "address": "456 Oak Ave, Brooklyn, NY 11201",
    "phone_number": "+10987654321"
  },
  "package": {
    "type": "box",
    "content": "Electronics",
    "size": "medium",
    "height": 10,
    "width": 15,
    "length": 20,
    "weight": 2.5
  },
  "estimated_delivery_time": 120,
  "estimated_distance": 15.5,
  "pickup_date": "2024-01-15",
  "pickup_time": "09:00:00",
  "delivery_date": "2024-01-15",
  "delivery_time": "14:00:00",
  "status": "pending",
  "created_at": "2024-01-15T08:00:00Z"
}
400 Bad Request
The request was malformed or missing required parameters.
Response Body
{
  "error": "Bad Request",
  "message": "Missing required field: pickup.full_address"
}
401 Unauthorized
Your API key is missing or invalid. Make sure authentication headers are included in the request.

Common Error Codes

  • 400 Bad Request: Invalid request data or missing required fields
  • 401 Unauthorized: Invalid or missing API credentials (x-gsl-token or x-gsl-secret)
  • 404 Not Found: Delivery not found
  • 422 Unprocessable Entity: Cannot process request (e.g., trying to cancel a completed delivery)
  • 500 Internal Server Error: Server error

Validation Errors

When validation fails, the API returns a 400 status code with detailed error information:

{
  "error": "Validation Error",
  "message": "The request contains invalid data",
  "errors": {
    "order_number": ["is required"],
    "pickup.customer_name": ["cannot be blank"],
    "service_type": ["must be one of: same_day, fast_track, scheduled"]
  }
}

Support

For API support and questions, please contact our development team at api-support@gospeedlog.com .

Our team typically responds within 24 hours during business days.