PREVIEW Api Suite 3.4.0 (Coming soon)

API change history

This API Suite contains a complete list of Panviva's Version 3.4.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.

Creates an artefact category

Creates a category for classifying artefacts

Try it

Request

Request URL

Request headers

  • (optional)
    string
    Media type of the body sent to the API.

Request body

JSON object containing the category name

{
  "name": "string"
}
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  }
}

Responses

201 Created

Success

Representations

{
  "categoryId": 1,
  "categoryName": "Marvel Cinematic Universe"
}
{
  "type": "object",
  "properties": {
    "categoryId": {
      "type": "integer"
    },
    "categoryName": {
      "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 POST "https://api.panviva.com/v3/preview-upcoming/resources/artefactcategory"
-H "Content-Type: application/json"

--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);

            // Request headers

            var uri = "https://api.panviva.com/v3/preview-upcoming/resources/artefactcategory?" + queryString;

            HttpResponseMessage response;

            // Request body
            byte[] byteData = Encoding.UTF8.GetBytes("{body}");

            using (var content = new ByteArrayContent(byteData))
            {
               content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >");
               response = await client.PostAsync(uri, content);
            }

        }
    }
}	
// // 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-upcoming/resources/artefactcategory");


            URI uri = builder.build();
            HttpPost request = new HttpPost(uri);
            request.setHeader("Content-Type", "application/json");


            // 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-upcoming/resources/artefactcategory?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","application/json");
            },
            type: "POST",
            // 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-upcoming/resources/artefactcategory";
    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:@"POST"];
    // Request headers
    [_request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    // 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-upcoming/resources/artefactcategory');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'Content-Type' => 'application/json',
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

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

// 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 = {
    # Request headers
    'Content-Type': 'application/json',
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('api.panviva.com')
    conn.request("POST", "/v3/preview-upcoming/resources/artefactcategory?%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 = {
    # Request headers
    'Content-Type': 'application/json',
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('api.panviva.com')
    conn.request("POST", "/v3/preview-upcoming/resources/artefactcategory?%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-upcoming/resources/artefactcategory')


request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['Content-Type'] = 'application/json'
# 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