PREVIEW Api Suite 3.6.0 (Current)

API change history

This API Suite contains a complete list of Panviva's Version 3.6.0 API offerings, backed by a static (mock) data-set.

Content APIs perform resource related operations within Panviva products, e.g. document, folder, file, container, image.

Live APIs enable real-time communications with online users on our client application.

Artefact APIs interact with curated Panviva content, created by the Digital Orchestrator.

Artefact

Return an artefact using the ID provided

Try it

Request

Request URL

Request parameters

  • string

    Format - uuid. The id (ID) of an artefact

Request body

Responses

200 OK

The operation is successful and returns with the requested resource. An example of a successful response can be seen in the Sample payload.

Representations

{
  "links": [
    {
      "href": "https://dev.panviva.com/v3/marvel/resources/document/343?version=229",
      "rel": "document",
      "type": "GET"
    }
  ],
  "title": "About Marvel Cinematic Universe",
  "content": [
    {
      "mediaType": "text/plain",
      "text": "The Marvel Cinematic Universe (MCU) is an American media franchise and shared universe that is centered on a series of superhero films.",
      "href": null,
      "resourceLocation": null
    },
    {
      "mediaType": "image/jpeg",
      "text": null,
      "href": "https://terrigen-cdn-dev.marvel.com/content/prod/1x/mi-promo-featured-half-dsk-1140x680.jpg",
      "resourceLocation": "external"
    },
    {
      "mediaType": "text/plain",
      "text": "The franchise has been commercially successful and has generally received a positive critical response",
      "href": null,
      "resourceLocation": null
    }
  ],
  "simpleContent": "The Marvel Cinematic Universe (MCU) is an American media franchise and shared universe that is centered on a series of superhero films.\nThe franchise has been commercially successful and has generally received a positive critical response",
  "variations": [
    {
      "content": [
        {
          "mediaType": "text/plain",
          "text": "The Marvel Cinematic Universe is a shared universe that is centered on a series of superhero films.",
          "href": null,
          "resourceLocation": null
        }
      ],
      "simpleContent": "The Marvel Cinematic Universe is a shared universe that is centered on a series of superhero films.",
      "channels": [
        {
          "id": 0,
          "name": "Amazon Alexa"
        }
      ],
      "id": 2,
      "dateCreated": "2018-09-10T04:12:52.83+00:00",
      "dateModified": "2018-09-10T04:12:52.83+00:00"
    }
  ],
  "category": {
    "name": "Marvel Cinematic Universe",
    "id": 1,
    "dateCreated": "2018-09-05T04:12:52.83+00:00",
    "dateModified": "2018-09-05T04:12:52.83+00:00"
  },
  "primaryQuery": "What is the Marvel Cinematic Universe?",
  "queryVariations": [
    {
      "id": 12,
      "query": "What fictional universe does Captain America belong to?"
    }
  ],
  "panvivaDocumentId": 235,
  "panvivaDocumentVersion": 5,
  "metaData": {
    "Superheroes": {
      "values": [
        "Captain America",
        "Captain Marvel"
      ],
      "dataType": "string"
    },
    "Villains": {
      "values": [
        "Thanos"
      ],
      "dataType": "string"
    }
  },
  "id": "ae18c1ae-dd63-445b-b69a-46d89f8c315c",
  "dateCreated": "2018-09-09T04:12:52.83+00:00",
  "dateModified": "2018-09-10T04:12:52.83+00:00"
}
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string"
          },
          "rel": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      }
    },
    "title": {
      "type": "string"
    },
    "content": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mediaType": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "href": {
            "type": "string"
          },
          "resourceLocation": {
            "type": "string"
          }
        }
      }
    },
    "simpleContent": {
      "type": "string"
    },
    "variations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "content": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mediaType": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "href": {
                  "type": "string"
                },
                "resourceLocation": {
                  "type": "string"
                }
              }
            }
          },
          "simpleContent": {
            "type": "string"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                }
              }
            }
          },
          "id": {
            "type": "integer"
          },
          "dateCreated": {
            "format": "date-time",
            "type": "string"
          },
          "dateModified": {
            "format": "date-time",
            "type": "string"
          }
        }
      }
    },
    "category": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "dateCreated": {
          "format": "date-time",
          "type": "string"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "primaryQuery": {
      "type": "string"
    },
    "queryVariations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "query": {
            "type": "string"
          }
        }
      }
    },
    "panvivaDocumentId": {
      "type": "integer"
    },
    "panvivaDocumentVersion": {
      "type": "integer"
    },
    "metaData": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dataType": {
            "type": "string"
          }
        }
      }
    },
    "id": {
      "format": "uuid",
      "type": "string"
    },
    "dateCreated": {
      "format": "date-time",
      "type": "string"
    },
    "dateModified": {
      "format": "date-time",
      "type": "string"
    }
  }
}

400 Bad Request

Bad Request - The request could not be understood by the server due to malformed syntax. The client should not repeat the request without modifications.

Representations

{
  "errorCode": "400",
  "message": "Bad Request"
}

403 Forbidden

Out of call volume quota.

Representations

{
  "errorCode": "403",
  "message": "Out of call volume quota"
}

404 Not Found

Document not found - The server has not found anything matching the request URI.

Representations

{
  "errorCode": "404",
  "message": "Not Found"
}

405 Method Not Allowed

Method Not Allowed - The method specified in the request is not allowed for the resource identified by the request URI.

Representations

{
  "errorCode": "405",
  "message": "Method Not Allowed"
}

406 Not Acceptable

Not Acceptable - The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. If accept headers is specified, application/json must be the only media type.

Representations

{
  "errorCode": "406",
  "message": "Not Acceptable"
}

415 Unsupported Media Type

Unsupported Media Type - The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method. The only supported media type is application/json.

Representations

{
  "errorCode": "415",
  "message": "Unsupported Media Type"
}

422 Unprocessable Entity

Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors.

Representations

{
  "errorCode": "422",
  "message": "Unprocessable Entity"
}

429 Too many requests

Too many requests - The number of requests has reached the plan’s rate limit.

Representations

{
  "errorCode": "429",
  "message": "Too Many Requests"
}

503 Service Unavailable

Service Unavailable - Panviva servers are under maintenance.

Representations

{
  "errorCode": "503",
  "message": "Service Unavailable"
}

Code samples

@ECHO OFF

curl -v -X GET "https://api.panviva.com/v3/preview/resources/artefact/{id}"

--data-ascii "{body}" 
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
        
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);


            var uri = "https://api.panviva.com/v3/preview/resources/artefact/{id}?" + queryString;

            var response = await client.GetAsync(uri);
        }
    }
}	
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample 
{
    public static void main(String[] args) 
    {
        HttpClient httpclient = HttpClients.createDefault();

        try
        {
            URIBuilder builder = new URIBuilder("https://api.panviva.com/v3/preview/resources/artefact/{id}");


            URI uri = builder.build();
            HttpGet request = new HttpGet(uri);


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };
      
        $.ajax({
            url: "https://api.panviva.com/v3/preview/resources/artefact/{id}?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
            },
            type: "GET",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    NSString* path = @"https://api.panviva.com/v3/preview/resources/artefact/{id}";
    NSArray* array = @[
                         // Request parameters
                         @"entities=true",
                      ];
    
    NSString* string = [array componentsJoinedByString:@"&"];
    path = [path stringByAppendingFormat:@"?%@", string];

    NSLog(@"%@", path);

    NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
    [_request setHTTPMethod:@"GET"];
    // Request headers
    // Request body
    [_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];

    if (nil != error)
    {
        NSLog(@"Error: %@", error);
    }
    else
    {
        NSError* error = nil;
        NSMutableDictionary* json = nil;
        NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", dataString);
        
        if (nil != _connectionData)
        {
            json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
        }
        
        if (error || !json)
        {
            NSLog(@"Could not parse loaded json with error:%@", error);
        }
        
        NSLog(@"%@", json);
        _connectionData = nil;
    }
    
    [pool drain];

    return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

$request = new Http_Request2('https://api.panviva.com/v3/preview/resources/artefact/{id}');
$url = $request->getUrl();

$headers = array(
    // Request headers
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_GET);

// Request body
$request->setBody("{body}");

try
{
    $response = $request->send();
    echo $response->getBody();
}
catch (HttpException $ex)
{
    echo $ex;
}

?>
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('api.panviva.com')
    conn.request("GET", "/v3/preview/resources/artefact/{id}?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('api.panviva.com')
    conn.request("GET", "/v3/preview/resources/artefact/{id}?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
require 'net/http'

uri = URI('https://api.panviva.com/v3/preview/resources/artefact/{id}')


request = Net::HTTP::Get.new(uri.request_uri)
# Request body
request.body = "{body}"

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body