Skip to content

Pims API

by pims.io

HTTP BasicHTTPSShopping
Open documentation ↗

Overview

Hereafter is the documentation of the private API of [Pims: Pointages Intelligents pour le Monde du Spectacle](https://pims.io). This API is designed for 3rd-party softwares, editors and partners. Its main purpose is to give access the core data of a Pims customer (i.e. events, ticket counts and promotions). ## Authentication The API uses [basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), meaning you will need a username and password to get authorized. As each customer in Pims has its own domain (e.g. caramba.pims.io, gdp.pims.io...), each credentials will be valid for one domain/customer only. If you need dedicated credentials for one domain, please contact us. (In any case, we will need an explicit agreement from the customer before we create these credentials.) <div class="info"> To make your life easy, you can try all endpoints with the public credentials below, pointing to our [demo domain](https://demo.pims.io): <ul> <li>Base path: `https://demo.pims.io/api`</li> <li>Username: `demo`</li> <li>Password: `q83792db2GCvgYVdKpU3yG3R`</li> </ul> </div> ## Response format The API returns JSON and matches the [HAL specification](http://stateless.co/hal_specification.html). The `Content-Type` of each response will be `application/hal+json`, unless an error occurs. Please note that this documentation describes all responses “as if” they were plain JSON. The specificities of HAL are ignored on purpose, in order to remain compact and avoid repetition. <div style="-webkit-column-count: 2; -moz-column-count: 2; column-count: 2; -webkit-column-rule: 1px dotted #e0e0e0; -moz-column-rule: 1px dotted #e0e0e0; column-rule: 1px dotted #e0e0e0;"> <div style="display: inline-block; width:100%;"> <strong>So when you read in the doc:</strong> <pre><code class="lang-json">{ <span class="token string">"id"</span>: <span class="token number">123</span>, <span class="token string">"property1"</span>: <span class="token string">"Lorem ipsum"</span>, <span class="token string">"object"</span>: { <span class="token string">"id"</span>: <span class="token number">456</span>, <span class="token string">"property2"</span>: <span class="token number">7.89</span> } }</code></pre> </div> <div style="display: inline-block; width:100%;"> <strong>... you'll get in the Real World®:</strong> <pre><code class="lang-json">{ <span class="token string">"id"</span>: <span class="token number">123</span>, <span class="token string">"property2"</span>: <span class="token string">"Lorem ipsum"</span>, <span class="token string">"_embedded"</span>: { <span class="token string">"object"</span>: { <span class="token string">"id"</span>: <span class="token number">456</span>, <span class="token string">"property2"</span>: <span class="token number">7.89</span>, <span class="token string">"_links"</span>: { <span class="token string">"self"</span>: { <span class="token string">"href"</span>: <span class="token string">"https://api.mydomain.com/other-item/456"</span> } } } } <span class="token string">"_links"</span>: { <span class="token string">"self"</span>: { <span class="token string">"href"</span>: <span class="token string">"https://api.mydomain.com/item/123"</span> } } }</code></pre> </div> </div> ### Errors Errors return JSON too and tries to match the [Problem Details for HTTP APIs specification](https://tools.ietf.org/html/rfc7807). If it does not match this spec, that's either a bug or a compatibility issue. Please contact us to solve the problem. The `Content-Type` of errors will be `application/problem+json`. The content will match the following JSON: ```json { "type": "https://tools.ietf.org/html/rfc2616#section-10", "title": "Not Found", "status": 404, "detail": "Entity not found" } ``` ## Versioning The API is fully versionned, using an URL-versioning scheme: `https://demo.pims.io/api/v1/events`, `https://demo.pims.io/api/v2/events`,... The version part of the URL is optional, and will be completed with the last stable v

Pims is a shopping API from pims.io. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 28 endpoints.

At a glance

Authentication
HTTP Basic
HTTPS
Yes
CORS
Unknown
Category
Shopping
Base URL
https://demo.pims.io/api/v1
Version
1.0
Endpoints
28
Spec updated
2018-08-24

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://demo.pims.io/api/v1/categories" \
  -H "Accept: application/json" \
  -H "Authorization: Basic BASE64_USER_PASSWORD"
JavaScript
const response = await fetch("https://demo.pims.io/api/v1/categories", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://demo.pims.io/api/v1/categories",
    headers={
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/categoriesFind all categories
GET/categories/{category_id}Get one category by ID
GET/channelsFind all channels
GET/channels/{channel_id}Get one channel by ID
GET/eventsFind all events
GET/events/{event_id}Get one event by ID
GET/events/{event_id}/capacitiesFind all capacities for one event
GET/events/{event_id}/capacities/{capacity_id}Get one capacity by ID
GET/events/{event_id}/categoriesFind all categories for one event
GET/events/{event_id}/categories/{category_id}Get one event category by ID
GET/events/{event_id}/channelsFind all channels for one event
GET/events/{event_id}/channels/{channel_id}Get one event channel by ID
GET/events/{event_id}/promotionsFind all promotions for one event
GET/events/{event_id}/ticket-countsFind all ticket counts for one event
GET/events/{event_id}/ticket-counts/detailedFind all detailed ticket counts for one event
GET/events/{event_id}/ticket-counts/detailed/{ticket_count_id}Get one detailed ticket count by ID
GET/events/{event_id}/ticket-counts/{ticket_count_id}Get one ticket count by ID
GET/price-rangesFind all price ranges
GET/price-ranges/{price_range_id}Get one price range by ID
GET/promotionsFind all promotions
GET/promotions/{promotion_id}Get one promotion by ID
GET/seriesFind all series
GET/series/{series_id}Get one series by ID
GET/series/{series_id}/eventsFind all events for one series
GET/series/{series_id}/promotionsFind all promotions for one series
GET/venuesFind all venues
GET/venues/{venue_id}Get one venue by ID
GET/venues/{venue_id}/eventsFind all events for one venue

Questions

Does the Pims API need an API key?

Yes. The Pims API uses HTTP Basic authentication; the documentation explains how to get credentials.

Does the Pims API support HTTPS?

Yes, the Pims API is served over HTTPS.

How many endpoints does the Pims API have?

Its OpenAPI description lists 28 endpoints in version 1.0. All of them are shown on this page.

What are alternatives to the Pims API?

Other Shopping APIs include Etsy, eBay, Flipkart Marketplace, Inventory Management, Intel Product Catalogue Service.

Compare alternatives →

Listed from APIs.guru (CC0).