API Documentation

How to Authenticate

Some products and releases may require authentication to access or modify.

We have introduced a new authentication workflow called the UAA API Token Workflow. This relies on the use of refresh and access tokens. Please see below for more information. The legacy tokens will be deprecated in the coming months.

Currently, your Edit Profile page contains the legacy API token as well as the new UAA API token.

UAA API Token Workflow

Definitions:

  • Access Token: This is a short-lived token that expires in an hour
  • UAA API Token (Refresh token): This token does not expire. However, we recommend manually rotating this token every 100 days. You can do this rotation on your Edit Profile page.

Below are the steps you’d follow to authenticate with the new workflow:

  1. Retrieve a UAA API Token (refresh token) from your Pivnet profile;
  2. Use your UAA API Token to retrieve access tokens using the below POST method;
  3. Use your access token to authenticate against the Pivnet API using the GET method.

Note: Pivnet Resource and Pivnet CLI both work with refresh tokens directly, not access tokens. Therefore, when using these clients, please take care to only provide refresh tokens.

Request Headers

HEADER          VALUE
------          -----
Accept:         application/json
Content-Type:   application/json
Authorization:  Bearer <Access Token>

Example cURL request

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer <Access Token>" -X GET https://network.pivotal.io/api/v2/authentication

Legacy API Token Workflow

Below are the steps you’d follow to authenticate with the new workflow:

  1. Retrieve a Legacy Token from your Pivnet profile;
  2. Use your legacy token to authenticate against the Pivnet API using the GET method.

Request Headers, Legacy Tokens

HEADER          VALUE
------          -----
Accept:         application/json
Content-Type:   application/json
Authorization:  Token <Legacy API Token>

Example cURL request

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token <Legacy API Token>" -X GET https://network.pivotal.io/api/v2/authentication

POST /api/v2/authentication/access_tokens

Note: This method works only for UAA refresh tokens.

  • Exchanges a UAA refresh token for a temporary UAA access token.
  • Required fields: refresh_token
    • returns 200 if successful
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if UAA rejects the refresh token
    • returns 500 if UAA is unavailable
  • Access tokens expire in 1 hour

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/authentication/access_tokens -d '{"refresh_token":"abc123"}'

Request


POST /api/v2/authentication/access_tokens HTTP/1.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Length: 26
Content-Type: application/x-www-form-urlencoded
Host: www.example.com


{"refresh_token":"abc123"}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 25
Content-Type: application/json; charset=utf-8
ETag: W/"dcd9e9446ed27172c3eff227246daeef"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "access_token": "xyz890"
}

GET /api/v2/authentication

Tests that your authorization token is valid (UAA API Token Workflow)

  • returns 200 if successful
  • returns 401 if user could not be authenticated

Note: This example explains the UAA API Token Workflow. If you’re looking to use the legacy token workflow, please replace “Bearer” with “Token” in the Authorization parameter of the Request Header.

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/authentication -H "Authorization: Bearer access_token" 

Request


GET /api/v2/authentication HTTP/1.1
Accept: application/json
Authorization: Bearer access-token
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: no-cache
Content-Length: 0
Content-Type: application/json
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/releases/:release_id/product_files/:id/download

  • Creates a download link for a release's product file. The user can utilize this link to download the file.
    • redirects to a unique file download URL
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to download files from this release
    • returns 404 if the product or release cannot be found
    • returns 451 if user has not accepted the current EULA for this release
  • Authentication required
  • POST supported for backwards compatibility
  • Users behind firewalls can whitelist d13k9s5899twdr.cloudfront.net to complete downloads

Example wget request

wget -O "<filename>" --header="Authorization: Token <API Token>" https://network.pivotal.io/api/v2/products/<product-id>/releases/<release-id>/product_files/<product-file-id>/download

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-2/releases/1/product_files/1/download -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-2/releases/1/product_files/1/download HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-1"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 302
Cache-Control: no-cache
Content-Length: 128
Content-Type: text/html; charset=utf-8
Location: http://localhost/cloud_front_stub/product-2/product-file-1.txt
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


<html><body>You are being <a href="http://localhost/cloud_front_stub/product-2/product-file-1.txt">redirected</a>.</body></html>

GET /api/v2/eulas

  • Returns list of available End User License Agreements (EULAs).
    • returns 200 if successful
  • No authentication required.

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/eulas -H "Authorization: Bearer access_token" 

Request


GET /api/v2/eulas HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=300, public
Content-Length: 277
Content-Type: application/json; charset=utf-8
Date: Thu, 05 Dec 2019 14:34:31 GMT
ETag: W/"7be3ce3eb0a964e013af1b0505799004"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "eulas": [
    {
      "id": 2,
      "slug": "pivotal_software_eula",
      "content": "This is the context of the legal document.",
      "name": "Pivotal Software EULA",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/eulas/2"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/eulas"
    }
  }
}

GET /api/v2/eulas/:slug

  • Returns the latest version of the requested End User License Agreement (EULA).
    • returns 200 if the EULA is found
    • returns 404 if the EULA cannot be found
  • No authentication required.

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/eulas/pivotal_software_eula -H "Authorization: Bearer access_token" 

Request


GET /api/v2/eulas/pivotal_software_eula HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=300, public
Content-Length: 196
Content-Type: application/json; charset=utf-8
Date: Thu, 05 Dec 2019 14:34:31 GMT
ETag: W/"d271406ee3704212bc18928db7fa29e2"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 3,
  "slug": "pivotal_software_eula",
  "content": "This is the context of the legal document.",
  "name": "Pivotal Software EULA",
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/eulas/3"
    }
  }
}

GET /api/v2/eulas/:id

  • Get a single End User License Agreement (EULA).
    • returns 200 if the EULA is found
    • returns 404 if the EULA cannot not be found
  • No authentication required.

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/eulas/4 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/eulas/4 HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=300, public
Content-Length: 196
Content-Type: application/json; charset=utf-8
Date: Thu, 05 Dec 2019 14:34:31 GMT
ETag: W/"d1d1bf3fa04c2e1c1afad3befc7f1955"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 4,
  "slug": "pivotal_software_eula",
  "content": "This is the context of the legal document.",
  "name": "Pivotal Software EULA",
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/eulas/4"
    }
  }
}

GET /api/v2/users/countries_states

  • List of non-excluded countries and their states

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/users/countries_states -H "Authorization: Bearer access_token" 

Request


GET /api/v2/users/countries_states HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 903
Content-Type: application/json; charset=utf-8
ETag: W/"0390f8107961fd6158c8eb49f96589a7"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


[
  {
    "country": "Togo",
    "country_code": "TG",
    "states": [
      {
        "state": "Région du Centre",
        "state_code": "C"
      },
      {
        "state": "Région de la Kara",
        "state_code": "K"
      },
      {
        "state": "Région Maritime",
        "state_code": "M"
      },
      {
        "state": "Région des Plateaux",
        "state_code": "P"
      },
      {
        "state": "Région des Savannes",
        "state_code": "S"
      }
    ]
  },
  {
    "country": "Nauru",
    "country_code": "NR",
    "states": [
      {
        "state": "Aiwo",
        "state_code": "01"
      },
      {
        "state": "Anabar",
        "state_code": "02"
      },
      {
        "state": "Anetan",
        "state_code": "03"
      },
      {
        "state": "Anibare",
        "state_code": "04"
      },
      {
        "state": "Baiti",
        "state_code": "05"
      },
      {
        "state": "Boe",
        "state_code": "06"
      },
      {
        "state": "Buada",
        "state_code": "07"
      },
      {
        "state": "Denigomodu",
        "state_code": "08"
      },
      {
        "state": "Ewa",
        "state_code": "09"
      },
      {
        "state": "Ijuw",
        "state_code": "10"
      },
      {
        "state": "Meneng",
        "state_code": "11"
      },
      {
        "state": "Nibok",
        "state_code": "12"
      },
      {
        "state": "Uaboe",
        "state_code": "13"
      },
      {
        "state": "Yaren",
        "state_code": "14"
      }
    ]
  },
  {
    "country": "Macao",
    "country_code": "MO",
    "states": [

    ]
  }
]

GET /api/v2/user_groups

  • Lists all user groups
    • returns 401 if you do not have a valid API token
    • returns 403 if you do not have access to user groups
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/user_groups -H "Authorization: Bearer access_token" 

Request


GET /api/v2/user_groups HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-2"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 262
Content-Type: application/json; charset=utf-8
ETag: W/"2cad38fd4ea1bb5d7d8166df1dd25b6a"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "user_groups": [
    {
      "id": 2,
      "name": "Fancy Users",
      "description": "Limit access to fancy people only"
    },
    {
      "id": 1,
      "name": "Product X Users",
      "description": "users for the next version of Product X"
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/user_groups"
    }
  }
}

GET /api/v2/user_groups/:id

  • Returns a specific user group
    • returns 200 if the user group is found
    • returns 401 if you do not have a valid API token
    • returns 404 if the user group cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/user_groups/3 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/user_groups/3 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-5"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 421
Content-Type: application/json; charset=utf-8
ETag: W/"fdd96fb8022743aa086476a4be0acc82"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 3,
  "name": "VIP Users",
  "description": "Important users with early access to next version of Product X",
  "members": [
    "Joe Schmoe <alpha@example.net>",
    "Joe Schmoe <bravo@example.net>",
    "Joe Schmoe <charlie@example.net>",
    "Joe Schmoe <user@example.net>"
  ],
  "admins": [
    "Joe Schmoe <user@example.net>"
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/user_groups/3"
    }
  }
}

POST /api/v2/user_groups

  • Create a new user group with yourself as an admin member
    • returns 201 if the user group is created
    • the Location header will point to the newly created user group
    • returns 400 if there is no user_group key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 403 if user does not have access to create user groups
    • returns 422 if the user group cannot be created due to invalid request data
  • Authentication required
  • NOTE: Users that do not already have an account on Pivotal Network will not be added to the user group

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/user_groups -H "Authorization: Bearer access_token" -d '{"user_group":{"name":"Brand New User Group","description":"These users have early access to Products X and Y","members":["alpha@example.net","bravo@example.net"]}}'

Request


POST /api/v2/user_groups HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-9"
Content-Length: 164
Content-Type: application/json
Host: network.pivotal.io


{
  "user_group": {
    "name": "Brand New User Group",
    "description": "These users have early access to Products X and Y",
    "members": [
      "alpha@example.net",
      "bravo@example.net"
    ]
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 374
Content-Type: application/json; charset=utf-8
ETag: W/"37ba957afe4bbb16a6cbaee3040b4957"
Location: https://network.pivotal.io/api/v2/user_groups/4
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 4,
  "name": "Brand New User Group",
  "description": "These users have early access to Products X and Y",
  "members": [
    "Joe Schmoe <alpha@example.net>",
    "Joe Schmoe <bravo@example.net>",
    "Joe Schmoe <user@example.net>"
  ],
  "admins": [
    "Joe Schmoe <user@example.net>"
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/user_groups/4"
    }
  }
}

PATCH /api/v2/user_groups/:user_group_id

  • Update an existing user group that you manage. Only the keys you provide will be modified.
    • returns 200 if the user group is updated
    • returns 400 if there is no user_group key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 403 if you do not have access to update this user group
    • returns 404 if the user group cannot be found
    • returns 422 if the user group cannot be updated due to invalid request data
  • Authentication required
  • The members key cannot be updated by this method. Please use /api/v2/user_groups/:user_group_id/add_member or /api/v2/user_groups/:user_group_id/remove_member.

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/user_groups/5 -H "Authorization: Bearer access_token" -d '{"user_group":{"name":"name","description":"description"}}'

Request


PATCH /api/v2/user_groups/5 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-12"
Content-Length: 58
Content-Type: application/json
Host: network.pivotal.io


{
  "user_group": {
    "name": "name",
    "description": "description"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 249
Content-Type: application/json; charset=utf-8
ETag: W/"d36a554df21582a8336daee77c42eb2a"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "user_group": {
    "id": 5,
    "name": "name",
    "description": "description",
    "members": [
      "Joe Schmoe <user@example.net>"
    ],
    "admins": [
      "Joe Schmoe <user@example.net>"
    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/user_groups/5"
      }
    }
  }
}

PATCH /api/v2/user_groups/:user_group_id/add_member

  • Add a new member to an existing user group that you manage
    • Required fields: email
    • Optional fields: admin. Set to true if you would like this new member to also manage the user group.
    • returns 200 if the member has been added to the user group (includes when the user was already a member)
    • returns 400 if there is no member or email key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 403 if you do not have access to modify this user group
    • returns 404 if the user group cannot be found or if there is no Pivotal Network account for the requested email address
  • Authentication required
  • NOTE: Users that do not already have an account on Pivotal Network will not be added to the user group

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/user_groups/6/add_member -H "Authorization: Bearer access_token" -d '{"member":{"email":"member_user@example.com","admin":true}}'

Request


PATCH /api/v2/user_groups/6/add_member HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-13"
Content-Length: 59
Content-Type: application/json
Host: network.pivotal.io


{
  "member": {
    "email": "member_user@example.com",
    "admin": true
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 365
Content-Type: application/json; charset=utf-8
ETag: W/"5794fb904594c4f1542d6ec1bb768f11"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "user_group": {
    "id": 6,
    "name": "Group Name #2",
    "description": "Group Description #2",
    "members": [
      "Joe Schmoe <member_user@example.com>",
      "Joe Schmoe <user@example.net>"
    ],
    "admins": [
      "Joe Schmoe <member_user@example.com>",
      "Joe Schmoe <user@example.net>"
    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/user_groups/6"
      }
    }
  }
}

PATCH /api/v2/user_groups/:user_group_id/remove_member

  • Remove a member from an existing user group that you manage
    • returns 200 if the member has been removed from the user group
    • returns 400 if there is no member or email key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 403 if you do not have access to modify this user group
    • returns 404 if the user group cannot be found or if there is no Pivotal Network account for the requested email address
  • Authentication required

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/user_groups/7/remove_member -H "Authorization: Bearer access_token" -d '{"member":{"email":"update_user@example.com"}}'

Request


PATCH /api/v2/user_groups/7/remove_member HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-15"
Content-Length: 46
Content-Type: application/json
Host: network.pivotal.io


{
  "member": {
    "email": "update_user@example.com"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 267
Content-Type: application/json; charset=utf-8
ETag: W/"85cd3f13c53424f1e75cf1f45bf8f3d9"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "user_group": {
    "id": 7,
    "name": "Group Name #3",
    "description": "Group Description #3",
    "members": [
      "Joe Schmoe <user@example.net>"
    ],
    "admins": [
      "Joe Schmoe <user@example.net>"
    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/user_groups/7"
      }
    }
  }
}

DELETE /api/v2/user_groups/:user_group_id

  • Delete a user group that you manage
    • returns 204 if the user group has been deleted
    • returns 401 if you do not have a valid API token
    • returns 403 if you do not have access to delete this user group
    • returns 404 if the user group cannot be found
  • Authentication required

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/user_groups/8 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/user_groups/8 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-17"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products

  • Returns a list of products
    • returns 200 if successful
    • returns 401 if user could not be authenticated
  • Authentication optional, but required to view products not publicly available

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 1158
Content-Type: application/json; charset=utf-8
ETag: W/"1c92bbebaa00e9173e93a16bfd0f042e"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "products": [
    {
      "id": 5,
      "slug": "product-5",
      "old_slugs": [

      ],
      "name": "Product 5",
      "logo_url": "http://localhost/cloud_front_stub/assets/images/p-logo.png",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-5"
        },
        "releases": {
          "href": "https://network.pivotal.io/api/v2/products/product-5/releases"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-5/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-5/file_groups"
        }
      },
      "platform_compatibility": [

      ],
      "installs_on_pks": false
    },
    {
      "id": 4,
      "slug": "product-4",
      "old_slugs": [

      ],
      "name": "Product 4",
      "logo_url": "http://localhost/cloud_front_stub/assets/images/p-logo.png",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-4"
        },
        "releases": {
          "href": "https://network.pivotal.io/api/v2/products/product-4/releases"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-4/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-4/file_groups"
        }
      },
      "platform_compatibility": [

      ],
      "installs_on_pks": false
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products"
    }
  }
}

GET /api/v2/products/:product_slug

  • Returns a specific product
    • returns 200 if product is found
    • returns 401 if user could not be authenticated
    • returns 404 if product cannot be found or user is not permitted to view
    • returns 410 if product no longer exists but user was permitted to view
  • Authentication optional, but required to view products not publicly available

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/my-product-slug -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/my-product-slug HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 897
Content-Type: application/json; charset=utf-8
ETag: W/"8d945903b3da434a8cce9f51aa8067d2"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 6,
  "slug": "my-product-slug",
  "old_slugs": [

  ],
  "name": "Product 6",
  "logo_url": "http://localhost/cloud_front_stub/assets/images/p-logo.png",
  "category": "Data",
  "description": "Description",
  "feature_list": [
    "Features.",
    "More features.",
    "Zero bugs."
  ],
  "docs_url": "https://docs.example.com",
  "support_email": null,
  "license_url": null,
  "partner_sales_email": null,
  "lifecycle_state": "Beta",
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/my-product-slug"
    },
    "releases": {
      "href": "https://network.pivotal.io/api/v2/products/my-product-slug/releases"
    },
    "product_files": {
      "href": "https://network.pivotal.io/api/v2/products/my-product-slug/product_files"
    },
    "file_groups": {
      "href": "https://network.pivotal.io/api/v2/products/my-product-slug/file_groups"
    }
  },
  "compatibility_url": "http://docs.pivotal.io/compatibility-matrix.pdf",
  "platform_compatibility": [

  ],
  "installs_on_pks": false,
  "is_partner_product": false
}

PATCH /api/v2/products/:product_slug/release_sort_order

  • Change the release display order for the specified product
  • The string param sort_type must be provided, and must contain one of ["custom", "release date", "semver"].
  • The ids array should only be provided when sort_type is custom, and must contain exactly the release ids associated with this product.
    • returns 204 if the release sort order is updated
    • returns 400 if there is no releases key in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to update the release sort order for this product
    • returns 404 if the product cannot be found
    • returns 422 if the release sort order cannot be updated due to invalid parameters
  • Authentication required

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/pivotal-cf/release_sort_order -H "Authorization: Bearer access_token" -d '{"releases":{"ids":[5,6,7]},"sort_type":"custom"}'

Request


PATCH /api/v2/products/pivotal-cf/release_sort_order HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-18"
Content-Length: 49
Content-Type: application/json
Host: network.pivotal.io


{
  "releases": {
    "ids": [
      5,
      6,
      7
    ]
  },
  "sort_type": "custom"
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/slug_alias

  • Returns list of the slugs associated to a product
    • returns 200 if product is found
    • returns 401 if user could not be authenticated
    • returns 404 if product cannot be found or user is not permitted to view
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/my-product-slug/slug_alias -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/my-product-slug/slug_alias HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-19"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 86
Content-Type: application/json; charset=utf-8
ETag: W/"8d6501b421c4ff672c993e62984c8fea"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "slugs": [
    "my-product-slug",
    "my-product-other-slug"
  ],
  "current_slug": "my-product-slug"
}

GET /api/v2/products/:product_slug/product_files

  • Lists files associated with the specified product
    • returns 200 if the product is found
    • returns 401 if you do not have a valid API token
    • returns 403 if the user is not permissioned to view product files
    • returns 404 if the product cannot be found
  • Authentication required
  • This endpoint is only available for admins. Please use Release Product Files endpoint instead

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/your-product-slug/product_files -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/your-product-slug/product_files HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-20"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 839
Content-Type: application/json; charset=utf-8
ETag: W/"0b2ef473cf7e79915263b3ca6d881195"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_files": [
    {
      "id": 7,
      "aws_object_key": "product-9/pivnet-1.0.0a.bz2",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "PivNet (packaged)",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/7"
        }
      }
    },
    {
      "id": 6,
      "aws_object_key": "product-9/really_great_software.exe",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Really Great Software",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/6"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files"
    }
  }
}

GET /api/v2/products/:product_slug/product_files/:id

  • Show a product file for a product
    • returns 200 if the product file is found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view the product file
    • returns 404 if the product or the product file cannot be found
  • Authentication required
  • This endpoint is only available for admins. Please use Release Product Files endpoint instead

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/your-product-slug/product_files/8 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/your-product-slug/product_files/8 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-21"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 666
Content-Type: application/json; charset=utf-8
ETag: W/"73dee868392403df8dbc6677033a91d7"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_file": {
    "id": 8,
    "aws_object_key": "product-11/pcf-1.1.0.0.ova",
    "description": "OVA Release of Pivotal CF v1.1.0.0",
    "docs_url": "http://zombo.com",
    "file_transfer_status": "failed_to_transfer",
    "file_type": "Software",
    "file_version": "1.1.0.0",
    "included_files": [
      "pcf-server.exe",
      "pcf-client.exe"
    ],
    "md5": "c705c6e6339ebb3417ed1f118efbe620",
    "sha256": "c705c6e6339ebb3417ed1f118efbe620c705c6e6339ebb3417ed1f118efbe620",
    "name": "Pivotal CF",
    "ready_to_serve": false,
    "released_at": "2015-12-31",
    "size": null,
    "system_requirements": [
      "Windows Vista",
      "Microsoft Office 1995"
    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/8"
      }
    }
  }
}

POST /api/v2/products/:product_slug/product_files

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/your-product-slug/product_files -H "Authorization: Bearer access_token" -d '{"product_file":{"aws_object_key":"product-13/pcf-1.1.0.0.ova","description":"OVA Release of Pivotal CF v1.1.0.0","docs_url":"http://zombo.com","file_type":"Software","file_version":"1.1.0.0","included_files":["pcf-server.exe","pcf-client.exe"],"sha256":"cb55094ebd6cc8028bffed128372ac4f1099b5978582125fcc76de725d24a873","name":"Pivotal CF","released_at":"2015/12/31","system_requirements":["Windows Vista","Microsoft Office 1995"]}}'

Request


POST /api/v2/products/your-product-slug/product_files HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-22"
Content-Length: 433
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "aws_object_key": "product-13/pcf-1.1.0.0.ova",
    "description": "OVA Release of Pivotal CF v1.1.0.0",
    "docs_url": "http://zombo.com",
    "file_type": "Software",
    "file_version": "1.1.0.0",
    "included_files": [
      "pcf-server.exe",
      "pcf-client.exe"
    ],
    "sha256": "cb55094ebd6cc8028bffed128372ac4f1099b5978582125fcc76de725d24a873",
    "name": "Pivotal CF",
    "released_at": "2015/12/31",
    "system_requirements": [
      "Windows Vista",
      "Microsoft Office 1995"
    ]
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 629
Content-Type: application/json; charset=utf-8
ETag: W/"0c3375a7ff1ab3fbcefbf8b800de0a07"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_file": {
    "id": 9,
    "aws_object_key": "product-13/pcf-1.1.0.0.ova",
    "description": "OVA Release of Pivotal CF v1.1.0.0",
    "docs_url": "http://zombo.com",
    "file_transfer_status": "in_progress",
    "file_type": "Software",
    "file_version": "1.1.0.0",
    "included_files": [
      "pcf-server.exe",
      "pcf-client.exe"
    ],
    "md5": null,
    "sha256": "cb55094ebd6cc8028bffed128372ac4f1099b5978582125fcc76de725d24a873",
    "name": "Pivotal CF",
    "ready_to_serve": false,
    "released_at": "2015-12-31",
    "size": 1024,
    "system_requirements": [
      "Windows Vista",
      "Microsoft Office 1995"
    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/9"
      }
    }
  }
}

PATCH /api/v2/products/:product_slug/product_files/:id

  • Updates an existing product file for the specified product
    • Valid file types: Software, Documentation, Open Source License
    • returns 200 if the product file is updated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to update the product
    • returns 409 if the product file that is associated with a release in All Users availability
    • returns 404 if the product or the product file cannot be found
    • returns 422 if the product file cannot be due to invalid product file data
  • Authentication required
  • This endpoint is only available for admins. Please use Release Product Files endpoint instead

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/your-product-slug/product_files/10 -H "Authorization: Bearer access_token" -d '{"product_file":{"description":"new description","name":"Law Blog"}}'

Request


PATCH /api/v2/products/your-product-slug/product_files/10 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-23"
Content-Length: 68
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "description": "new description",
    "name": "Law Blog"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 544
Content-Type: application/json; charset=utf-8
ETag: W/"6b879c2a34aa67ff14a1c4fe399d9cb2"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_file": {
    "id": 10,
    "aws_object_key": "product-15/path/to/key",
    "description": "new description",
    "docs_url": null,
    "file_transfer_status": "complete",
    "file_type": "Software",
    "file_version": "1.0.0",
    "included_files": [

    ],
    "md5": "c705c6e6339ebb3417ed1f118efbe620",
    "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
    "name": "Law Blog",
    "ready_to_serve": true,
    "released_at": "2019-12-05",
    "size": null,
    "system_requirements": [

    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/10"
      }
    }
  }
}

DELETE /api/v2/products/:product_slug/product_files/:id

  • Deletes the specified product file
    • returns 200 if the product file is deleted
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to delete this product file
    • returns 404 if the product or the product file cannot be found
    • returns 409 if the product file is associated with a release in All Users availability
  • Authentication required
  • This endpoint is only available for admins. Please use Release Product Files endpoint instead

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/your-product-slug/product_files/11 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/your-product-slug/product_files/11 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-24"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 563
Content-Type: application/json; charset=utf-8
ETag: W/"73d7666bbcc7085fe1637feaedb4cff3"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_file": {
    "id": 11,
    "aws_object_key": "product-17/product-file-7.txt",
    "description": "product description 9",
    "docs_url": null,
    "file_transfer_status": "complete",
    "file_type": "Software",
    "file_version": "1.0.0",
    "included_files": [

    ],
    "md5": "c705c6e6339ebb3417ed1f118efbe620",
    "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
    "name": "Product File 7",
    "ready_to_serve": true,
    "released_at": "2019-12-05",
    "size": null,
    "system_requirements": [

    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/your-product-slug/product_files/11"
      }
    }
  }
}

GET /api/v2/products/:product_slug/file_groups

  • List file groups for a product
    • returns 200 if the product's file groups are found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view file groups
    • returns 404 if the product is not found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-11/file_groups -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-11/file_groups HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 604
Content-Type: application/json; charset=utf-8
ETag: W/"3ae1a5add427975219d73b463febb3aa"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "file_groups": [
    {
      "id": 1,
      "name": "File Group 1",
      "product_files": [
        {
          "id": 12,
          "aws_object_key": "product-19/product-file-8.txt",
          "file_type": "Software",
          "file_version": "1.0.0",
          "md5": "c705c6e6339ebb3417ed1f118efbe620",
          "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
          "name": "Product File 8",
          "_links": {
            "self": {
              "href": "https://network.pivotal.io/api/v2/products/product-11/product_files/12"
            }
          }
        }
      ],
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-11/file_groups/1"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-11/file_groups"
    }
  }
}

GET /api/v2/products/:product_slug/file_groups/:file_group_id

  • Show a file group for a product
    • returns 200 if the file group is found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view the file group
    • returns 404 if the product or file group is not found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-12/file_groups/2 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-12/file_groups/2 HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 885
Content-Type: application/json; charset=utf-8
ETag: W/"5e861bb713b421a93e1bd466f15dc29e"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 2,
  "name": "File Group 2",
  "product": {
    "id": 20,
    "name": "Product 20",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-12"
      },
      "releases": {
        "href": "https://network.pivotal.io/api/v2/products/product-12/releases"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-12/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-12/file_groups"
      }
    }
  },
  "product_files": [
    {
      "id": 13,
      "aws_object_key": "product-20/product-file-9.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 9",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-12/product_files/13"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-12/file_groups/2"
    }
  }
}

POST /api/v2/products/:product_slug/file_groups

  • Create a new file group for a product
    • returns 201 if a new file group is successfully created
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to create file groups
    • returns 404 if the product or a product file is not found
    • returns 422 error creating the file group
  • Authentication required
  • The product_files key cannot be updated by this method. Please use /api/v2/products/:product.slug/file_groups/:file_group_id/add_product_file /api/v2/products/:product.slug/file_groups/:file_group_id/remove_product_file

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/product-13/file_groups -H "Authorization: Bearer access_token" -d '{"file_group":{"name":"my new file group"}}'

Request


POST /api/v2/products/product-13/file_groups HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 43
Content-Type: application/json
Host: network.pivotal.io


{
  "file_group": {
    "name": "my new file group"
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 545
Content-Type: application/json; charset=utf-8
ETag: W/"244002cfc91f7ad3be777260fb8ba555"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 3,
  "name": "my new file group",
  "product": {
    "id": 21,
    "name": "Product 21",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-13"
      },
      "releases": {
        "href": "https://network.pivotal.io/api/v2/products/product-13/releases"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-13/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-13/file_groups"
      }
    }
  },
  "product_files": [

  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-13/file_groups/3"
    }
  }
}

PATCH /api/v2/products/:product_slug/file_groups/:file_group_id

  • Updates an existing file group for a product
    • returns 200 if the file group is successfully updated
    • returns 401 if the user could not be authenticated
    • returns 403 if user is not authorized to update this file group
    • returns 404 if the product or file group is not found
    • returns 409 if the file group is associated with a release in All Users availability
    • returns 422 error updating the file group
  • Authentication required
  • The product_files key cannot be updated by this method. Please use /api/v2/products/:product.slug/file_groups/:file_group_id/add_product_file /api/v2/products/:product.slug/file_groups/:file_group_id/remove_product_file

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-14/file_groups/5 -H "Authorization: Bearer access_token" -d '{"file_group":{"name":"new file group name!"}}'

Request


PATCH /api/v2/products/product-14/file_groups/5 HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 46
Content-Type: application/json
Host: network.pivotal.io


{
  "file_group": {
    "name": "new file group name!"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 895
Content-Type: application/json; charset=utf-8
ETag: W/"51a74b25ea46eac20cdc04d22d0e38b5"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 5,
  "name": "new file group name!",
  "product": {
    "id": 22,
    "name": "Product 22",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-14"
      },
      "releases": {
        "href": "https://network.pivotal.io/api/v2/products/product-14/releases"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-14/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-14/file_groups"
      }
    }
  },
  "product_files": [
    {
      "id": 15,
      "aws_object_key": "product-22/product-file-11.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 11",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-14/product_files/15"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-14/file_groups/5"
    }
  }
}

PATCH /api/v2/products/:product_slug/file_groups/:file_group_id/add_product_file

  • Adds a product file to a file group
  • Required fields: product_file
    • returns 204 if the product file is successfully added to the file group
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user is not authorized to modify this file group
    • returns 404 if the product, file group, or product file cannot be found
    • returns 409 if the file group is associated with a release in All Users availability
    • returns 422 error adding the product file
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-15/file_groups/6/add_product_file -H "Authorization: Bearer access_token" -d '{"product_file":{"id":16}}'

Request


PATCH /api/v2/products/product-15/file_groups/6/add_product_file HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 26
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "id": 16
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/file_groups/:file_group_id/remove_product_file

  • Removes a product file from the specified file group
  • Required fields: product_file
    • returns 204 if the product file is removed
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user is not authorized to modify this file group
    • returns 404 if the product, file group, or product file cannot be found
    • returns 409 if the file group is associated with a release in All Users availability
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-16/file_groups/7/remove_product_file -H "Authorization: Bearer access_token" -d '{"product_file":{"id":17}}'

Request


PATCH /api/v2/products/product-16/file_groups/7/remove_product_file HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 26
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "id": 17
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

DELETE /api/v2/products/:product_slug/file_groups/:file_group_id

  • Deletes a file group
    • returns 200 if the file group is deleted
    • returns 401 if the user could not be authenticated
    • returns 403 if user is not authorized to delete this file group
    • returns 404 if the product or file group is not found
    • returns 409 if the file group is associated with a release in All Users availability
  • Authentication required

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/product-17/file_groups/8 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/product-17/file_groups/8 HTTP/1.1
Accept: application/json
Authorization: Token token="validtoken"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 887
Content-Type: application/json; charset=utf-8
ETag: W/"152074dfa1ce76beb5363e38f3aed5b7"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 8,
  "name": "File Group 7",
  "product": {
    "id": 25,
    "name": "Product 25",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-17"
      },
      "releases": {
        "href": "https://network.pivotal.io/api/v2/products/product-17/releases"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-17/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-17/file_groups"
      }
    }
  },
  "product_files": [
    {
      "id": 18,
      "aws_object_key": "product-25/product-file-14.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 14",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-17/product_files/18"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-17/file_groups/8"
    }
  }
}

GET /api/v2/reports/:report_title/download

  • Redirects to a report of all product-file downloads
    • returns 302 if the report is found
    • returns 401 if you do not have a valid API token
    • returns 403 if the user is not permissioned to view the report
    • returns 404 if the report cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/reports/your-product-slug/download -H "Authorization: Bearer access_token" 

Request


GET /api/v2/reports/your-product-slug/download HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-25"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 302
Cache-Control: no-cache
Content-Length: 157
Content-Type: text/html; charset=utf-8
Location: http://localhost/cloud_front_stub/reports/product-downloads-report/product-26-downloads.csv
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


<html><body>You are being <a href="http://localhost/cloud_front_stub/reports/product-downloads-report/product-26-downloads.csv">redirected</a>.</body></html>

GET /api/v2/products/:product_slug/releases

  • Lists releases associated with the specified product
    • returns 200 if the releases are found
    • returns 400 if invalid argument is passed as query parameter for limit
    • returns 401 if user could not be authenticated
    • returns 404 if the product cannot be found
  • Authentication optional, but required to view releases not available to public
  • limit query value is optional (must be a positive integer)

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-18/releases -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-18/releases?limit=4 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-26"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 4669
Content-Type: application/json; charset=utf-8
ETag: W/"832eb528336ae5bac5a7f67fd0956f20"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "releases": [
    {
      "id": 25,
      "version": "1.2.1-alpha",
      "release_type": "Minor Release",
      "release_date": "2019-12-05",
      "release_notes_url": "http://example.com/release",
      "availability": "Admins Only",
      "description": "Release description",
      "eula": {
        "id": 22,
        "slug": "pivotal_software_eula",
        "name": "Pivotal Software EULA",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/eulas/22"
          }
        }
      },
      "end_of_support_date": "2015-05-10",
      "end_of_guidance_date": "2015-06-30",
      "end_of_availability_date": "2015-07-04",
      "eccn": "5D002",
      "license_exception": "ENC Unrestricted",
      "updated_at": "2019-12-05T14:34:35.784Z",
      "software_files_updated_at": "2019-12-05T14:34:35.784Z",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/25"
        },
        "eula_acceptance": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/25/eula_acceptance"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/25/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/25/file_groups"
        },
        "user_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/25/user_groups"
        }
      }
    },
    {
      "id": 24,
      "version": "2.0.1-beta1",
      "release_type": "Major Release",
      "release_date": "2019-12-05",
      "release_notes_url": "http://example.com/release",
      "availability": "Selected User Groups Only",
      "description": "Release description",
      "eula": {
        "id": 22,
        "slug": "pivotal_software_eula",
        "name": "Pivotal Software EULA",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/eulas/22"
          }
        }
      },
      "end_of_support_date": "2015-05-10",
      "end_of_guidance_date": "2015-06-30",
      "end_of_availability_date": "2015-07-04",
      "eccn": "5D002",
      "license_exception": "ENC Unrestricted",
      "updated_at": "2019-12-05T14:34:35.764Z",
      "software_files_updated_at": "2019-12-05T14:34:35.750Z",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/24"
        },
        "eula_acceptance": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/24/eula_acceptance"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/24/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/24/file_groups"
        },
        "user_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/24/user_groups"
        }
      }
    },
    {
      "id": 23,
      "version": "1.1.1",
      "release_type": "Minor Release",
      "release_date": "2019-12-05",
      "release_notes_url": "http://example.net/release-notes1",
      "availability": "Admins Only",
      "description": "Interesting release facts",
      "eula": {
        "id": 22,
        "slug": "pivotal_software_eula",
        "name": "Pivotal Software EULA",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/eulas/22"
          }
        }
      },
      "end_of_support_date": "2015-05-10",
      "end_of_guidance_date": "2015-06-30",
      "end_of_availability_date": "2015-07-04",
      "eccn": "5D002",
      "license_exception": "ENC Unrestricted",
      "updated_at": "2019-12-05T14:34:35.711Z",
      "software_files_updated_at": "2019-12-05T14:34:35.711Z",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/23"
        },
        "eula_acceptance": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/23/eula_acceptance"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/23/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/23/file_groups"
        },
        "user_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/23/user_groups"
        }
      }
    },
    {
      "id": 22,
      "version": "1.0.1",
      "release_type": "Major Release",
      "release_date": "2019-12-05",
      "release_notes_url": "http://example.com/release",
      "availability": "Admins Only",
      "description": "Release description",
      "eula": {
        "id": 22,
        "slug": "pivotal_software_eula",
        "name": "Pivotal Software EULA",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/eulas/22"
          }
        }
      },
      "end_of_support_date": "2015-05-10",
      "end_of_guidance_date": "2015-06-30",
      "end_of_availability_date": "2015-07-04",
      "eccn": "5D002",
      "license_exception": "ENC Unrestricted",
      "updated_at": "2019-12-05T14:34:35.692Z",
      "software_files_updated_at": "2019-12-05T14:34:35.692Z",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/22"
        },
        "eula_acceptance": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/22/eula_acceptance"
        },
        "product_files": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/22/product_files"
        },
        "file_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/22/file_groups"
        },
        "user_groups": {
          "href": "https://network.pivotal.io/api/v2/products/product-18/releases/22/user_groups"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-18/releases"
    }
  }
}

GET /api/v2/products/:product_slug/releases/:id

  • Returns a specific release associated with the specified product
    • returns 200 if the release is found
    • returns 401 if user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-19/releases/26 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-19/releases/26 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-27"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 2258
Content-Type: application/json; charset=utf-8
ETag: W/"00fa24c4bba9724b93f5be1442b32e9d"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 26,
  "version": "1.1.1",
  "release_type": "Major Release",
  "release_date": "2019-12-05",
  "release_notes_url": "http://example.com/release",
  "availability": "Admins Only",
  "description": "Release description",
  "eula": {
    "id": 23,
    "slug": "pivotal_software_eula",
    "name": "Pivotal Software EULA",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/eulas/23"
      }
    }
  },
  "end_of_support_date": "2015-05-10",
  "end_of_guidance_date": "2015-06-30",
  "end_of_availability_date": "2015-07-04",
  "eccn": "5D002",
  "license_exception": "ENC Unrestricted",
  "product_files": [
    {
      "id": 20,
      "aws_object_key": "product-28/product-file-16.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 16",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/product_files/20"
        },
        "download": {
          "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/product_files/20/download"
        }
      }
    }
  ],
  "file_groups": [
    {
      "id": 9,
      "name": "File Group 8",
      "product_files": [
        {
          "id": 20,
          "aws_object_key": "product-28/product-file-16.txt",
          "file_type": "Software",
          "file_version": "1.0.0",
          "md5": "c705c6e6339ebb3417ed1f118efbe620",
          "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
          "name": "Product File 16",
          "_links": {
            "self": {
              "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/product_files/20"
            },
            "download": {
              "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/product_files/20/download"
            }
          }
        }
      ],
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-19/file_groups/9"
        }
      }
    }
  ],
  "updated_at": "2019-12-05T14:34:35.975Z",
  "software_files_updated_at": "2019-12-05T14:34:35.975Z",
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26"
    },
    "eula_acceptance": {
      "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/eula_acceptance"
    },
    "product_files": {
      "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/product_files"
    },
    "file_groups": {
      "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/file_groups"
    },
    "user_groups": {
      "href": "https://network.pivotal.io/api/v2/products/product-19/releases/26/user_groups"
    }
  }
}

GET /api/v2/products/:product_slug/releases/latest

  • Returns the latest release associated with the specified product
    • returns 200 if the release is found
    • returns 401 if user could not be authenticated
    • returns 404 if the product cannot be found or has no semver-compliant releases
  • Authentication optional, but required to view releases not available to public
  • Major and minor query strings are optional (must provide major when querying with minor)
  • Only releases with semver-compliant versions will be found

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-20/releases/latest -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-20/releases/latest?major=1&minor=1 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-28"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 990
Content-Type: application/json; charset=utf-8
ETag: W/"bdf3bb68ac4636962c837a37a6a09587"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 28,
  "version": "1.1.2",
  "release_type": "Major Release",
  "release_date": "2019-12-05",
  "release_notes_url": "https://releasenote.url",
  "availability": "Admins Only",
  "description": "description",
  "eula": {
    "id": 24,
    "slug": "pivotal_software_eula",
    "name": "Pivotal Software EULA",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/eulas/24"
      }
    }
  },
  "product_files": [

  ],
  "file_groups": [

  ],
  "updated_at": "2019-12-05T14:34:36.112Z",
  "software_files_updated_at": "2019-12-05T14:34:36.112Z",
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-20/releases/28"
    },
    "eula_acceptance": {
      "href": "https://network.pivotal.io/api/v2/products/product-20/releases/28/eula_acceptance"
    },
    "product_files": {
      "href": "https://network.pivotal.io/api/v2/products/product-20/releases/28/product_files"
    },
    "file_groups": {
      "href": "https://network.pivotal.io/api/v2/products/product-20/releases/28/file_groups"
    },
    "user_groups": {
      "href": "https://network.pivotal.io/api/v2/products/product-20/releases/28/user_groups"
    }
  }
}

POST /api/v2/products/:product_slug/releases

  • Create a release associated with the specified product
    • returns 201 if the release is created
    • returns 400 if there is no release key in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to create releases on the product
    • returns 404 if the product or EULA cannot be found
    • returns 422 if the release cannot be created due to invalid release data
  • Authentication required
  • Valid release types: Developer Release, Alpha Release, Beta Release, Release Candidate, Major Release, Minor Release, Security Release, Maintenance Release
  • Set copy_metadata=true to copy metadata from the latest All Users release within the minor. If it is not provided, defaults to false.
  • Only Admins Only can be set for the availability
  • The product_files, file_groups, and user_groups keys cannot be updated by this method. After creating the release, please use:
    • /api/v2/products/:product_slug/releases/:release_id/add_product_file
    • /api/v2/products/:product_slug/releases/:release_id/add_file_group
    • /api/v2/products/:product_slug/releases/:release_id/add_user_group
  • Product Admins must certify that all OSS and third-party software used in this release has been cleared by the legal team by entering a value of confirm for the oss_compliant field
  • Contact product_ops@pivotal.io for more information about the Export Control Classification Number (ECCN) and License Exception

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/product-21/releases -H "Authorization: Bearer access_token" -d '{"copy_metadata":false,"release":{"version":"1.0.12","release_notes_url":"http://example.com/release","description":"Release description","release_date":"2013-12-11","release_type":"Security Release","availability":"Admins Only","eula":{"slug":"pivotal_software_eula"},"oss_compliant":"confirm","end_of_support_date":"2015-5-10","end_of_guidance_date":"2015-6-30","end_of_availability_date":"2015-7-4","eccn":"5D002","license_exception":"ENC Unrestricted"}}'

Request


POST /api/v2/products/product-21/releases HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-29"
Content-Length: 457
Content-Type: application/json
Host: network.pivotal.io


{
  "copy_metadata": false,
  "release": {
    "version": "1.0.12",
    "release_notes_url": "http://example.com/release",
    "description": "Release description",
    "release_date": "2013-12-11",
    "release_type": "Security Release",
    "availability": "Admins Only",
    "eula": {
      "slug": "pivotal_software_eula"
    },
    "oss_compliant": "confirm",
    "end_of_support_date": "2015-5-10",
    "end_of_guidance_date": "2015-6-30",
    "end_of_availability_date": "2015-7-4",
    "eccn": "5D002",
    "license_exception": "ENC Unrestricted"
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 1266
Content-Type: application/json; charset=utf-8
ETag: W/"05539c1e7d422147821afe514db9c162"
Location: https://network.pivotal.io/api/v2/products/product-21/releases/30
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "status": 201,
  "message": "successfully created release '30' for product 'product-21'",
  "release": {
    "id": 30,
    "version": "1.0.12",
    "release_type": "Security Release",
    "release_date": "2013-12-11",
    "release_notes_url": "http://example.com/release",
    "availability": "Admins Only",
    "description": "Release description",
    "eula": {
      "id": 25,
      "slug": "pivotal_software_eula",
      "name": "Pivotal Software EULA",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/eulas/25"
        }
      }
    },
    "end_of_support_date": "2015-05-10",
    "end_of_guidance_date": "2015-06-30",
    "end_of_availability_date": "2015-07-04",
    "eccn": "5D002",
    "license_exception": "ENC Unrestricted",
    "product_files": [

    ],
    "file_groups": [

    ],
    "updated_at": "2019-12-05T14:34:36.315Z",
    "software_files_updated_at": "2019-12-05T14:34:36.315Z",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-21/releases/30"
      },
      "eula_acceptance": {
        "href": "https://network.pivotal.io/api/v2/products/product-21/releases/30/eula_acceptance"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-21/releases/30/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-21/releases/30/file_groups"
      },
      "user_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-21/releases/30/user_groups"
      }
    }
  }
}

PATCH /api/v2/products/:product_slug/releases/:id

  • Update an existing release associated with the specified product
    • returns 200 if the release is updated
    • returns 400 if there is no release key in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to update releases on the product
    • returns 404 if the product cannot be found
    • returns 422 if the release cannot be updated due to invalid release data
  • Authentication required
  • Valid release types: Developer Release, Alpha Release, Beta Release, Release Candidate, Major Release, Minor Release, Security Release, Maintenance Release
  • Set copy_metadata=true to copy metadata from the latest All Users release within the minor. If it is not provided, defaults to false.
  • Pivotal Product Admins can set the availability to any of the following: Admins Only, Selected User Groups Only, All Users
  • The product_files, file_groups, and user_groups keys cannot be updated by this method. Please use:
    • /api/v2/products/:product_slug/releases/:release_id/add_product_file
    • /api/v2/products/:product_slug/releases/:release_id/remove_product_file
    • /api/v2/products/:product_slug/releases/:release_id/add_file_group
    • /api/v2/products/:product_slug/releases/:release_id/remove_file_group
    • /api/v2/products/:product_slug/releases/:release_id/add_user_group
    • /api/v2/products/:product_slug/releases/:release_id/remove_user_group
  • Product Admins must certify that all OSS and third-party software used in this release has been cleared by the legal team by entering a value of confirm for the oss_compliant field
  • Releases cannot be made available to All Users or Selected User Groups Only if any associated product files have the in_progress or failed_to_transfer file transfer status values.
  • Releases cannot be made available to All Users or Selected User Groups Only if any associated file groups contain product files that have the in_progress or failed_to_transfer file transfer status values.
  • Contact product_ops@pivotal.io for more information about the Export Control Classification Number (ECCN) and License Exception

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-22/releases/31 -H "Authorization: Bearer access_token" -d '{"release":{"version":"9.9.9","availability":"All Users","release_type":"Major Release","end_of_support_date":"2015-5-10","end_of_guidance_date":"2015-6-30","end_of_availability_date":"2015-7-4","oss_compliant":"confirm","eccn":"5D002","license_exception":"ENC Unrestricted"}}'

Request


PATCH /api/v2/products/product-22/releases/31 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-30"
Content-Length: 276
Content-Type: application/json
Host: network.pivotal.io


{
  "release": {
    "version": "9.9.9",
    "availability": "All Users",
    "release_type": "Major Release",
    "end_of_support_date": "2015-5-10",
    "end_of_guidance_date": "2015-6-30",
    "end_of_availability_date": "2015-7-4",
    "oss_compliant": "confirm",
    "eccn": "5D002",
    "license_exception": "ENC Unrestricted"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 2343
Content-Type: application/json; charset=utf-8
ETag: W/"ce22d5da7e528cdef5b0a6a579d0bef5"
Location: https://network.pivotal.io/api/v2/products/product-22/releases/31
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "status": 200,
  "message": "successfully updated release '31' for product 'product-22'",
  "release": {
    "id": 31,
    "version": "9.9.9",
    "release_type": "Major Release",
    "release_date": "2019-12-05",
    "release_notes_url": "https://releasenote.url",
    "availability": "All Users",
    "description": "description",
    "eula": {
      "id": 27,
      "slug": "pivotal_software_eula",
      "name": "Pivotal Software EULA",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/eulas/27"
        }
      }
    },
    "end_of_support_date": "2015-05-10",
    "end_of_guidance_date": "2015-06-30",
    "end_of_availability_date": "2015-07-04",
    "eccn": "5D002",
    "license_exception": "ENC Unrestricted",
    "product_files": [
      {
        "id": 22,
        "aws_object_key": "product-31/product-file-18.txt",
        "file_type": "Software",
        "file_version": "1.0.0",
        "md5": "c705c6e6339ebb3417ed1f118efbe620",
        "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
        "name": "Product File 18",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/product_files/22"
          },
          "download": {
            "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/product_files/22/download"
          }
        }
      }
    ],
    "file_groups": [
      {
        "id": 10,
        "name": "File Group 9",
        "product_files": [
          {
            "id": 22,
            "aws_object_key": "product-31/product-file-18.txt",
            "file_type": "Software",
            "file_version": "1.0.0",
            "md5": "c705c6e6339ebb3417ed1f118efbe620",
            "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
            "name": "Product File 18",
            "_links": {
              "self": {
                "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/product_files/22"
              },
              "download": {
                "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/product_files/22/download"
              }
            }
          }
        ],
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-22/file_groups/10"
          }
        }
      }
    ],
    "updated_at": "2019-12-05T14:34:36.530Z",
    "software_files_updated_at": "2019-12-05T14:34:36.482Z",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31"
      },
      "eula_acceptance": {
        "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/eula_acceptance"
      },
      "product_files": {
        "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/product_files"
      },
      "file_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/file_groups"
      },
      "user_groups": {
        "href": "https://network.pivotal.io/api/v2/products/product-22/releases/31/user_groups"
      }
    }
  }
}

DELETE /api/v2/products/:product_slug/releases/:id

  • Delete a release from a product.
    • returns 204 if the release has been deleted
    • returns 401 if user could not be authenticated
    • returns 403 if user is not permitted to delete releases from the product
    • returns 404 if the product or release cannot be found
  • Authentication required
  • NOTE: This will not remove files or file groups from the product. This action cannot be undone.

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/product-23/releases/32 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/product-23/releases/32 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-31"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/releases/release_types

  • Returns the list of Release Types
  • No authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/releases/release_types -H "Authorization: Bearer access_token" 

Request


GET /api/v2/releases/release_types HTTP/1.1
Accept: application/json
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 262
Content-Type: application/json; charset=utf-8
ETag: W/"35badab54dfe1637af24c0378315cf16"
Location: https://network.pivotal.io/api/v2/releases/release_types
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "status": 200,
  "release_types": [
    "Developer Release",
    "Alpha Release",
    "Beta Release",
    "Release Candidate",
    "Major Release",
    "Minor Release",
    "Security Release",
    "Maintenance Release"
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/releases/release_types"
    }
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/product_files

  • List product files associated with the specified release
    • returns 200 if the release is found
    • returns 401 if user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-24/releases/33/product_files HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-32"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 1076
Content-Type: application/json; charset=utf-8
ETag: W/"daa069f77dd1f6f9dab01f080522d2d7"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_files": [
    {
      "id": 24,
      "aws_object_key": "product-33/product-file-20.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 20",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files/24"
        },
        "download": {
          "href": "https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files/24/download"
        }
      }
    },
    {
      "id": 23,
      "aws_object_key": "product-33/product-file-19.txt",
      "file_type": "Software",
      "file_version": "1.0.0",
      "md5": "c705c6e6339ebb3417ed1f118efbe620",
      "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
      "name": "Product File 19",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files/23"
        },
        "download": {
          "href": "https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files/23/download"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-24/releases/33/product_files"
    }
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/product_files/:id

  • Show a product file for a product's release
    • returns 200 if the product file is found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view the product file
    • returns 404 if the product, release, or the product file cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-25/releases/34/product_files/25 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-25/releases/34/product_files/25 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-33"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 685
Content-Type: application/json; charset=utf-8
ETag: W/"3ac351da8d798719eba82123e1ef59cd"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "product_file": {
    "id": 25,
    "aws_object_key": "product-34/product-file-21.txt",
    "description": "product description 23",
    "docs_url": null,
    "file_transfer_status": "complete",
    "file_type": "Software",
    "file_version": "1.0.0",
    "included_files": [

    ],
    "md5": "c705c6e6339ebb3417ed1f118efbe620",
    "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
    "name": "Product File 21",
    "ready_to_serve": true,
    "released_at": "2019-12-05",
    "size": null,
    "system_requirements": [

    ],
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/product-25/releases/34/product_files/25"
      },
      "download": {
        "href": "https://network.pivotal.io/api/v2/products/product-25/releases/34/product_files/25/download"
      }
    }
  }
}

PATCH /api/v2/products/:product_slug/releases/:release_id/add_product_file

  • Associates a product file with the specified release
  • Required fields: product_file
    • returns 204 if the product file is successfully associated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or product file cannot be found
    • returns 409 if the release is in All Users availability
    • returns 422 error associating the product file
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-26/releases/35/add_product_file -H "Authorization: Bearer access_token" -d '{"product_file":{"id":26}}'

Request


PATCH /api/v2/products/product-26/releases/35/add_product_file HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-34"
Content-Length: 26
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "id": 26
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/releases/:release_id/remove_product_file

  • Removes a product file from the specified release
  • Required fields: product_file
    • returns 204 if the product file is removed
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or product file cannot be found
    • returns 409 if the release is in All Users availability
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-27/releases/36/remove_product_file -H "Authorization: Bearer access_token" -d '{"product_file":{"id":27}}'

Request


PATCH /api/v2/products/product-27/releases/36/remove_product_file HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-35"
Content-Length: 26
Content-Type: application/json
Host: network.pivotal.io


{
  "product_file": {
    "id": 27
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/releases/:release_id/file_groups

  • List file groups on a release
    • returns 200 on success
    • returns 401 if the user could not be authenticated
    • returns 404 if the product or release cannot be found or the user is not permitted to view
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-28/releases/37/file_groups -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-28/releases/37/file_groups HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-36"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 1884
Content-Type: application/json; charset=utf-8
ETag: W/"e25e7901551e8bf5e40ba01289495cc5"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "file_groups": [
    {
      "id": 11,
      "name": "Alpha Users",
      "product_files": [
        {
          "id": 28,
          "aws_object_key": "product-37/special-product-alpha.txt",
          "file_type": "Software",
          "file_version": "1.0.0",
          "md5": "c705c6e6339ebb3417ed1f118efbe620",
          "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
          "name": "Special Product Alpha",
          "_links": {
            "self": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/28"
            },
            "download": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/28/download"
            }
          }
        }
      ],
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-28/file_groups/11"
        }
      }
    },
    {
      "id": 12,
      "name": "Alpha Users",
      "product_files": [
        {
          "id": 30,
          "aws_object_key": "product-37/special-product-alpha-2.txt",
          "file_type": "Software",
          "file_version": "1.0.0",
          "md5": "c705c6e6339ebb3417ed1f118efbe620",
          "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
          "name": "Special Product Alpha 2",
          "_links": {
            "self": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/30"
            },
            "download": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/30/download"
            }
          }
        },
        {
          "id": 29,
          "aws_object_key": "product-37/special-product-alpha-1.txt",
          "file_type": "Software",
          "file_version": "1.0.0",
          "md5": "c705c6e6339ebb3417ed1f118efbe620",
          "sha256": "2ddafaea87cde937577c90d172b82daa143da75e071d99113a49fbdb2605a3bc",
          "name": "Special Product Alpha 1",
          "_links": {
            "self": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/29"
            },
            "download": {
              "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/product_files/29/download"
            }
          }
        }
      ],
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/product-28/file_groups/12"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-28/releases/37/file_groups"
    }
  }
}

PATCH /api/v2/products/:product_slug/releases/:release_id/add_file_group

  • Associates an existing file group to the specified release
  • Required fields: file_group
    • returns 204 if the file group is successfully associated
    • returns 400 if the request payload is malformed
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to attach file groups to the release
    • returns 404 if the product, release, or file group cannot be found
    • returns 409 if the release is in All Users availability
    • returns 422 if the file group could not be added to the release
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-29/releases/38/add_file_group -H "Authorization: Bearer access_token" -d '{"file_group":{"id":13}}'

Request


PATCH /api/v2/products/product-29/releases/38/add_file_group HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-37"
Content-Length: 24
Content-Type: application/json
Host: network.pivotal.io


{
  "file_group": {
    "id": 13
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/releases/:release_id/remove_file_group

  • Removes a file group from the specified release
  • Required fields: file_group
    • returns 204 if the file group is successfully removed from the release
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or file group cannot be found
    • returns 409 if the release is in All Users availability
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-30/releases/39/remove_file_group -H "Authorization: Bearer access_token" -d '{"file_group":{"id":14}}'

Request


PATCH /api/v2/products/product-30/releases/39/remove_file_group HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-38"
Content-Length: 24
Content-Type: application/json
Host: network.pivotal.io


{
  "file_group": {
    "id": 14
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/releases/:release_id/user_groups

  • Get user groups associated with the specified release
    • returns 200 if user groups are returned successfully
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to manage the product
    • returns 404 if the product or release cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-31/releases/40/user_groups -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-31/releases/40/user_groups HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-40"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 270
Content-Type: application/json; charset=utf-8
ETag: W/"082b2a255d4ff0fdbffcfe760ec63fe3"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "user_groups": [
    {
      "id": 9,
      "name": "Group Name #5",
      "description": "Group Description #5",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/user_groups/9"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-31/releases/40/user_groups"
    }
  }
}

PATCH /api/v2/products/:product_slug/releases/:release_id/add_user_group

  • Grants the user group access to the release
    • returns 204 if the user group is successfully granted access to the release
    • returns 400 if there is no user_group key in the request payload
    • returns 403 if user does not have access to update the release
    • returns 404 if the release or user group cannot be found
    • returns 422 if the user group is already associated with the release
  • Authentication required
  • The user group will only be able to use this access if the release type is Selected User Groups Only

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-32/releases/41/add_user_group -H "Authorization: Bearer access_token" -d '{"user_group":{"id":10}}'

Request


PATCH /api/v2/products/product-32/releases/41/add_user_group HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-41"
Content-Length: 24
Content-Type: application/json
Host: network.pivotal.io


{
  "user_group": {
    "id": 10
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/releases/:release_id/remove_user_group

  • Revokes the user group's access to the release
    • returns 204 if the user group's access to the release is successfully revoked
    • returns 400 if there is no user_group key in the request payload
    • returns 403 if user does not have access to update the release
    • returns 404 if the release or user group cannot be found
  • Authentication required
  • Removing a user group will only affect that group's visibility of the release if the release type is Selected User Groups Only

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-33/releases/42/remove_user_group -H "Authorization: Bearer access_token" -d '{"user_group":{"id":11}}'

Request


PATCH /api/v2/products/product-33/releases/42/remove_user_group HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-42"
Content-Length: 24
Content-Type: application/json
Host: network.pivotal.io


{
  "user_group": {
    "id": 11
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/releases/:release_id/dependencies

  • Returns all individual dependencies associated with the specified release
    • returns 200 on success
    • returns 401 if the user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Also includes dependencies that match any of the release's dependency specifiers
  • Authentication optional, but required to view releases and dependencies not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-35/releases/43/dependencies -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-35/releases/43/dependencies HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-43"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 534
Content-Type: application/json; charset=utf-8
ETag: W/"405382c3e47e73022b9acaed5c50f298"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "dependencies": [
    {
      "release": {
        "id": 47,
        "version": "1.3.3-included",
        "product": {
          "id": 43,
          "slug": "product-34",
          "name": "Product 43"
        },
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-34/releases/47"
          }
        }
      }
    },
    {
      "release": {
        "id": 46,
        "version": "1.3.2-included",
        "product": {
          "id": 43,
          "slug": "product-34",
          "name": "Product 43"
        },
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-34/releases/46"
          }
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-35/releases/43/dependencies"
    }
  }
}

POST /api/v2/products/:product_slug/releases/:release_id/dependency_specifiers

  • Creates a release dependency specifier. Dependency specifiers are rules for defining acceptable product versions for a given product dependency.
    • returns 201 on success
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have permission to edit product
    • returns 404 if the product or release cannot be found
    • returns 422 if the dependency specifier is invalid
  • All public, semver-compliant releases for the chosen product that match the specifier will be included in the response from the dependencies API endpoint
  • Versions of the product created in the future will be compared against the specifier
  • Supported specifiers:
    • Minor version:
      • MAJOR.MINOR.* for products other than 'Stemcells for PCF'
      • NUMBER.* for the 'Stemcells for PCF' product
      • Matches public, semver releases that have the given major and minor (or first number, if Stemcells)
    • All versions above specific patch:
      • ~>MAJOR.MINOR.PATCH
      • Matches public, semver releases within the given minor that have the given patch number or greater
    • Specific patches:
      • RELEASE VERSION
      • Matches the specific patch version(s) only

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/release-product-slug/releases/48/dependency_specifiers -H "Authorization: Bearer access_token" -d '{"dependency_specifier":{"product_slug":"dependency-product-slug","specifier":"1.2.*"}}'

Request


POST /api/v2/products/release-product-slug/releases/48/dependency_specifiers HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-44"
Content-Length: 87
Content-Type: application/json
Host: network.pivotal.io


{
  "dependency_specifier": {
    "product_slug": "dependency-product-slug",
    "specifier": "1.2.*"
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 255
Content-Type: application/json; charset=utf-8
ETag: W/"08cdb2fff27f06125642769770391fd0"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "dependency_specifier": {
    "id": 2,
    "product": {
      "id": 45,
      "slug": "dependency-product-slug",
      "name": "Product 45"
    },
    "specifier": "1.2.*",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/48/dependency_specifiers/2"
      }
    }
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/dependency_specifiers

  • Returns the release dependency specifiers for a release in the format 1.1.1 1.2.* and ~> 1.2.2
    • returns 200 on success
    • returns 404 if the product or release cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/release-product-slug/releases/49/dependency_specifiers -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/release-product-slug/releases/49/dependency_specifiers HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-45"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 385
Content-Type: application/json; charset=utf-8
ETag: W/"1526de6035a5f1cff513bee4c6f1977a"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "dependency_specifiers": [
    {
      "id": 3,
      "product": {
        "id": 47,
        "slug": "dependency-product-slug",
        "name": "Product 47"
      },
      "specifier": "1.2.*",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/49/dependency_specifiers/3"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/49/dependency_specifiers"
    }
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/dependency_specifiers/:id

  • Returns the release dependency specifier
    • returns 200 on success
    • returns 404 if the dependency specifier cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/release-product-slug/releases/50/dependency_specifiers/4 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/release-product-slug/releases/50/dependency_specifiers/4 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-46"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 255
Content-Type: application/json; charset=utf-8
ETag: W/"5d0c64bd8e12455e4b00a59c47b75d27"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "dependency_specifier": {
    "id": 4,
    "product": {
      "id": 49,
      "slug": "dependency-product-slug",
      "name": "Product 49"
    },
    "specifier": "1.2.*",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/50/dependency_specifiers/4"
      }
    }
  }
}

DELETE /api/v2/products/:product_slug/releases/:release_id/dependency_specifiers/:id

  • Deletes a release dependency specifier
    • returns 204 on success
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have permission to edit the product
    • returns 404 if the dependency specifier cannot be found

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/release-product-slug/releases/51/dependency_specifiers/5 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/release-product-slug/releases/51/dependency_specifiers/5 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-47"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:product_slug/releases/:release_id/upgrade_paths

  • Returns all individual upgrade paths associated with the specified release
    • returns 200 on success
    • returns 401 if the user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Also includes upgrade paths that match any of the release's upgrade path specifiers
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-36/releases/54/upgrade_paths -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-36/releases/54/upgrade_paths HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-48"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 398
Content-Type: application/json; charset=utf-8
ETag: W/"28d6507583e6bbf451957654cf4b4d79"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "upgrade_paths": [
    {
      "release": {
        "id": 52,
        "version": "1.2.1",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-36/releases/52"
          }
        }
      }
    },
    {
      "release": {
        "id": 53,
        "version": "1.2.2",
        "_links": {
          "self": {
            "href": "https://network.pivotal.io/api/v2/products/product-36/releases/53"
          }
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/product-36/releases/54/upgrade_paths"
    }
  }
}

POST /api/v2/products/:product_slug/releases/:release_id/upgrade_path_specifiers

  • Creates a release upgrade path specifier. Upgrade path specifiers are rules for defining acceptable versions from which to upgrade to the current release.
    • returns 201 on success
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have permission to edit product
    • returns 404 if the product or release cannot be found
    • returns 422 if the dependency specifier is invalid
  • All public, semver-compliant releases within the product that match the specifier will be included in the response from the upgrade_paths API endpoint
  • Versions of the product created in the future will be included if they match the specifier
  • Supported specifiers:
    • Minor version:
      • MAJOR.MINOR.*
      • Matches public, semver releases that have the given major and minor
    • All versions above specific patch:
      • ~>MAJOR.MINOR.PATCH
      • Matches public, semver releases within the given minor that have the given patch number or greater
    • Specific patches:
      • RELEASE VERSION
      • Matches the specific patch version(s) only

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/release-product-slug/releases/55/upgrade_path_specifiers -H "Authorization: Bearer access_token" -d '{"upgrade_path_specifier":{"specifier":"1.2.*"}}'

Request


POST /api/v2/products/release-product-slug/releases/55/upgrade_path_specifiers HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-49"
Content-Length: 48
Content-Type: application/json
Host: network.pivotal.io


{
  "upgrade_path_specifier": {
    "specifier": "1.2.*"
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 186
Content-Type: application/json; charset=utf-8
ETag: W/"302823d1dca2634f6ccecf8356a261d9"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "upgrade_path_specifier": {
    "id": 3,
    "specifier": "1.2.*",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/55/upgrade_path_specifiers/3"
      }
    }
  }
}

DELETE /api/v2/products/:product_slug/releases/:release_id/upgrade_path_specifiers/:id

  • Deletes a release upgrade path specifier
    • returns 204 on success
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have permission to edit the product
    • returns 404 if the upgrade path specifier cannot be found

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/release-product-slug/releases/56/upgrade_path_specifiers/4 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/release-product-slug/releases/56/upgrade_path_specifiers/4 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-50"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/products/:slug/releases/:release_id/upgrade_path_specifiers/:id

  • Returns the release upgrade path specifier
    • returns 200 on success
    • returns 404 if the upgrade path specifier cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/release-product-slug/releases/57/upgrade_path_specifiers/5 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/release-product-slug/releases/57/upgrade_path_specifiers/5 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-51"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 186
Content-Type: application/json; charset=utf-8
ETag: W/"411b7f17e9d25758ac0c2f7e90b441c3"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "upgrade_path_specifier": {
    "id": 5,
    "specifier": "2.3.*",
    "_links": {
      "self": {
        "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/57/upgrade_path_specifiers/5"
      }
    }
  }
}

GET /api/v2/products/:slug/releases/:release_id/upgrade_path_specifiers

  • Returns the upgrade path specifiers for a release in the format 1.1.1 1.2.* and ~> 1.2.2
    • returns 200 on success
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/release-product-slug/releases/58/upgrade_path_specifiers -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/release-product-slug/releases/58/upgrade_path_specifiers HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-52"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 318
Content-Type: application/json; charset=utf-8
ETag: W/"f30f20c0eba8fb9b693e40e24cf90a5e"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "upgrade_path_specifiers": [
    {
      "id": 6,
      "specifier": "2.3.*",
      "_links": {
        "self": {
          "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/58/upgrade_path_specifiers/6"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://network.pivotal.io/api/v2/products/release-product-slug/releases/58/upgrade_path_specifiers"
    }
  }
}

POST /api/v2/federation_token

  • Returns a federation token to upload files to AWS S3 bucket
    • returns 200 if successful
    • returns 403 if user does not have access
  • User must be product admin of specified product

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/federation_token -H "Authorization: Bearer access_token" -d '{"product_id":"product-37"}'

Request


POST /api/v2/federation_token HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-53"
Content-Length: 27
Content-Type: application/json
Host: network.pivotal.io


{
  "product_id": "product-37"
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 166
Content-Type: application/json; charset=utf-8
ETag: W/"99bf9b69d7b7a51d0d6c41e83d721034"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "access_key_id": "fake-access-key-id",
  "secret_access_key": "fake-secret_access_key",
  "session_token": "fake-session_token",
  "bucket": "fake-bucket",
  "region": "fake-region"
}

GET /api/v2/product_details/:product_slug

  • Returns serialized product details
    • returns 200 if product is found
    • returns 404 if product cannot be found or user is not permitted to view
  • Authentication optional, but required to view products not publicly available
  • Does not return releases with type alpha_release, developer_release, or release_candidate

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/product_details/my-product-slug -H "Authorization: Bearer access_token" 

Request


GET /api/v2/product_details/my-product-slug HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-54"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 1394
Content-Type: application/json; charset=utf-8
ETag: W/"c26eff79f511347eff24485c441e7f19"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 59,
  "slug": "my-product-slug",
  "name": "Product 59",
  "category": "Data",
  "knowledge_base_url": null,
  "more_info_url": null,
  "docs_url": "https://docs.example.com",
  "support_forum_url": null,
  "lifecycle_state": "Beta",
  "platform_compatibility": [

  ],
  "installs_on_pks": false,
  "partner_product": false,
  "releases": [
    {
      "id": 59,
      "version": "2.0.0",
      "release_type": "Major Release",
      "date": "2019-12-05",
      "notes": "https://releasenote.url",
      "availability": "All Users",
      "end_of_support_date": null,
      "end_of_guidance_date": null,
      "end_of_availability_date": null,
      "was_ever_general_availability": true,
      "dependencies": [

      ],
      "upgrade_paths": [
        {
          "id": 5,
          "version": "1.0.0",
          "was_ever_general_availability": true
        }
      ],
      "release_removal_details": null,
      "release_removal_recommended_actions": null,
      "release_removal_cve_number": null
    },
    {
      "id": 5,
      "version": "1.0.0",
      "release_type": "Major Release",
      "date": "2019-12-05",
      "notes": "https://releasenote.url",
      "availability": "All Users",
      "end_of_support_date": null,
      "end_of_guidance_date": null,
      "end_of_availability_date": null,
      "was_ever_general_availability": true,
      "dependencies": [
        {
          "slug": "dependency-product-slug",
          "name": "dependency-name",
          "versions": [
            {
              "id": 11,
              "link": "https://network.pivotal.io/products/dependency-product-slug/releases/11",
              "version": "1.0.1",
              "was_ever_general_availability": true
            }
          ]
        }
      ],
      "upgrade_paths": [

      ],
      "release_removal_details": null,
      "release_removal_recommended_actions": null,
      "release_removal_cve_number": null
    }
  ]
}

GET /api/v2/products/:product_slug/image_references

  • List image references associated with the specified product
    • returns 200 if the product is found
    • returns 401 if user could not be authenticated
    • returns 403 if the user is not permissioned to view image references
    • returns 404 if the product cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-39/image_references -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-39/image_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-55"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 298
Content-Type: application/json; charset=utf-8
ETag: W/"d9e9c6329dbed354c3deae3df2598195"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_references": [
    {
      "id": 2,
      "name": "image reference name #2",
      "image_path": "product-39-staging/image:2",
      "digest": "sha256:correctdigest",
      "release_versions": [

      ]
    },
    {
      "id": 1,
      "name": "image reference name #1",
      "image_path": "product-39-staging/image:1",
      "digest": "sha256:correctdigest",
      "release_versions": [

      ]
    }
  ]
}

GET /api/v2/products/:product_slug/image_references/:id

  • Show an image reference associated with the specified product
    • returns 200 if the product is found
    • returns 401 if user could not be authenticated
    • returns 403 if the user is not permissioned to view the image reference
    • returns 404 if the product cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-41/image_references/3 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-41/image_references/3 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-56"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 218
Content-Type: application/json; charset=utf-8
ETag: W/"a4e0d36c8e1550935831a40783806a11"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_reference": {
    "id": 3,
    "name": "pivnet-image",
    "image_path": "product-41-staging/pivnet-image:latest",
    "digest": "sha256:correctdigest",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ],
    "release_versions": [

    ]
  }
}

POST /api/v2/products/:product_slug/image_references

  • This endpoint creates an image reference and returns its data.
  • This endpoint is only available for product admins.

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/product-43/image_references -H "Authorization: Bearer access_token" -d '{"image_reference":{"name":"image name","image_path":"product-43-staging/path:123","digest":"sha256:correctdigest","description":"my description","docs_url":"my.docs.url","system_requirements":["requirement1","requirement2"]}}'

Request


POST /api/v2/products/product-43/image_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-57"
Content-Length: 226
Content-Type: application/json
Host: network.pivotal.io


{
  "image_reference": {
    "name": "image name",
    "image_path": "product-43-staging/path:123",
    "digest": "sha256:correctdigest",
    "description": "my description",
    "docs_url": "my.docs.url",
    "system_requirements": [
      "requirement1",
      "requirement2"
    ]
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 255
Content-Type: application/json; charset=utf-8
ETag: W/"de27bf5c538fa67d06efd951bbf1357d"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_reference": {
    "id": 4,
    "name": "image name",
    "image_path": "product-43-staging/path:123",
    "digest": "sha256:correctdigest",
    "description": "my description",
    "docs_url": "my.docs.url",
    "system_requirements": [
      "requirement1",
      "requirement2"
    ],
    "release_versions": [

    ]
  }
}

PATCH /api/v2/products/:product_slug/image_references/:id

  • Updates an existing image reference for the specified product
    • returns 200 if the image reference is updated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to update the product
    • returns 409 if the image reference that is associated with a release in All Users availability
    • returns 404 if the product or the image reference cannot be found
    • returns 422 if the image reference cannot be due to invalid image reference data
  • Authentication required
  • This endpoint is only available for admins. Please use Release Image References endpoint instead

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-45/image_references/5 -H "Authorization: Bearer access_token" -d '{"image_reference":{"name":"Law Blog"}}'

Request


PATCH /api/v2/products/product-45/image_references/5 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-58"
Content-Length: 39
Content-Type: application/json
Host: network.pivotal.io


{
  "image_reference": {
    "name": "Law Blog"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 202
Content-Type: application/json; charset=utf-8
ETag: W/"47191041b51257834b9578d34374db32"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_reference": {
    "id": 5,
    "name": "Law Blog",
    "image_path": "product-45-staging/image:3",
    "digest": "sha256:correctdigest",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ],
    "release_versions": [

    ]
  }
}

DELETE /api/v2/products/:product_slug/image_references/:id

  • Deletes the specified image reference
    • returns 200 if the image reference is deleted
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to delete this image reference
    • returns 404 if the product or the image reference cannot be found
    • returns 409 if the image reference is associated with a release in All Users availability
  • Authentication required
  • This endpoint is only available for admins. Please use Release Image References endpoint instead

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/product-46/image_references/6 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/product-46/image_references/6 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-59"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 217
Content-Type: application/json; charset=utf-8
ETag: W/"908127f43c5dd2bbbbbba7133fd88a79"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_reference": {
    "id": 6,
    "name": "image reference name #4",
    "image_path": "product-46-staging/image:4",
    "digest": "sha256:correctdigest",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ],
    "release_versions": [

    ]
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/image_references

  • List image references associated with the specified release
    • returns 200 if the release is found
    • returns 401 if user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-48/releases/60/image_references -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-48/releases/60/image_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-60"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 326
Content-Type: application/json; charset=utf-8
ETag: W/"111a62aa633e851e12d8a4c56a8250b9"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_references": [
    {
      "id": 7,
      "name": "image reference name #5",
      "image_path": "product-48-staging/image:5",
      "digest": "sha256:correctdigest",
      "release_versions": [
        "1.0.41-alpha"
      ]
    },
    {
      "id": 8,
      "name": "image reference name #6",
      "image_path": "product-48-staging/image:6",
      "digest": "sha256:correctdigest",
      "release_versions": [
        "1.0.41-alpha"
      ]
    }
  ]
}

GET /api/v2/products/:product_slug/releases/:release_id/image_references/:id

  • Show a image reference for a product's release
    • returns 200 if the image reference is found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view the image reference
    • returns 404 if the product, release, or the image reference cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-49/releases/61/image_references/9 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-49/releases/61/image_references/9 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-61"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 231
Content-Type: application/json; charset=utf-8
ETag: W/"9ed137d5e231742389daf2ec2adae835"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "image_reference": {
    "id": 9,
    "name": "image reference name #7",
    "image_path": "product-49-staging/image:7",
    "digest": "sha256:correctdigest",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ],
    "release_versions": [
      "1.0.42-alpha"
    ]
  }
}

PATCH /api/v2/products/:product_slug/releases/:release_id/add_image_reference

  • Associates a image reference with the specified release
  • Required fields: image_reference
    • returns 204 if the image reference is successfully associated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or image reference cannot be found
    • returns 409 if the release is in All Users availability
    • returns 422 error associating the image reference
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-50/releases/62/add_image_reference -H "Authorization: Bearer access_token" -d '{"image_reference":{"id":10}}'

Request


PATCH /api/v2/products/product-50/releases/62/add_image_reference HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-62"
Content-Length: 29
Content-Type: application/json
Host: network.pivotal.io


{
  "image_reference": {
    "id": 10
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/releases/:release_id/remove_image_reference

  • Removes a image reference from the specified release
  • Required fields: image_reference
    • returns 204 if the image reference is removed
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or image reference cannot be found
    • returns 409 if the release is in All Users availability
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-51/releases/63/remove_image_reference -H "Authorization: Bearer access_token" -d '{"image_reference":{"id":11}}'

Request


PATCH /api/v2/products/product-51/releases/63/remove_image_reference HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-63"
Content-Length: 29
Content-Type: application/json
Host: network.pivotal.io


{
  "image_reference": {
    "id": 11
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

GET /api/v2/company_groups

  • Lists all managed company groups
    • returns 401 if you do not have a valid API token
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/company_groups -H "Authorization: Bearer access_token" 

Request


GET /api/v2/company_groups HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-64"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 76
Content-Type: application/json; charset=utf-8
ETag: W/"c8b6631c11be4d6290c72c4c743b2f06"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "company_groups": [
    {
      "id": 1,
      "name": "Company X"
    },
    {
      "id": 2,
      "name": "Company Y"
    }
  ]
}

GET /api/v2/company_groups/:company_group_id

  • Returns a specific company group
    • returns 200 if the company group is found
    • returns 401 if you do not have a valid API token
    • returns 404 if the company group cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/company_groups/3 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/company_groups/3 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-65"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 350
Content-Type: application/json; charset=utf-8
ETag: W/"23954f8af3f9f11d4a975b71e147c590"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 3,
  "name": "Company X",
  "members": [
    {
      "id": 73,
      "name": "The Admin",
      "email": "theta@example.net",
      "admin": true
    },
    {
      "id": 74,
      "name": "Person A",
      "email": "alpha@example.net",
      "admin": false
    },
    {
      "id": 75,
      "name": "Person B",
      "email": "bravo@example.net",
      "admin": false
    }
  ],
  "pending_invitations": [

  ],
  "subscriptions": [
    {
      "id": 76,
      "name": "Product B"
    },
    {
      "id": 75,
      "name": "Product A"
    }
  ]
}

PATCH /api/v2/company_groups/:company_group_id/add_member

  • Add a new member to an existing company group that you manage
    • returns 200 if the member already exists in the company group or the member has been added to the company group or an email invite is sent if no Pivotal Network account is found for the requested email address
    • returns 400 if there is no member or email key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 404 if the company group cannot be found for the user
    • returns 422 if the email provided is in an invalid format or user tries to change their own admin state
  • Authentication required

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/company_groups/4/add_member -H "Authorization: Bearer access_token" -d '{"member":{"email":"alpha@example.net","admin":true}}'

Request


PATCH /api/v2/company_groups/4/add_member HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-68"
Content-Length: 53
Content-Type: application/json
Host: network.pivotal.io


{
  "member": {
    "email": "alpha@example.net",
    "admin": true
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 222
Content-Type: application/json; charset=utf-8
ETag: W/"5008f7c18d9776949429e988991674ab"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 4,
  "name": "Company X",
  "members": [
    {
      "id": 77,
      "name": "Person A",
      "email": "alpha@example.net",
      "admin": true
    },
    {
      "id": 76,
      "name": "The Admin",
      "email": "theta@example.net",
      "admin": true
    }
  ],
  "pending_invitations": [

  ],
  "subscriptions": [

  ]
}

PATCH /api/v2/company_groups/:company_group_id/remove_member

  • Removes member from an existing company group that you manage
    • returns 200 if the member exists and gets deleted or was not already a member
    • returns 400 if there is no member or email key in the request payload
    • returns 401 if you do not have a valid API token
    • returns 403 if user attempts to remove themselves from the company group
    • returns 404 if the company group cannot be found for the user
    • returns 422 if the email provided is in an invalid format
  • Authentication required

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/company_groups/5/remove_member -H "Authorization: Bearer access_token" -d '{"member":{"email":"alpha@example.net"}}'

Request


PATCH /api/v2/company_groups/5/remove_member HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-70"
Content-Length: 40
Content-Type: application/json
Host: network.pivotal.io


{
  "member": {
    "email": "alpha@example.net"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 153
Content-Type: application/json; charset=utf-8
ETag: W/"e7885c1da4e3eb71fb0d3575dac3edce"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "id": 5,
  "name": "Company X",
  "members": [
    {
      "id": 78,
      "name": "The Admin",
      "email": "theta@example.net",
      "admin": true
    }
  ],
  "pending_invitations": [

  ],
  "subscriptions": [

  ]
}

GET /api/v2/products/:product_slug/helm_chart_references

  • List helm chart references associated with the specified product
    • returns 200 if the product is found
    • returns 401 if user could not be authenticated
    • returns 403 if the user is not permissioned to view helm chart references
    • returns 404 if the product cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-55/helm_chart_references -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-55/helm_chart_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-72"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 177
Content-Type: application/json; charset=utf-8
ETag: W/"14a69851d8f0685ab7343acce7fabc09"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_references": [
    {
      "id": 2,
      "name": "helm_chart reference name #2",
      "version": "helm version #2"
    },
    {
      "id": 1,
      "name": "helm_chart reference name #1",
      "version": "helm version #1"
    }
  ]
}

GET /api/v2/products/:product_slug/helm_chart_references/:id

  • Show a helm chart reference associated with the specified product
    • returns 200 if the product is found
    • returns 401 if user could not be authenticated
    • returns 403 if the user is not permissioned to view the helm chart reference
    • returns 404 if the product cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-57/helm_chart_references/3 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-57/helm_chart_references/3 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-73"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 132
Content-Type: application/json; charset=utf-8
ETag: W/"e95779a2c92b2da792f787be0b6104b4"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_reference": {
    "id": 3,
    "name": "pivnet chart",
    "version": "v1.2",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ]
  }
}

POST /api/v2/products/:product_slug/helm_chart_references

  • This endpoint creates a helm chart reference and returns its data.
  • This endpoint is only available for product admins.

Example

Curl


curl -X POST https://network.pivotal.io/api/v2/products/product-59/helm_chart_references -H "Authorization: Bearer access_token" -d '{"helm_chart_reference":{"name":"helm chart name","version":"helm version","description":"my description","docs_url":"my.docs.url","system_requirements":["requirement1","requirement2"]}}'

Request


POST /api/v2/products/product-59/helm_chart_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-74"
Content-Length: 186
Content-Type: application/json
Host: network.pivotal.io


{
  "helm_chart_reference": {
    "name": "helm chart name",
    "version": "helm version",
    "description": "my description",
    "docs_url": "my.docs.url",
    "system_requirements": [
      "requirement1",
      "requirement2"
    ]
  }
}

Response


HTTP/1.1 201
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 193
Content-Type: application/json; charset=utf-8
ETag: W/"496fb284645953cf7889401277077260"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_reference": {
    "id": 4,
    "name": "helm chart name",
    "version": "helm version",
    "description": "my description",
    "docs_url": "my.docs.url",
    "system_requirements": [
      "requirement1",
      "requirement2"
    ]
  }
}

PATCH /api/v2/products/:product_slug/helm_chart_references/:id

  • Updates an existing helm chart reference for the specified product
    • returns 200 if the helm chart reference is updated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to update the product
    • returns 409 if the helm chart reference that is associated with a release in All Users availability
    • returns 404 if the product or the helm chart reference cannot be found
    • returns 422 if the helm chart reference cannot be due to invalid helm chart reference data
  • Authentication required
  • This endpoint is only available for admins. Please use Release Helm Chart References endpoint instead

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-61/helm_chart_references/5 -H "Authorization: Bearer access_token" -d '{"helm_chart_reference":{"description":"my description"}}'

Request


PATCH /api/v2/products/product-61/helm_chart_references/5 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-75"
Content-Length: 57
Content-Type: application/json
Host: network.pivotal.io


{
  "helm_chart_reference": {
    "description": "my description"
  }
}

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 171
Content-Type: application/json; charset=utf-8
ETag: W/"c1914b29bc4d13fe138ae7e6993de7be"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_reference": {
    "id": 5,
    "name": "helm_chart reference name #3",
    "version": "helm version #3",
    "description": "my description",
    "docs_url": null,
    "system_requirements": [

    ]
  }
}

DELETE /api/v2/products/:product_slug/helm_chart_references/:id

  • Deletes the specified helm chart reference
    • returns 200 if the helm chart reference is deleted
    • returns 401 if the user could not be authenticated
    • returns 403 if the user does not have access to delete this helm chart reference
    • returns 404 if the product or the helm chart reference cannot be found
    • returns 409 if the helm chart reference is associated with a release in All Users availability
  • Authentication required
  • This endpoint is only available for admins. Please use Release Helm Chart References endpoint instead

Example

Curl


curl -X DELETE https://network.pivotal.io/api/v2/products/product-62/helm_chart_references/6 -H "Authorization: Bearer access_token" 

Request


DELETE /api/v2/products/product-62/helm_chart_references/6 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-76"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 159
Content-Type: application/json; charset=utf-8
ETag: W/"795deb6a4cfdad2a3bedc039f18b7a63"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_reference": {
    "id": 6,
    "name": "helm_chart reference name #4",
    "version": "helm version #4",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ]
  }
}

GET /api/v2/products/:product_slug/releases/:release_id/helm_chart_references

  • List helm chart references associated with the specified release
    • returns 200 if the release is found
    • returns 401 if user could not be authenticated
    • returns 404 if the product or release cannot be found
  • Authentication optional, but required to view releases not available to public

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-64/releases/64/helm_chart_references -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-64/releases/64/helm_chart_references HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-77"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 177
Content-Type: application/json; charset=utf-8
ETag: W/"1a0f155f8b4449fb901ff566e8780278"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_references": [
    {
      "id": 7,
      "name": "helm_chart reference name #5",
      "version": "helm version #5"
    },
    {
      "id": 8,
      "name": "helm_chart reference name #6",
      "version": "helm version #6"
    }
  ]
}

GET /api/v2/products/:product_slug/releases/:release_id/helm_chart_references/:id

  • Show a helm chart reference for a product's release
    • returns 200 if the helm chart reference is found
    • returns 401 if the user could not be authenticated
    • returns 403 if the user is not permissioned to view the helm chart reference
    • returns 404 if the product, release, or the helm chart reference cannot be found
  • Authentication required

Example

Curl


curl -X GET https://network.pivotal.io/api/v2/products/product-65/releases/65/helm_chart_references/9 -H "Authorization: Bearer access_token" 

Request


GET /api/v2/products/product-65/releases/65/helm_chart_references/9 HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-78"
Content-Length: 0
Content-Type: application/json
Host: network.pivotal.io

Response


HTTP/1.1 200
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 159
Content-Type: application/json; charset=utf-8
ETag: W/"b33d3034ccba481f8cf98630b21d4865"
Referrer-Policy: strict-origin-when-cross-origin
Vary: Accept-Encoding
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none


{
  "helm_chart_reference": {
    "id": 9,
    "name": "helm_chart reference name #7",
    "version": "helm version #7",
    "description": null,
    "docs_url": null,
    "system_requirements": [

    ]
  }
}

PATCH /api/v2/products/:product_slug/releases/:release_id/add_helm_chart_reference

  • Associates a helm chart reference with the specified release
  • Required fields: helm_chart_reference
    • returns 204 if the helm chart reference is successfully associated
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or helm chart reference cannot be found
    • returns 409 if the release is in All Users availability
    • returns 422 error associating the helm chart reference
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-66/releases/66/add_helm_chart_reference -H "Authorization: Bearer access_token" -d '{"helm_chart_reference":{"id":10}}'

Request


PATCH /api/v2/products/product-66/releases/66/add_helm_chart_reference HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-79"
Content-Length: 34
Content-Type: application/json
Host: network.pivotal.io


{
  "helm_chart_reference": {
    "id": 10
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none

PATCH /api/v2/products/:product_slug/releases/:release_id/remove_helm_chart_reference

  • Removes a helm chart reference from the specified release
  • Required fields: helm_chart_reference
    • returns 204 if the helm chart reference is removed
    • returns 400 if there is a missing required field in the request payload
    • returns 401 if user could not be authenticated
    • returns 403 if user does not have access to modify this release
    • returns 404 if the product, release, or helm chart reference cannot be found
    • returns 409 if the release is in All Users availability
  • Authorization: user api token

Example

Curl


curl -X PATCH https://network.pivotal.io/api/v2/products/product-67/releases/67/remove_helm_chart_reference -H "Authorization: Bearer access_token" -d '{"helm_chart_reference":{"id":11}}'

Request


PATCH /api/v2/products/product-67/releases/67/remove_helm_chart_reference HTTP/1.1
Accept: application/json
Authorization: Token token="api-token-80"
Content-Length: 34
Content-Type: application/json
Host: network.pivotal.io


{
  "helm_chart_reference": {
    "id": 11
  }
}

Response


HTTP/1.1 204
Cache-Control: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Warning: 299 - "Static Pivnet API tokens deprecated. https://network.pivotal.io/docs/api#how-to-authenticate for new UAA API Token mechanism."
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none