Accept a quote
curl --request POST \
--url https://api.provenmetal.com/central/orders/{identifier}/accept-quote \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"customer_approved": true,
"option_id": "<string>",
"quote_number": "<string>",
"issued_at": "<string>",
"total_cents": 123
}
'import requests
url = "https://api.provenmetal.com/central/orders/{identifier}/accept-quote"
payload = {
"customer_approved": True,
"option_id": "<string>",
"quote_number": "<string>",
"issued_at": "<string>",
"total_cents": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_approved: true,
option_id: '<string>',
quote_number: '<string>',
issued_at: '<string>',
total_cents: 123
})
};
fetch('https://api.provenmetal.com/central/orders/{identifier}/accept-quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.provenmetal.com/central/orders/{identifier}/accept-quote",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'customer_approved' => true,
'option_id' => '<string>',
'quote_number' => '<string>',
'issued_at' => '<string>',
'total_cents' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.provenmetal.com/central/orders/{identifier}/accept-quote"
payload := strings.NewReader("{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.provenmetal.com/central/orders/{identifier}/accept-quote")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.provenmetal.com/central/orders/{identifier}/accept-quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Accept a quote
Accepts one issued option, only after the customer explicitly approved it. The quote number, option, issue time and total must match the current quote exactly, or nothing is accepted.
POST
/
central
/
orders
/
{identifier}
/
accept-quote
Accept a quote
curl --request POST \
--url https://api.provenmetal.com/central/orders/{identifier}/accept-quote \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"customer_approved": true,
"option_id": "<string>",
"quote_number": "<string>",
"issued_at": "<string>",
"total_cents": 123
}
'import requests
url = "https://api.provenmetal.com/central/orders/{identifier}/accept-quote"
payload = {
"customer_approved": True,
"option_id": "<string>",
"quote_number": "<string>",
"issued_at": "<string>",
"total_cents": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_approved: true,
option_id: '<string>',
quote_number: '<string>',
issued_at: '<string>',
total_cents: 123
})
};
fetch('https://api.provenmetal.com/central/orders/{identifier}/accept-quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.provenmetal.com/central/orders/{identifier}/accept-quote",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'customer_approved' => true,
'option_id' => '<string>',
'quote_number' => '<string>',
'issued_at' => '<string>',
'total_cents' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.provenmetal.com/central/orders/{identifier}/accept-quote"
payload := strings.NewReader("{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.provenmetal.com/central/orders/{identifier}/accept-quote")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.provenmetal.com/central/orders/{identifier}/accept-quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customer_approved\": true,\n \"option_id\": \"<string>\",\n \"quote_number\": \"<string>\",\n \"issued_at\": \"<string>\",\n \"total_cents\": 123\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your ProvenMetal API key (pm_live_...). Authorization: Bearer <key> also works.
Path Parameters
Body
application/json
Must be true: the customer explicitly approved this option.
The issued option to accept.
The quote number the customer saw.
When that quote was issued, as returned by Get an order.
The option's total in cents, as the customer saw it.
Response
Successful Response