PingAuthorize API Reference

Create Deployment Package

POST {{apiPath}}/deployment-packages

The POST /deployment-packages operation creates a new deployment package instance.

Request Model

For property descriptions, refer to the Authorization deployment package data model.

Property Type Required?

name

String

Required

snapshotId

String

Required

decisionNodeId

String

Required

Headers

Content-Type      application/json

x-user-id      {{userId}}

Body

raw ( application/json )

{
    "name": "new deployment package",
    "snapshotId": {{snapshotId}},
    "decisionNodeId": {{decisionNodeId}}
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff '{{apiPath}}/deployment-packages' \
--header 'x-user-id: {{userId}}' \
--header 'Content-Type: application/json' \
--data '{
    "name": "new deployment package",
    "snapshotId": {{snapshotId}},
    "decisionNodeId": {{decisionNodeId}}
}'
var options = new RestClientOptions("{{apiPath}}/deployment-packages")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Post);
request.AddHeader("x-user-id", "{{userId}}");
request.AddHeader("Content-Type", "application/json");
var body = @"{" + "\n" +
@"    ""name"": ""new deployment package""," + "\n" +
@"    ""snapshotId"": {{snapshotId}}," + "\n" +
@"    ""decisionNodeId"": {{decisionNodeId}}" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/deployment-packages"
  method := "POST"

  payload := strings.NewReader(`{
    "name": "new deployment package",
    "snapshotId": {{snapshotId}},
    "decisionNodeId": {{decisionNodeId}}
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("x-user-id", "{{userId}}")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
POST /deployment-packages HTTP/1.1
Host: {{apiPath}}
x-user-id: {{userId}}
Content-Type: application/json

{
    "name": "new deployment package",
    "snapshotId": {{snapshotId}},
    "decisionNodeId": {{decisionNodeId}}
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"new deployment package\",\n    \"snapshotId\": {{snapshotId}},\n    \"decisionNodeId\": {{decisionNodeId}}\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/deployment-packages")
  .method("POST", body)
  .addHeader("x-user-id", "{{userId}}")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/deployment-packages",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "x-user-id": "{{userId}}",
    "Content-Type": "application/json"
  },
  "data": "{\n    \"name\": \"new deployment package\",\n    \"snapshotId\": {{snapshotId}},\n    \"decisionNodeId\": {{decisionNodeId}}\n}",
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{apiPath}}/deployment-packages',
  'headers': {
    'x-user-id': '{{userId}}',
    'Content-Type': 'application/json'
  },
  body: '{\n    "name": "new deployment package",\n    "snapshotId": {{snapshotId}},\n    "decisionNodeId": {{decisionNodeId}}\n}'

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "{{apiPath}}/deployment-packages"

payload = "{\n    \"name\": \"new deployment package\",\n    \"snapshotId\": {{snapshotId}},\n    \"decisionNodeId\": {{decisionNodeId}}\n}"
headers = {
  'x-user-id': '{{userId}}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/deployment-packages');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'x-user-id' => '{{userId}}',
  'Content-Type' => 'application/json'
));
$request->setBody('{\n    "name": "new deployment package",\n    "snapshotId": {{snapshotId}},\n    "decisionNodeId": {{decisionNodeId}}\n}');
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();
}
require "uri"
require "json"
require "net/http"

url = URI("{{apiPath}}/deployment-packages")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["x-user-id"] = "{{userId}}"
request["Content-Type"] = "application/json"
request.body = "{\n    \"name\": \"new deployment package\",\n    \"snapshotId\": {{snapshotId}},\n    \"decisionNodeId\": {{decisionNodeId}}\n}"

response = http.request(request)
puts response.read_body
let parameters = "{\n    \"name\": \"new deployment package\",\n    \"snapshotId\": {{snapshotId}},\n    \"decisionNodeId\": {{decisionNodeId}}\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/deployment-packages")!,timeoutInterval: Double.infinity)
request.addValue("{{userId}}", forHTTPHeaderField: "x-user-id")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

201 Created

{
    "id": "2a8d0f02-d449-4190-853f-98c76500a5ef",
    "name": "deployment package",
    "dateCreated": "2025-01-30T22:01:10.457241Z",
    "createdBy": "admin",
    "snapshotId": "2faaa442-b7c0-4bd4-94d2-04ecd15d5aca",
    "snapshotMessage": "first commit",
    "snapshotDateCommitted": "2025-01-30T19:37:05.558192Z",
    "decisionNodeId": "e51688ff-1dc9-4b6c-bb36-8af64d02e9d1",
    "decisionNodeName": "Global Decision Point"
}