API Documentation

This document is a work in progress and your opinion helps us to improve. Please let us know what we can do better. Thanks! support@procurios.com

Registration

The registration API allows clients to register new relations in the Procurios CRM. Relations have only a few default fields; most fields are dynamically configured. Not all of those fields are always exposed. For different situations, different combinations of fields may be useful. These configurations are called registration sets and all calls to the registration api must go through one of these sets. Call the schema method in order to figure out which fields are available. Several different registration sets may be available to you, depending on the allowed scopes and requested scopes. The methods below use example values such as 42, 99 and username42. You can request the set of registration sets that are available to you and use the id of one of the sets for further API calls.

Accept header for requests to Registration

application/vnd.procurios.profile+json; version=1

Registration set GET

URL: /l/profile_api/registrationset

Scope:

Last used: Never

Get the registration sets that are available to your access token

Live testing disabled

Registration set

Request

json

Response

jsonStatus: 200
{
    "registrationSet": [
        {
            "id": 42,
            "title": "Demo registration set"
        }
    ]
}

Schema GET

URL: /l/profile_api/registrationset/42/schema

Scope:

Last used: Never

Get the current schema for the API for the requested registration set. The exact fields in the response will change with the configuration of the registration set.

Live testing disabled

Schema

Request

json

Response

jsonStatus: 200
{
    "$schema": "http:\\\/\\\/json-schema.org\\\/draft-07\\\/schema#",
    "title": "Demo registration set",
    "type": "object",
    "properties": {
        "first_name": {
            "title": "First name",
            "type": "string"
        },
        "insertion": {
            "title": "Insertion",
            "type": "string"
        },
        "name": {
            "title": "Name",
            "type": "string"
        },
        "birth_date": {
            "title": "Birth date",
            "type": "date"
        },
        "address": {
            "title": "Address",
            "type": "object",
            "properties": {
                "street": {
                    "type": "string",
                    "title": "Street"
                },
                "number": {
                    "type": "integer",
                    "title": "Number"
                },
                "number_add": {
                    "type": "string",
                    "title": "Addition"
                },
                "postcode": {
                    "type": "string",
                    "title": "ZIP code"
                },
                "town": {
                    "type": "string",
                    "title": "Town"
                },
                "country": {
                    "type": "string",
                    "minimum": 2,
                    "maximum": 2,
                    "title": "Country"
                }
            }
        },
        "action_code": {
            "title": "Entered via action",
            "type": "integer"
        }
    },
    "required": [
        "name",
        "address"
    ]
}

Registration POST

URL: /l/profile_api/registrationset/42/registration

Scope:

Last used: Never

Create a new registration

Live testing disabled

Registration

Request

json
{
    "name": "Test name",
    "address": [
        "Fortweg",
        9,
        "",
        "3992LX",
        "Houten",
        "NL"
    ]
}

Response

jsonStatus: 200
{
    "registrationId": 123
}

Registration GET

URL: /l/profile_api/registrationset/42/registration/99

Scope:

Last used: Never

Get a single registration

Live testing disabled

The registration is not yet complete and a relationId is not yet available

Registration

Request

Response

Status: 404

The registration is complete and the relationId is available

Registration

Request

json

Response

jsonStatus: 200
{
    "registrationId": 99,
    "relationId": 997234
}

Validate POST

URL: /l/profile_api/registrationset/42/validate

Scope:

Last used: Never

Validate your call without causing changes. Intended for forms with multiple pages.

Live testing disabled

Validate

Request

{
    "name": "Test name",
    "address": [
        "Fortweg",
        9,
        "",
        "3992LX",
        "Houten",
        "NL"
    ]
}

Response

Status: 200

Validate

Request

json
{
    "name": "Test name"
}

Response

jsonStatus: 400
{
    "page": 1,
    "errors": {
        "address": "Dit veld is verplicht"
    }
}

Is username available GET

URL: /l/profile_api/isusernameavailable/username42

Scope:

Last used: Never

Checks whether a username is available

Live testing disabled

Is username available

Request

json

Response

jsonStatus: 200
{
    "isAvailable": true
}