Utilities

GET /endpoints

Requires authentication with server access token.

Get a list with descriptions of all endpoints.

You can also fetch information about a single endpoint, but this is merely a network efficiency feature. The exact same information is provided (i.e., there are no further details than what's available from the full listing), but the payload is much smaller than fetching the whole listing.

See also

Help us improve

Did you spot an error? Or maybe you just have a suggestion for how we can improve? Leave us a comment.

Request

GET /api/2/endpoints

name

optional

The name of the endpoint (see the full endpoint listing for names)

url

optional

The url of the endpoint to describe (see the full endpoint listing for names)

Example request

cURL
Minimal example
curl https://login.schibsted.com/api/2/endpoints -G \
   -d "oauth_token=[access token]"
With all parameters
curl https://login.schibsted.com/api/2/endpoints -G \
   -d "oauth_token=[access token]" \
   -d "name=John Doe" \
   -d "url=http://example.com"
Java
Minimal example
SpidOAuthToken token = spidClient.getServerToken();
String responseJSON = spidClient.
    GET(token, "/endpoints").
    getResponseBody();
With all parameters
Map<String, String> params = new HashMap<>() {{
    put("name", "John Doe");,
    put("url", "http://example.com");
}};

SpidOAuthToken token = spidClient.getServerToken();
String responseJSON = spidClient.
    GET(token, "/endpoints", params).
    getResponseBody();

This example is an excerpt, see a full example

PHP
Minimal example
<?php
$client->auth();
echo var_dump($client->api("/endpoints"));
With all parameters
<?php
$params = array(
    "name" => "John Doe",
    "url" => "http://example.com"
);

$client->auth();
echo var_dump($client->api("/endpoints", $params));

This example is an excerpt, see a full example

Clojure
Minimal example
(ns example
  (:require [spid-client-clojure.core :as spid]))

(let [client (spid/create-client "[client-id]" "[secret]")
      token (spid/create-server-token client)]
  (spid/GET client token "/endpoints"))
With all parameters
(ns example
  (:require [spid-client-clojure.core :as spid]))

(let [client (spid/create-client "[client-id]" "[secret]")
      token (spid/create-server-token client)]
  (spid/GET client token "/endpoints" {"name" "John Doe"
                                       "url" "http://example.com"}))

Response

This endpoint supports the JSON and JSON-P response formats.

Success: 200 OK

A list of endpoint objects

Endpoint

Endpoint description. Provides information about the API itself. Most of this information is displayed in the API documentation you are now reading.

category

list of strings

The service and API this endpoint is categorized under.

name

string

Human-readable name of endpoint.

path

string

The API-relative path, e.g. without the leading /api/2

pathParameters

list of strings

A list of parameters used in the path

method

string

Allowable methods, GET, POST, DELETE or '*', e.g. multiple methods. See http-methods for details.

url

string

The full absolute path to this endpoint.

valid_output_formats

string

Possible ouput formats. Use by sending format=[name] as a request parameter.

default_output_format

string

The default output format, typically json.

parameterDescriptions

object

An object with parameter docstrings. The property names of this object are names of either request parameters or path parameters, and the value is a description of the parameter's purpose.

alias

object

Some parameters have aliases; names that may be used in their place. The property names in this object are parameter names and the value denotes which parameter it will map to. "id": "user_id" means that id is an alternative way to provide the user_id parameter.

deprecated

string

If deprecated, this string will indicate from which version it was deprecated.

httpMethods

HTTP method

Details about the supported HTTP methods with their purpose and possible outcomes.

controller

string

The server-side controller. Should be ignored.

description

string

The check mark indicates that the field always contains a valid non-empty value.

HTTP method

A supported endpoint action

name

string

The HTTP method (only GET, POST and DELETE are used by the API)

optional

list of strings

A list of optional request parameters.

required

list of strings

A list of required request parameters.

responses

list of Endpoint responses

A list of possible outcomes of taking this action.

filters

list of strings

Supported filters.

defaultFilters

list of strings

Default filters.

accessTokenTypes

list of strings

Supported token types. May be server, user or both. If both, then this action may be taken with either access token type.

The check mark indicates that the field always contains a valid non-empty value.

Endpoint response

A possible response from the API

status

integer

The HTTP response code

description

string

A description of what this response signifies, and in which cases it may arise

type

string

The symbolic name of the formal type returned as data for this endpoint. The type definition is defined in the API documentation.

The check mark indicates that the field always contains a valid non-empty value.

Failure cases

Some HTTP response codes are used for multiple error situations. There is no consistent way to tell these apart, but the error object will contain a textual explanation of the reason for the error. For explanation on OAuth related failures and errors see OAuth authentication failures.

  • 400 Bad Request url parameter did not match any endpoints
  • 400 Bad Request name parameter did not match any endpoints
  • 401 Unauthorized You don't have administration rights for this client.
  • 401 Unauthorized Your client doesn't have administration rights for this client.
  • 403 Forbidden Client is not authorized to access this API endpoint. Contact SPiD to request access.
  • 403 Forbidden Requesting IP is not whitelisted
  • 403 Forbidden Access token rejected
  • 404 Not Found Unknown client ID
  • 404 Not Found Client ID mismatch. The client making the request is no the owner of this resource, and does not have administrative privileges for it.
  • 420 Request Ratelimit exceeded

Sample response

JSON
[
  {
    "path": "endpoints",
    "valid_output_formats": [
      "json"
    ],
    "method": "GET",
    "name": "Utility:endpoints",
    "httpMethods": {
      "GET": {
        "name": "GET",
        "required": [],
        "optional": [
          "name"
        ]
      }
    },
    "url": "/api/2/endpoints",
    "pathParameters": [],
    "controller": "Api/2/Utility.endpoints",
    "default_output_format": "json",
    "description": "List all api endpoints, or get info on single endpoint (specify name or url)"
  }
]
JSON-P
callback([
  {
    "path": "endpoints",
    "valid_output_formats": [
      "json"
    ],
    "method": "GET",
    "name": "Utility:endpoints",
    "httpMethods": {
      "GET": {
        "name": "GET",
        "required": [],
        "optional": [
          "name"
        ]
      }
    },
    "url": "/api/2/endpoints",
    "pathParameters": [],
    "controller": "Api/2/Utility.endpoints",
    "default_output_format": "json",
    "description": "List all api endpoints, or get info on single endpoint (specify name or url)"
  }
]);

Comments/feedback

Do you have questions, or just want to contribute some newly gained insight? Want to share an example? Please leave a comment. SPiD reads and responds to every question. Additionally, your experience can help others using SPiD, and it can help us continuously improve our documentation.