Add Images Files
Uri: https://test-api.finerworks.com/v3/add_images
Method: POST
Allows the user to add images to a library.
Body
| Name | Description | Type | Additional information |
|---|---|---|---|
| images |
Image objects data to submit. This assumes the image files will be posted to a url. Insert up to 5 at once. |
array (add_image_details) |
Required |
| library |
Contains parameters which indicate the location of the image. |
image_library |
Required |
Example JSON Body
application/json, text/json
{
"images": [
{
"title": "My Cool Image",
"description": "This is a really cool picture.",
"file_name": "abc.jpg",
"file_size": 11000024,
"thumbnail_file_name": "thumbnail.jpg",
"preview_file_name": "preview.jpg",
"hires_file_name": "hires.jpg",
"public_thumbnail_uri": "https://somewhere.com/public_thumbnail_uri.jpg",
"public_preview_uri": "https://somewhere.com/public_preview_uri.jpg",
"private_hires_uri": "https://somewhere.com/private_hires_uri.jpg",
"pix_w": 1600,
"pix_h": 2400
}
],
"library": {
"name": "inventory",
"session_id": "1234567890",
"account_key": "",
"site_id": 2
}
}
Sample Code Library
curl --location --request sample_method 'https://test-api.finerworks.comsample_endpoint' \
--header 'Content-Type: application/json' \
--header 'web_api_key: my-web-api-key-goes-here' \
--header 'app_key: my-app-key-goes-here' \
--data-raw '{
"images": [
{
"title": "My Cool Image",
"description": "This is a really cool picture.",
"file_name": "abc.jpg",
"file_size": 11000024,
"thumbnail_file_name": "thumbnail.jpg",
"preview_file_name": "preview.jpg",
"hires_file_name": "hires.jpg",
"public_thumbnail_uri": "https://somewhere.com/public_thumbnail_uri.jpg",
"public_preview_uri": "https://somewhere.com/public_preview_uri.jpg",
"private_hires_uri": "https://somewhere.com/private_hires_uri.jpg",
"pix_w": 1600,
"pix_h": 2400
}
],
"library": {
"name": "inventory",
"session_id": "1234567890",
"account_key": "",
"site_id": 2
}
}'
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://test-api.finerworks.comsample_endpoint');
$request->setMethod(HTTP_Request2::METHOD_sample_method);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'web_api_key' => 'my-web-api-key-goes-here',
'app_key' => 'my-app-key-goes-here'
));
$request->setBody('{
'images': [
{
'title': 'My Cool Image',
'description': 'This is a really cool picture.',
'file_name': 'abc.jpg',
'file_size': 11000024,
'thumbnail_file_name': 'thumbnail.jpg',
'preview_file_name': 'preview.jpg',
'hires_file_name': 'hires.jpg',
'public_thumbnail_uri': 'https://somewhere.com/public_thumbnail_uri.jpg',
'public_preview_uri': 'https://somewhere.com/public_preview_uri.jpg',
'private_hires_uri': 'https://somewhere.com/private_hires_uri.jpg',
'pix_w': 1600,
'pix_h': 2400
}
],
'library': {
'name': 'inventory',
'session_id': '1234567890',
'account_key': '',
'site_id': 2
}
}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
var client = new RestClient("https://test-api.finerworks.comsample_endpoint");
client.Timeout = -1;
var request = new RestRequest(Method.sample_method);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("web_api_key", "my-web-api-key-goes-here");
request.AddHeader("app_key", "my-app-key-goes-here");
request.AddParameter("application/json", "{
'images': [
{
'title': 'My Cool Image',
'description': 'This is a really cool picture.',
'file_name': 'abc.jpg',
'file_size': 11000024,
'thumbnail_file_name': 'thumbnail.jpg',
'preview_file_name': 'preview.jpg',
'hires_file_name': 'hires.jpg',
'public_thumbnail_uri': 'https://somewhere.com/public_thumbnail_uri.jpg',
'public_preview_uri': 'https://somewhere.com/public_preview_uri.jpg',
'private_hires_uri': 'https://somewhere.com/private_hires_uri.jpg',
'pix_w': 1600,
'pix_h': 2400
}
],
'library': {
'name': 'inventory',
'session_id': '1234567890',
'account_key': '',
'site_id': 2
}
}, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var settings = {
"url": "https://test-api.finerworks.comsample_endpoint",
"method": "sample_method",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"web_api_key": "my-web-api-key-goes-here",
"app_key": "my-app-key-goes-here"
},
"data": JSON.stringify({
'images': [
{
'title': 'My Cool Image',
'description': 'This is a really cool picture.',
'file_name': 'abc.jpg',
'file_size': 11000024,
'thumbnail_file_name': 'thumbnail.jpg',
'preview_file_name': 'preview.jpg',
'hires_file_name': 'hires.jpg',
'public_thumbnail_uri': 'https://somewhere.com/public_thumbnail_uri.jpg',
'public_preview_uri': 'https://somewhere.com/public_preview_uri.jpg',
'private_hires_uri': 'https://somewhere.com/private_hires_uri.jpg',
'pix_w': 1600,
'pix_h': 2400
}
],
'library': {
'name': 'inventory',
'session_id': '1234567890',
'account_key': '',
'site_id': 2
}
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'sample_method',
'hostname': 'v2.api.finerworks.com',
'path': 'sample_endpoint',
'headers': {
'Content-Type': 'application/json',
'web_api_key': 'my-web-api-key-goes-here',
'app_key': 'my-app-key-goes-here'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"images": [
{
"title": "My Cool Image",
"description": "This is a really cool picture.",
"file_name": "abc.jpg",
"file_size": 11000024,
"thumbnail_file_name": "thumbnail.jpg",
"preview_file_name": "preview.jpg",
"hires_file_name": "hires.jpg",
"public_thumbnail_uri": "https://somewhere.com/public_thumbnail_uri.jpg",
"public_preview_uri": "https://somewhere.com/public_preview_uri.jpg",
"private_hires_uri": "https://somewhere.com/private_hires_uri.jpg",
"pix_w": 1600,
"pix_h": 2400
}
],
"library": {
"name": "inventory",
"session_id": "1234567890",
"account_key": "",
"site_id": 2
}
});
req.write(postData);
req.end();
require "uri"
require "net/http"
url = URI("https://test-api.finerworks.comsample_endpoint")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::sample_method.new(url)
request["Content-Type"] = "application/json"
request["web_api_key"] = "my-web-api-key-goes-here"
request["app_key"] = "my-app-key-goes-here"
request.body = "{
'images': [
{
'title': 'My Cool Image',
'description': 'This is a really cool picture.',
'file_name': 'abc.jpg',
'file_size': 11000024,
'thumbnail_file_name': 'thumbnail.jpg',
'preview_file_name': 'preview.jpg',
'hires_file_name': 'hires.jpg',
'public_thumbnail_uri': 'https://somewhere.com/public_thumbnail_uri.jpg',
'public_preview_uri': 'https://somewhere.com/public_preview_uri.jpg',
'private_hires_uri': 'https://somewhere.com/private_hires_uri.jpg',
'pix_w': 1600,
'pix_h': 2400
}
],
'library': {
'name': 'inventory',
'session_id': '1234567890',
'account_key': '',
'site_id': 2
}
}"
response = https.request(request)
puts response.read_body
| Name | Description | Type | Additional information |
|---|---|---|---|
| status |
Response status details |
response_status |
None. |
| images |
Returned image value. Returns an id if successful. |
array (image_details) |
None. |
Example JSON Response
application/json, text/json
{
"status": {
"success": true,
"status_code": 201,
"message": "",
"debug": null,
"reference_id": "5934fe3fe07449a8b02470b8e74bedf9",
"domain": null
},
"images": [
{
"id": 0,
"guid": "467d38d9-28a0-49b4-a47a-c44d7fd4b451",
"title": "My Image",
"description": "Some interesting things about this image...",
"file_name": "myimage.jpg",
"file_size": 100000,
"thumbnail_file_name": null,
"preview_file_name": null,
"hires_file_name": null,
"public_thumbnail_uri": "https://finerworks.com/myimages/myimage_thumb.jpg",
"public_preview_uri": "https://finerworks.com/myimages/myimage_small.jpg",
"personal_gallery_title": null,
"members_gallery_category": null,
"private_hires_uri": "https://finerworks.com/myimages/myimage.jpg",
"pix_w": 2000,
"pix_h": 3000,
"date_added": "2025-10-27T14:14:39.5623224-05:00",
"date_expires": null,
"active": true,
"products": [
{
"monetary_format": "USD",
"quantity": 1,
"quantity_in_stock": 0,
"sku": "AP1556P79511",
"product_code": "5M41M9S8X10F131S13X15J2S9X11G1",
"price_details": null,
"per_item_price": 113.0,
"total_price": 113.0,
"asking_price": 200.0,
"name": "Framed Giclee - Fine Art Paper Prints",
"description_short": "Giclee - Fine Art Paper Prints",
"description_long": "<h4>Framed Giclee - Fine Art Paper Prints</h4><ul>8 x 10\" Archival Canvas Paper<ul><li>1/2\" Extra Border Added</li></ul></li><li>Frame: Rustic Britanny<ul><li>Vermill Red 1-1/2\" (354303)<ul><li>13 x 15\"</li></ul></li></ul></li><li>Single Mat: Off White (A4902)<ul><li>13 x 15\" (window: 9 x 11)</li></ul></li><li>Glazing (Acrylic Glass): Premium Clear </li></ul>",
"labels": [
{
"key": "sku",
"value": "AP1556P79511",
"priority": 5
},
{
"key": "type",
"value": "Framed Giclee - Fine Art Paper Prints",
"priority": 0
},
{
"key": "media",
"value": "8 x 10\" Archival Canvas Paper",
"priority": 1
},
{
"key": "style",
"value": "1/2\" Extra Border Added",
"priority": 1
},
{
"key": "collection",
"value": "Rustic Britanny",
"priority": 1
},
{
"key": "frame",
"value": "13 x 15 Vermill Red 1-1/2\"",
"priority": 1
},
{
"key": "base mat",
"value": "Off White",
"priority": 1
},
{
"key": "glazing",
"value": "Premium Clear",
"priority": 1
}
],
"image_url_1": "https://somewhere.com/image.png",
"image_url_2": null,
"image_url_3": null,
"image_url_4": null,
"image_url_5": null,
"image_guid": "467d38d9-28a0-49b4-a47a-c44d7fd4b451",
"product_size": null,
"third_party_integrations": null,
"framing_options": null,
"product_guid": "00000000-0000-0000-0000-000000000000",
"debug": null
}
]
}
]
}