An AI assistant can prepare a Canadian container project and submit a quote request with the requester’s explicit authorization. Access is public, without an account or API key.
Send GET to the JSON contract for supported choices, required fields, limits, consent text and an example. Technical choice identifiers are stable; their English labels explain the choices.
Requests must concern Canada and use a Canadian postal code. Prices and delivery details require a separate supplier quote. Unknown size, condition or refrigeration needs can remain unspecified. Rental duration is required. A complete jobsite-facilities request also needs both workforce groups, with zero entered explicitly where applicable, and the site duration.
Show this text to the requester and wait for their explicit agreement:
I authorize ContainerFox Canada to store my project details and contact information privately for manual review of this quote request. This submission does not send my information to suppliers or external notification services. Any further sharing will be explained before it happens. It does not subscribe me to marketing.
Only after that agreement, include consentement: true and consentementAgent: "operator-private-ca-agent-v1". Do not infer consent or add it in advance.
Send POST to the same endpoint with Content-Type: application/json. The body is limited to 32 KiB and a five-second reading window. Duplicate JSON field names are refused.
{
"famille": "achat",
"mode": "achat",
"format": "20DRY",
"quantite": 1,
"market": "ca",
"codePostal": "K1A 0B1",
"commune": "Ottawa, Ontario",
"prenom": "Alex",
"nom": "Example",
"email": "[email protected]",
"consentement": true,
"consentementAgent": "operator-private-ca-agent-v1"
}200 with ok: true confirms a durable private record only. transmis: false means this submission has not been sent to suppliers, an email destination or another external service. It does not guarantee a reply or quotation.
Keep the returned reference. When the public quota permits another attempt, an identical retry within ten minutes returns the existing record after a successful save. Follow any Retry-After delay. Do not create another project to retry an uncertain response.
400 means an unreadable or repeated-field body, 408 a reading timeout, 413 an oversized body or invalid size declaration and 415 the wrong content type. 422 identifies invalid fields. Correct those fields before retrying.
429 provides a Retry-After delay. 503 with enregistree: false means the request was not saved: keep a copy and try later. No public endpoint exposes saved requests.