Back to top

C-TIP API

Welcome the C-TIP API. This API provides access to your own GeoSpatial data and environment.

API Description

In this section we will go over the general calls and how to use the C-TIP API.

Login

When an account is created for you, you have access to a password and an email address. With this information you can obtain an API key.

Authentication is done based on JWT tokens that have an expiration time of 24 hours.

See the Authorization section for more information how to login to the API.

Authentication

Requesting any endpoint except the authentication will require you to send your token. This token will be given to you in the login response after a successful login, called ‘access_token’. Sending this token with any call can be done in two-ways. Either by Header or in the Query of an request.

Header

Use the following header to prove authorization of your request.

Authorization: Bearer vr5HmMkzlxKE70W1y4MibiJUusZwZC25NOVBEx3BD1

Notice Bearer has a capital B

Session

After login, the API remembers your session and to which tenant and to which tenant you are connected to. All calls are done on that specific tenant and network If you want to switch to another tenant and/or network, you have to change your session by setting the x-tenant and/or x-network header with the tenant id and/or the network id.

x-tenant: 1;
x-network: 1;

Authorization

Calls for authorizing with the api

Authorize

Login using credentials
POST/oauth/access_token

Login with user credentials and a tenant id.

Example URI

POST https://api.c-tip.com/v1/oauth/access_token
Request
HideShow
Body
{
  "client_id": 1,
  "client_secret": "c3ViIjoxLCJpc3MiOiJodHRwOlwvXC9kYy5kZXZcL3YxXC9",
  "grant_type": "password",
  "username": "user@rapide.software",
  "password": "password"
}
Schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID to connect to the API"
    },
    "client_secret": {
      "type": "string",
      "description": "Client Secret to connect to the API"
    },
    "grant_type": {
      "type": "string",
      "description": "Grant type to gain access to the API (Standard: password)"
    },
    "username": {
      "type": "string",
      "description": "Email address of user"
    },
    "password": {
      "type": "string",
      "description": "Password of user"
    }
  },
  "required": [
    "client_id",
    "client_secret",
    "grant_type",
    "username",
    "password"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0bnQiOiIxIiwic3ViIjoxLCJpc3MiOiJodHRwOlwvXC9kYy5kZXZcL3YxXC9hdXRoIiwiaWF0IjoxNDUwMjU3OTg3LCJleHAiOjE0NTAzNDQzODcsIm5iZiI6MTQ1MDI1Nzk4NywianRpIjoiZDY2NDRkNTRkZjQ1NTQ3Y2RhNDA3N2E4Yzk1ZTg5MzgifQ.XCUiCnttOxnVRV8wsbsCTVgWCDhVwVqo0CK",
      "tenant_id": 2,
      "username": "user@rapide.software",
      "user_id": 1,
      "permissions": {
        "data": [
          "index_object"
        ]
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

Actions

All calls for action management. Use the include query parameter to eager load related data. Available includes are actionStatus, comment, mapObjectType, mapObject, geoObject, attribute, actionPriority, dynamicActionType, actionImage, user, and product.

Action list

Get a list of actions

Get actions
GET/action{?perPage}{?include}{?sort}{?sortBy}{?range}{?deleted_at}{?onlyNotFinal}

Get a list of actions.

Example URI

GET https://api.c-tip.com/v1/action?perPage=25?include=mapObject?sort=id?sortBy=desc?range=1693456800?deleted_at=false?onlyNotFinal=false
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of actions to return

include
string (optional) Example: mapObject

Comma separated list of relations to embed in the response.

sort
string (optional) Example: id

Column to order by. Falls back to id when an unknown column is provided.

sortBy
string (optional) Example: desc

Sort direction.

Choices: asc desc

range
number (optional) Example: 1693456800

Only return actions that changed since this UNIX timestamp.

  • Alias: updated_at
deleted_at
boolean (optional) Example: false

When true, include soft deleted actions.

onlyNotFinal
boolean (optional) Example: false

When true, filter out actions that are in a final status.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "map_object_type_id": 2,
      "action_status_id": 3,
      "map_object_id": 7,
      "geo_object_id": 2,
      "dynamic_action_type_id": 9,
      "action_priority_id": 10,
      "created_by": 5,
      "device": "web",
      "network_id": 1,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new action
POST/action{?perPage}{?include}{?sort}{?sortBy}{?range}{?deleted_at}{?onlyNotFinal}

Create a new action with the required parameters.

New actions

New actions are coupled to your current tenant.

Example URI

POST https://api.c-tip.com/v1/action?perPage=25?include=mapObject?sort=id?sortBy=desc?range=1693456800?deleted_at=false?onlyNotFinal=false
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of actions to return

include
string (optional) Example: mapObject

Comma separated list of relations to embed in the response.

sort
string (optional) Example: id

Column to order by. Falls back to id when an unknown column is provided.

sortBy
string (optional) Example: desc

Sort direction.

Choices: asc desc

range
number (optional) Example: 1693456800

Only return actions that changed since this UNIX timestamp.

  • Alias: updated_at
deleted_at
boolean (optional) Example: false

When true, include soft deleted actions.

onlyNotFinal
boolean (optional) Example: false

When true, filter out actions that are in a final status.

Request
HideShow
Body
{
  "data": {
    "map_object_type_id": 2,
    "action_status_id": 3,
    "map_object_id": 7,
    "geo_object_id": 2,
    "dynamic_action_type_id": 9,
    "action_priority_id": 10
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "map_object_type_id": {
          "type": "number",
          "description": "Id of primary tenant"
        },
        "action_status_id": {
          "type": "number",
          "description": "Id of the current action status"
        },
        "map_object_id": {
          "type": "number",
          "description": "Id of the coupled map_object"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "dynamic_action_type_id": {
          "type": "number",
          "description": "Id of the dynamic action type"
        },
        "action_priority_id": {
          "type": "number",
          "description": "Id of the current priority"
        }
      },
      "required": [
        "map_object_type_id",
        "action_status_id",
        "dynamic_action_type_id",
        "action_priority_id"
      ]
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Action

Get a specific actions

Get Action
GET/action/{id}

Get a action.

Example URI

GET https://api.c-tip.com/v1/action/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific action

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "map_object_type_id": 2,
    "action_status_id": 3,
    "map_object_id": 7,
    "geo_object_id": 2,
    "dynamic_action_type_id": 9,
    "action_priority_id": 10,
    "created_by": 5,
    "device": "web",
    "network_id": 1,
    "created_at": 1449143207,
    "updated_at": 1449143207,
    "deleted_at": 0
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Action identifier"
        },
        "map_object_type_id": {
          "type": "number",
          "description": "Id of the related MapObjectType"
        },
        "action_status_id": {
          "type": "number",
          "description": "Id of the current action status"
        },
        "map_object_id": {
          "type": "number",
          "description": "Id of the coupled map_object"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "dynamic_action_type_id": {
          "type": "number",
          "description": "Id of the dynamic action type"
        },
        "action_priority_id": {
          "type": "number",
          "description": "Id of the current priority"
        },
        "created_by": {
          "type": "number",
          "description": "Id of the user that created the action"
        },
        "device": {
          "type": "string",
          "description": "Origin of the action"
        },
        "network_id": {
          "type": "number",
          "description": "Id of the network the action belongs to"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of action creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last action update"
        },
        "deleted_at": {
          "type": "number",
          "description": "Timestamp of deletion when the action is soft deleted"
        }
      }
    }
  }
}

Update an existing action
PUT/action/{id}

Update a action

Example URI

PUT https://api.c-tip.com/v1/action/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific action

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "action_status_id": 3,
    "geo_object_id": 2,
    "action_priority_id": 10
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Action identifier"
        },
        "action_status_id": {
          "type": "number",
          "description": "Id of the current action status"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "action_priority_id": {
          "type": "number",
          "description": "Id of the current priority"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json

Patch an existing action
PATCH/action/{id}

Patch a action

Example URI

PATCH https://api.c-tip.com/v1/action/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific action

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "action_status_id": 3,
    "geo_object_id": 2,
    "action_priority_id": 10
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Action identifier"
        },
        "action_status_id": {
          "type": "number",
          "description": "Id of the current action status"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "action_priority_id": {
          "type": "number",
          "description": "Id of the current priority"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json

Delete an existing action
DELETE/action/{id}

Delete a action

Example URI

DELETE https://api.c-tip.com/v1/action/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific action

Response  200
HideShow
Headers
Content-Type: application/json

MapObjects

All calls for MapObject management. By default the API embeds the geoObject and geoObjectMarker relations. Use the include query parameter to explicitly request extra relations from action, mapObjectType, mapObjectStatus, mapObjectImage, mapObjectSelection, attribute, product, children, parents, actionCount, mapObjectSelectionId, mapObjectLabel, createdBy, startPoint, and endPoint.

MapObject list

Get a list of MapObjects

Get MapObjects
GET/object{?perPage}{?include}{?map_object_type_id}{?name}{?label}{?parent_id}

Get a list of MapObjects.

Example URI

GET https://api.c-tip.com/v1/object?perPage=25?include=action?map_object_type_id=12?name=Bridge?label=A-120?parent_id=33
URI Parameters
HideShow
perPage
number (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: action

Option to get related data, multiple options are available by joining them with a ‘,’ in between (i.e. ‘attribute,action’). WARNING: this may increase loading times drastically

Choices: action mapObjectType mapObjectStatus mapObjectImage mapObjectSelection attribute actionCount children parents mapObjectSelectionId mapObjectLabel createdBy startPoint endPoint

map_object_type_id
number (optional) Example: 12

Filter the result set on a specific type

name
string (optional) Example: Bridge

Filter on (partial) name matches, use % as wildcard

label
string (optional) Example: A-120

Filter on the configured label value

parent_id
number (optional) Example: 33

Limit the search to children of a specific map object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new MapObject
POST/object{?perPage}{?include}{?map_object_type_id}{?name}{?label}{?parent_id}

Create a new MapObject with the required parameters.

Example URI

POST https://api.c-tip.com/v1/object?perPage=25?include=action?map_object_type_id=12?name=Bridge?label=A-120?parent_id=33
URI Parameters
HideShow
perPage
number (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: action

Option to get related data, multiple options are available by joining them with a ‘,’ in between (i.e. ‘attribute,action’). WARNING: this may increase loading times drastically

Choices: action mapObjectType mapObjectStatus mapObjectImage mapObjectSelection attribute actionCount children parents mapObjectSelectionId mapObjectLabel createdBy startPoint endPoint

map_object_type_id
number (optional) Example: 12

Filter the result set on a specific type

name
string (optional) Example: Bridge

Filter on (partial) name matches, use % as wildcard

label
string (optional) Example: A-120

Filter on the configured label value

parent_id
number (optional) Example: 33

Limit the search to children of a specific map object

Request
HideShow
Body
{
  "data": {
    "name": "Bord",
    "parent_id": 2,
    "map_object_type_id": 3,
    "geo_object_id": 4,
    "map_object_status_id": 5
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the object"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent object"
        },
        "map_object_type_id": {
          "type": "number",
          "description": "Id of the object type"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of of the location object"
        },
        "map_object_status_id": {
          "type": "number",
          "description": "Id of the current status"
        }
      }
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

MapObject

Get a specific objects

Get MapObject
GET/object/{id}

Get a MapObject.

Example URI

GET https://api.c-tip.com/v1/object/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "parent_id": 2,
    "relation_id": 355,
    "map_object_type_id": 3,
    "geo_object_id": 4,
    "map_object_status_id": 5,
    "is_obstructed": false,
    "network_id": 73,
    "created_by": 14,
    "created_at": 1449143207,
    "updated_at": 1449143207,
    "deleted_at": 0,
    "geoObject": {
      "data": {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": []
        },
        "properties": {
          "road": "AbcStreet",
          "house_number": "12",
          "city_district": "AbcDistrict",
          "city": "AbcCity",
          "postcode": "1234 AB",
          "country_code": 528,
          "length": 1000,
          "start_point": 123,
          "end_point": 123,
          "area": 1000
        },
        "id": 1
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObject identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the object"
        },
        "parent_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "Id of parent object"
        },
        "relation_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "Reference id used to keep track of splits and merges"
        },
        "map_object_type_id": {
          "type": "number",
          "description": "Id of the object type"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of of the location object"
        },
        "map_object_status_id": {
          "type": "number",
          "description": "Id of the current status"
        },
        "is_obstructed": {
          "type": "boolean",
          "description": "Indicates whether there are active obstructions on the object"
        },
        "network_id": {
          "type": "number",
          "description": "Id of the owning network"
        },
        "created_by": {
          "type": "number",
          "description": "User id of the creator"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of object creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last object update"
        },
        "deleted_at": {
          "type": "number",
          "description": "Timestamp of deletion when the object is soft deleted"
        },
        "geoObject": {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Type of format"
                },
                "geometry": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Type of geometry object"
                    },
                    "coordinates": {
                      "description": "Array of coordinates"
                    }
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "road": {
                      "type": "string",
                      "description": "Road of the GeoObject"
                    },
                    "house_number": {
                      "type": "string",
                      "description": "House number of the GeoObject"
                    },
                    "city_district": {
                      "type": "string",
                      "description": "City district of the GeoObject"
                    },
                    "city": {
                      "type": "string",
                      "description": "City of the GeoObject"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "Postcode of the GeoObject"
                    },
                    "country_code": {
                      "type": "number",
                      "description": "Country Code of the GeoObject"
                    },
                    "length": {
                      "type": "number",
                      "description": "Length of the GeoObject (Only for LineStrings)"
                    },
                    "start_point": {
                      "type": "number",
                      "description": "MapObjectId of startpoint of the GeoObject (Only for LineStrings)"
                    },
                    "end_point": {
                      "type": "number",
                      "description": "MapObjectId of endpoint of the GeoObject (Only for LineStrings)"
                    },
                    "area": {
                      "type": "number",
                      "description": "Area of the GeoObject (Only for Polygons)"
                    }
                  },
                  "description": "Object with properties of object"
                },
                "id": {
                  "type": "number",
                  "description": "Id of geoObject"
                }
              }
            }
          },
          "description": "Embedded by default"
        }
      }
    }
  }
}

Update an existing MapObject
PUT/object/{id}

Update a MapObject

Example URI

PUT https://api.c-tip.com/v1/object/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "parent_id": 3,
    "map_object_status_id": 5
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObject identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the object"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent object"
        },
        "map_object_status_id": {
          "type": "number",
          "description": "Id of the current status"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing MapObject
PATCH/object/{id}

Patch a MapObject

Example URI

PATCH https://api.c-tip.com/v1/object/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "parent_id": 3,
    "map_object_status_id": 5
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObject identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the object"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent object"
        },
        "map_object_status_id": {
          "type": "number",
          "description": "Id of the current status"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing MapObject
DELETE/object/{id}

Delete a MapObject

Example URI

DELETE https://api.c-tip.com/v1/object/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Deleted MapObject

Retrieve the soft deleted version of a map object.

Get deleted MapObject
GET/object/{id}/deleted

Example URI

GET https://api.c-tip.com/v1/object/1/deleted
URI Parameters
HideShow
id
integer (required) Example: 1

Id of the deleted object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "parent_id": 2,
    "relation_id": 355,
    "map_object_type_id": 3,
    "geo_object_id": 4,
    "map_object_status_id": 5,
    "is_obstructed": false,
    "network_id": 73,
    "created_by": 14,
    "created_at": 1449143207,
    "updated_at": 1449143207,
    "deleted_at": 0,
    "geoObject": {
      "data": {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": []
        },
        "properties": {
          "road": "AbcStreet",
          "house_number": "12",
          "city_district": "AbcDistrict",
          "city": "AbcCity",
          "postcode": "1234 AB",
          "country_code": 528,
          "length": 1000,
          "start_point": 123,
          "end_point": 123,
          "area": 1000
        },
        "id": 1
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObject identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the object"
        },
        "parent_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "Id of parent object"
        },
        "relation_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "Reference id used to keep track of splits and merges"
        },
        "map_object_type_id": {
          "type": "number",
          "description": "Id of the object type"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of of the location object"
        },
        "map_object_status_id": {
          "type": "number",
          "description": "Id of the current status"
        },
        "is_obstructed": {
          "type": "boolean",
          "description": "Indicates whether there are active obstructions on the object"
        },
        "network_id": {
          "type": "number",
          "description": "Id of the owning network"
        },
        "created_by": {
          "type": "number",
          "description": "User id of the creator"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of object creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last object update"
        },
        "deleted_at": {
          "type": "number",
          "description": "Timestamp of deletion when the object is soft deleted"
        },
        "geoObject": {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Type of format"
                },
                "geometry": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Type of geometry object"
                    },
                    "coordinates": {
                      "description": "Array of coordinates"
                    }
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "road": {
                      "type": "string",
                      "description": "Road of the GeoObject"
                    },
                    "house_number": {
                      "type": "string",
                      "description": "House number of the GeoObject"
                    },
                    "city_district": {
                      "type": "string",
                      "description": "City district of the GeoObject"
                    },
                    "city": {
                      "type": "string",
                      "description": "City of the GeoObject"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "Postcode of the GeoObject"
                    },
                    "country_code": {
                      "type": "number",
                      "description": "Country Code of the GeoObject"
                    },
                    "length": {
                      "type": "number",
                      "description": "Length of the GeoObject (Only for LineStrings)"
                    },
                    "start_point": {
                      "type": "number",
                      "description": "MapObjectId of startpoint of the GeoObject (Only for LineStrings)"
                    },
                    "end_point": {
                      "type": "number",
                      "description": "MapObjectId of endpoint of the GeoObject (Only for LineStrings)"
                    },
                    "area": {
                      "type": "number",
                      "description": "Area of the GeoObject (Only for Polygons)"
                    }
                  },
                  "description": "Object with properties of object"
                },
                "id": {
                  "type": "number",
                  "description": "Id of geoObject"
                }
              }
            }
          },
          "description": "Embedded by default"
        }
      }
    }
  }
}

Find MapObjects

Search for map objects by specifying one or more attribute/value combinations.

Find by single query block
POST/object/find

Example URI

POST https://api.c-tip.com/v1/object/find
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "query": {
      "all": "%Groningen%",
      "name": "A1234",
      "label": "A1234",
      "map_object_type_id": 17,
      "geoObject": "Hello, world!"
    },
    "operator": "=",
    "limit": 25
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "query": {
          "type": "object",
          "properties": {
            "all": {
              "type": "string",
              "description": "Search simultaneously in the name, label, and address fields"
            },
            "name": {
              "type": "string",
              "description": "Filter map objects by name"
            },
            "label": {
              "type": "string",
              "description": "Filter map objects by label"
            },
            "map_object_type_id": {
              "type": "number",
              "description": "Filter on a specific type id"
            },
            "geoObject": {
              "type": "string",
              "description": "city_district: `Centrum` (string, optional) - Filter on the city district column of the related GeoObject"
            }
          },
          "description": "Key/value combinations to search for"
        },
        "operator": {
          "type": "string",
          "enum": [
            "=",
            "!=",
            ">",
            "<",
            ">=",
            "<=",
            "LIKE",
            "ILIKE"
          ],
          "description": "Operator that should be used for every key in the query"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of objects to return (hard limited by `dc.search.limit`)"
        }
      },
      "required": [
        "query"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

Find by chained query blocks
POST/object/find

Example URI

POST https://api.c-tip.com/v1/object/find
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "queries": [
      {
        "query": {
          "all": "%Groningen%",
          "name": "A1234",
          "label": "A1234",
          "map_object_type_id": 17,
          "geoObject": "Hello, world!"
        },
        "operator": "=",
        "limit": 25
      }
    ],
    "limit": 25
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "queries": {
          "type": "array",
          "description": "An ordered list of query blocks, each with its own operator and `query` object"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of objects to return (hard limited by `dc.search.limit`)"
        }
      },
      "required": [
        "queries"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

MapObject name suggestions

Use the configured prefix of a MapObjectType to calculate the next available name.

Suggest the next name
GET/object/new-name/{mapObjectTypeId}

Example URI

GET https://api.c-tip.com/v1/object/new-name/14
URI Parameters
HideShow
mapObjectTypeId
integer (required) Example: 14

Id of the MapObjectType that defines the prefix

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "name": "OBJ1100"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Suggested name for the next object of the provided type"
        }
      }
    }
  }
}

Split a MapObject

Split a LineString map object into two objects by inserting a coordinate.

Split a LineString
POST/object/{mapObjectId}/split

Example URI

POST https://api.c-tip.com/v1/object/10/split
URI Parameters
HideShow
mapObjectId
integer (required) Example: 10

Id of the map object to split

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "coordinateIndex": 5,
    "name": "Section B",
    "map_object_type_id": 12
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "coordinateIndex": {
          "type": "number",
          "description": "Index of the coordinate (starting at zero) where the split should happen"
        },
        "name": {
          "type": "string",
          "description": "Name of the new map object that is created by splitting"
        },
        "map_object_type_id": {
          "type": "number",
          "description": "Type id of the new map object"
        }
      },
      "required": [
        "coordinateIndex",
        "name",
        "map_object_type_id"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

Bulk create MapObjects

Create multiple map objects in a single request. Every item must omit the id field.

Bulk store
POST/object/bulk

Example URI

POST https://api.c-tip.com/v1/object/bulk
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "name": "Bord",
      "parent_id": 2,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Bulk update MapObjects

Update a set of map objects by passing an ids array and a single update block that contains the changes.

Bulk update
PUT/object/bulk

Example URI

PUT https://api.c-tip.com/v1/object/bulk
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "ids": [
      1,
      2,
      1
    ],
    "update": {
      "id": 1,
      "name": "Bord",
      "parent_id": 3,
      "map_object_status_id": 5
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "ids": {
          "type": "array",
          "description": "The ids that will be updated"
        },
        "update": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "MapObject identifier"
            },
            "name": {
              "type": "string",
              "description": "Name of the object"
            },
            "parent_id": {
              "type": "number",
              "description": "Id of parent object"
            },
            "map_object_status_id": {
              "type": "number",
              "description": "Id of the current status"
            }
          },
          "description": "The changes that should be applied to every provided id"
        }
      },
      "required": [
        "ids",
        "update"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Bulk delete MapObjects

Delete multiple map objects at once. When the remove_actions query parameter is set, their actions are deleted as well.

Bulk delete
POST/object/bulk/delete

Example URI

POST https://api.c-tip.com/v1/object/bulk/delete
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    1
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

MapObject actions

Get the actions that belong to the provided map object. When nested=true all descendant map objects are traversed as well.

Get MapObject actions
GET/object/{mapObjectId}/action{?nested}{?sort}{?sortBy}{?range}{?deleted_at}{?onlyNotFinal}

Example URI

GET https://api.c-tip.com/v1/object/1/action?nested=false?sort=created_at?sortBy=desc?range=1693456800?deleted_at=false?onlyNotFinal=false
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of the map object

nested
boolean (optional) Example: false

When true also include actions that belong to children of the map object

sort
string (optional) Example: created_at

Column to order the result set by

sortBy
string (optional) Example: desc

Sort direction (asc or desc)

range
number (optional) Example: 1693456800

Only return actions updated since the provided UNIX timestamp

deleted_at
boolean (optional) Example: false

Include soft deleted actions

onlyNotFinal
boolean (optional) Example: false

Filter out actions that have a final status

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "map_object_type_id": 2,
      "action_status_id": 3,
      "map_object_id": 7,
      "geo_object_id": 2,
      "dynamic_action_type_id": 9,
      "action_priority_id": 10,
      "created_by": 5,
      "device": "web",
      "network_id": 1,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

MapObjectImages

All calls for mapObject image management

MapObjectImage list

Get a list of mapObject images

Get mapObject images
GET/object/{mapObjectId}/image{?perPage}

Get a list of mapObject images.

Example URI

GET https://api.c-tip.com/v1/object/1/image?perPage=25
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

perPage
integer (optional) Default: 15 Example: 25

The maximum number of mapObject images to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "map_object_id": 2,
      "resource": "F34xfds",
      "path": "mapobjects/2/F34xfds.jpg",
      "link": "https://cdn.c-tip.com/mapobjects/2/F34xfds.jpg",
      "title": "Nice picture"
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new mapObject image
POST/object/{mapObjectId}/image{?perPage}

Create a new mapObject image with the required parameters.

Example URI

POST https://api.c-tip.com/v1/object/1/image?perPage=25
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

perPage
integer (optional) Default: 15 Example: 25

The maximum number of mapObject images to return

Request
HideShow
Headers
Content-Type: multipart/form-data; boundary=---BOUNDARY
Content-Length: $requestlen
Body
---BOUNDARY
content-disposition: form-data; name="name"

Title

---BOUNDARY
content-disposition: form-data; name="image"; filename="$filename"
Content-Type: $mimetype
Content-Transfer-Encoding: binary

$binarydata
---BOUNDARY
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

MapObjectImage

Get a specific mapObject images

Get MapObjectImage
GET/object/{mapObjectId}/image/{id}

Get a mapObject image.

Example URI

GET https://api.c-tip.com/v1/object/1/image/1
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

id
integer (required) Example: 1

Id of a specific mapObject image

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "map_object_id": 2,
    "resource": "F34xfds",
    "path": "mapobjects/2/F34xfds.jpg",
    "link": "https://cdn.c-tip.com/mapobjects/2/F34xfds.jpg",
    "title": "Nice picture"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObjectImage identifier"
        },
        "map_object_id": {
          "type": "number",
          "description": "Id of coupled mapObject"
        },
        "resource": {
          "type": "string",
          "description": "Resource key used inside storage"
        },
        "path": {
          "type": "string",
          "description": "Relative storage path"
        },
        "link": {
          "type": "string",
          "description": "Public URL to download the file"
        },
        "title": {
          "type": "string",
          "description": "Title of the image"
        }
      }
    }
  }
}

Update an existing mapObject image
PUT/object/{mapObjectId}/image/{id}

Update a mapObject image

Example URI

PUT https://api.c-tip.com/v1/object/1/image/1
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

id
integer (required) Example: 1

Id of a specific mapObject image

Request
HideShow
Body
{
  "title": "Nice picture"
}
Schema
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Title of the image"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing mapObject image
PATCH/object/{mapObjectId}/image/{id}

Patch a mapObject image

Example URI

PATCH https://api.c-tip.com/v1/object/1/image/1
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

id
integer (required) Example: 1

Id of a specific mapObject image

Request
HideShow
Body
{
  "title": "Nice picture"
}
Schema
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Title of the image"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing mapObject image
DELETE/object/{mapObjectId}/image/{id}

Delete a mapObject image

Example URI

DELETE https://api.c-tip.com/v1/object/1/image/1
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of an mapObject

id
integer (required) Example: 1

Id of a specific mapObject image

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Copy mapObject images

Copy all images of one map object to another map object. Existing images on the target object remain untouched.

Copy all images
POST/object/{mapObjectId}/image/copy/{targetMapObjectId}

Example URI

POST https://api.c-tip.com/v1/object/1/image/copy/2
URI Parameters
HideShow
mapObjectId
integer (required) Example: 1

Id of the source map object

targetMapObjectId
integer (required) Example: 2

Id of the destination map object

Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

MapObjectTypes

All calls for mapObjectType management

MapObjectType list

Get a list of mapObjectTypes

Get mapObjectTypes
GET/type{?perPage}

Get a list of mapObjectTypes.

Example URI

GET https://api.c-tip.com/v1/type?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Network",
      "description": "Root node network",
      "map_object_category_id": 1,
      "created_at": 1449143207,
      "updated_at": 1449143207
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new mapObjectType
POST/type{?perPage}

Create a new mapObjectType with the required parameters.

Example URI

POST https://api.c-tip.com/v1/type?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

Request
HideShow
Body
{
  "data": {
    "name": "Network",
    "description": "Root node network",
    "map_object_category_id": 1
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the mapObjectType"
        },
        "description": {
          "type": "string",
          "description": "Description of the mapObjectType"
        },
        "map_object_category_id": {
          "type": "number",
          "description": "Id of the mapObjectCategory the mapObjectType belongs to"
        }
      }
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

MapObjectType

Get a specific mapObjectType

Get MapObjectType
GET/type/{id}

Get a mapObjectType.

Example URI

GET https://api.c-tip.com/v1/type/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific mapObjectType

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "name": "Network",
    "description": "Root node network",
    "map_object_category_id": 1,
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObjectType identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the mapObjectType"
        },
        "description": {
          "type": "string",
          "description": "Description of the mapObjectType"
        },
        "map_object_category_id": {
          "type": "number",
          "description": "Id of the mapObjectCategory the mapObjectType belongs to"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of user creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last user update"
        }
      }
    }
  }
}

Update an existing mapObjectType
PUT/type/{id}

Update a mapObjectType

Example URI

PUT https://api.c-tip.com/v1/type/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific mapObjectType

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Network",
    "description": "Root node network",
    "map_object_category_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObjectType identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the mapObjectType"
        },
        "description": {
          "type": "string",
          "description": "Description of the mapObjectType"
        },
        "map_object_category_id": {
          "type": "number",
          "description": "Id of the mapObjectCategory the mapObjectType belongs to"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing mapObjectType
PATCH/type/{id}

Patch a mapObjectType

Example URI

PATCH https://api.c-tip.com/v1/type/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific mapObjectType

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Network",
    "description": "Root node network",
    "map_object_category_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "MapObjectType identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the mapObjectType"
        },
        "description": {
          "type": "string",
          "description": "Description of the mapObjectType"
        },
        "map_object_category_id": {
          "type": "number",
          "description": "Id of the mapObjectCategory the mapObjectType belongs to"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing mapObjectType
DELETE/type/{id}

Delete a mapObjectType

Example URI

DELETE https://api.c-tip.com/v1/type/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific mapObjectType

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Network

All calls for Network management. By default every response embeds the geoObject and role relations. Use the include parameter to also fetch mapObject, tenant, user, topActionStatus, and actionCount.

Network list

Get a list of Networks

Get Networks
GET/network{?perPage}{?include}

Get a list of Networks.

Example URI

GET https://api.c-tip.com/v1/network?perPage=25?include=mapObject
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "FKP Groningen",
      "geo_object_id": 4,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      },
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new Network
POST/network{?perPage}{?include}

Create a new Network with the required parameters.

Example URI

POST https://api.c-tip.com/v1/network?perPage=25?include=mapObject
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Request
HideShow
Body
{
  "data": {
    "name": "Bord",
    "geo_object_id": 4,
    "add_standard_objects": false
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the network"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "add_standard_objects": {
          "type": "boolean",
          "description": "When true a default set of objects is added to the network"
        }
      }
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Network

Get a specific network

Get Network
GET/network/{id}{?include}

Example URI

GET https://api.c-tip.com/v1/network/1?include=mapObject
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "name": "FKP Groningen",
    "geo_object_id": 4,
    "geoObject": {
      "data": {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": []
        },
        "properties": {
          "road": "AbcStreet",
          "house_number": "12",
          "city_district": "AbcDistrict",
          "city": "AbcCity",
          "postcode": "1234 AB",
          "country_code": 528,
          "length": 1000,
          "start_point": 123,
          "end_point": 123,
          "area": 1000
        },
        "id": 1
      }
    },
    "created_at": 1449143207,
    "updated_at": 1449143207,
    "deleted_at": 0
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Network identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the network"
        },
        "geo_object_id": {
          "type": "number",
          "description": "Id of the location object"
        },
        "geoObject": {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Type of format"
                },
                "geometry": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Type of geometry object"
                    },
                    "coordinates": {
                      "description": "Array of coordinates"
                    }
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "road": {
                      "type": "string",
                      "description": "Road of the GeoObject"
                    },
                    "house_number": {
                      "type": "string",
                      "description": "House number of the GeoObject"
                    },
                    "city_district": {
                      "type": "string",
                      "description": "City district of the GeoObject"
                    },
                    "city": {
                      "type": "string",
                      "description": "City of the GeoObject"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "Postcode of the GeoObject"
                    },
                    "country_code": {
                      "type": "number",
                      "description": "Country Code of the GeoObject"
                    },
                    "length": {
                      "type": "number",
                      "description": "Length of the GeoObject (Only for LineStrings)"
                    },
                    "start_point": {
                      "type": "number",
                      "description": "MapObjectId of startpoint of the GeoObject (Only for LineStrings)"
                    },
                    "end_point": {
                      "type": "number",
                      "description": "MapObjectId of endpoint of the GeoObject (Only for LineStrings)"
                    },
                    "area": {
                      "type": "number",
                      "description": "Area of the GeoObject (Only for Polygons)"
                    }
                  },
                  "description": "Object with properties of object"
                },
                "id": {
                  "type": "number",
                  "description": "Id of geoObject"
                }
              }
            }
          }
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of creation"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last update"
        },
        "deleted_at": {
          "type": "number",
          "description": "Timestamp when the network was soft deleted"
        }
      }
    }
  }
}

Update an existing Network
PUT/network/{id}{?include}

Example URI

PUT https://api.c-tip.com/v1/network/1?include=mapObject
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "WNT Groningen"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Network identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the network"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing Network
PATCH/network/{id}{?include}

Example URI

PATCH https://api.c-tip.com/v1/network/1?include=mapObject
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "WNT Groningen"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Network identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the network"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing Network
DELETE/network/{id}{?include}

Example URI

DELETE https://api.c-tip.com/v1/network/1?include=mapObject
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

include
string (optional) Example: mapObject

Comma separated list of relations to embed.

Choices: geoObject mapObject tenant user topActionStatus actionCount

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Network dataset

Get the full cached dataset used by the C-TIP clients. The response contains map objects, actions, selections, attributes, map object types, and every related lookup record.

Get dataset
GET/network/{id}/all

Example URI

GET https://api.c-tip.com/v1/network/1/all
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {},
  "actions": {},
  "mapObjects": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of action image type lookups"
    },
    "actionPriorities": {
      "type": "object",
      "properties": {},
      "description": "Collection of action priorities"
    },
    "actionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of action statuses"
    },
    "attributes": {
      "type": "object",
      "properties": {},
      "description": "Collection of attributes"
    },
    "attributeGroups": {
      "type": "object",
      "properties": {},
      "description": "Collection of attribute groups"
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action types"
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action type categories"
    },
    "keyValues": {
      "type": "object",
      "properties": {},
      "description": "Collection of reusable key/value pairs"
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object categories"
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object selections"
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of selection types"
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object statuses"
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object types"
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed map object statuses per type"
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed action statuses per type"
    },
    "actions": {
      "type": "object",
      "properties": {},
      "description": "Map of action ids to action payloads"
    },
    "mapObjects": {
      "type": "object",
      "properties": {},
      "description": "Map of map object ids to map object payloads"
    }
  }
}

Network config

Returns the cached configuration for a network (action statuses, attribute definitions, map object type permissions, lookups, etc.).

Get config
GET/network/{id}/config

Example URI

GET https://api.c-tip.com/v1/network/1/config
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

Response  200
HideShow
Headers
Content-Type: application/json
Body
{}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {}
}

Network map objects

Returns all map objects for a network using the same dataset as /network/{id}/all.

Get objects
GET/network/objects

Example URI

GET https://api.c-tip.com/v1/network/objects
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {},
  "actions": {},
  "mapObjects": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of action image type lookups"
    },
    "actionPriorities": {
      "type": "object",
      "properties": {},
      "description": "Collection of action priorities"
    },
    "actionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of action statuses"
    },
    "attributes": {
      "type": "object",
      "properties": {},
      "description": "Collection of attributes"
    },
    "attributeGroups": {
      "type": "object",
      "properties": {},
      "description": "Collection of attribute groups"
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action types"
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action type categories"
    },
    "keyValues": {
      "type": "object",
      "properties": {},
      "description": "Collection of reusable key/value pairs"
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object categories"
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object selections"
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of selection types"
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object statuses"
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object types"
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed map object statuses per type"
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed action statuses per type"
    },
    "actions": {
      "type": "object",
      "properties": {},
      "description": "Map of action ids to action payloads"
    },
    "mapObjects": {
      "type": "object",
      "properties": {},
      "description": "Map of map object ids to map object payloads"
    }
  }
}

Network actions dataset

Returns all actions for a network using the same dataset as /network/{id}/all.

Get actions
GET/network/actions

Example URI

GET https://api.c-tip.com/v1/network/actions
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {},
  "actions": {},
  "mapObjects": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of action image type lookups"
    },
    "actionPriorities": {
      "type": "object",
      "properties": {},
      "description": "Collection of action priorities"
    },
    "actionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of action statuses"
    },
    "attributes": {
      "type": "object",
      "properties": {},
      "description": "Collection of attributes"
    },
    "attributeGroups": {
      "type": "object",
      "properties": {},
      "description": "Collection of attribute groups"
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action types"
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action type categories"
    },
    "keyValues": {
      "type": "object",
      "properties": {},
      "description": "Collection of reusable key/value pairs"
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object categories"
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object selections"
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of selection types"
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object statuses"
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object types"
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed map object statuses per type"
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed action statuses per type"
    },
    "actions": {
      "type": "object",
      "properties": {},
      "description": "Map of action ids to action payloads"
    },
    "mapObjects": {
      "type": "object",
      "properties": {},
      "description": "Map of map object ids to map object payloads"
    }
  }
}

Network selections dataset

Returns all map object selections for a network using the same dataset as /network/{id}/all.

Get selections
GET/network/selections

Example URI

GET https://api.c-tip.com/v1/network/selections
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {},
  "actions": {},
  "mapObjects": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of action image type lookups"
    },
    "actionPriorities": {
      "type": "object",
      "properties": {},
      "description": "Collection of action priorities"
    },
    "actionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of action statuses"
    },
    "attributes": {
      "type": "object",
      "properties": {},
      "description": "Collection of attributes"
    },
    "attributeGroups": {
      "type": "object",
      "properties": {},
      "description": "Collection of attribute groups"
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action types"
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of dynamic action type categories"
    },
    "keyValues": {
      "type": "object",
      "properties": {},
      "description": "Collection of reusable key/value pairs"
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object categories"
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object selections"
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of selection types"
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object statuses"
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {},
      "description": "Collection of map object types"
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed map object statuses per type"
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {},
      "description": "Pivot information for allowed action statuses per type"
    },
    "actions": {
      "type": "object",
      "properties": {},
      "description": "Map of action ids to action payloads"
    },
    "mapObjects": {
      "type": "object",
      "properties": {},
      "description": "Map of map object ids to map object payloads"
    }
  }
}

Network action list

Paginated list of actions for a network. See the Actions group for the response structure.

Get network actions
GET/network/{networkId}/action{?perPage}{?sort}{?sortBy}{?range}{?deleted_at}{?onlyNotFinal}

Example URI

GET https://api.c-tip.com/v1/network/5/action?perPage=25?sort=created_at?sortBy=desc?range=1693456800?deleted_at=false?onlyNotFinal=false
URI Parameters
HideShow
networkId
integer (required) Example: 5

Id of the network

perPage
integer (optional) Example: 25

The maximum number of actions to return

sort
string (optional) Example: created_at

Column to sort on

sortBy
string (optional) Example: desc

Sort direction (asc or desc)

range
number (optional) Example: 1693456800

Only return actions updated after the provided timestamp

deleted_at
boolean (optional) Example: false

Include soft deleted actions

onlyNotFinal
boolean (optional) Example: false

Filter out actions that are already finalised

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "map_object_type_id": 2,
      "action_status_id": 3,
      "map_object_id": 7,
      "geo_object_id": 2,
      "dynamic_action_type_id": 9,
      "action_priority_id": 10,
      "created_by": 5,
      "device": "web",
      "network_id": 1,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Network action city districts

Returns a de-duplicated list of the geoObject.city_district values that are used inside the actions of the provided network.

Get action city districts
GET/network/{networkId}/action/city_district

Example URI

GET https://api.c-tip.com/v1/network/5/action/city_district
URI Parameters
HideShow
networkId
integer (required) Example: 5

Id of the network

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "Hello, world!"
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Network recurring actions

Refer to the Recurring Actions group for the request parameters and response structure.

NetworkChildren

All calls to get a lot of objects under a single network

Network Children

Get Network Children
GET/network/{id}/children{?perPage}{?depth}{?include}{?updated_at}{?deleted_at}

Get the children objects under a network.

Example URI

GET https://api.c-tip.com/v1/network/1/children?perPage=25?depth=true?include=geoObject?updated_at=1693456800?deleted_at=false
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

perPage
integer (optional) Default: 15 Example: 25

The maximum number of objects to return

depth
boolean (optional) Default: false Example: true

Whether you only want the MapObject directly under the network, or also the children of those mapObjects and deeper

include
string (optional) Example: geoObject

Comma separated list of relations to embed for each returned MapObject.

Choices: geoObject attribute mapObjectSelectionId mapObjectType mapObjectLabel

updated_at
number (optional) Example: 1693456800

Only return MapObjects that were updated after the provided Unix timestamp.

deleted_at
boolean (optional) Example: false

Include soft deleted MapObjects when set to true.

map_object_type_id
integer (optional) Example: 3

Filter MapObjects by a specific type id.

parent_id
integer (optional) Example: 10

Only return children for the provided parent MapObject id.

name
string (optional) Example: Lamp post

Filter MapObjects by their exact name.

label
string (optional) Example: A-01

Filter MapObjects by their label.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Network Children Web

Get Network Web
GET/network/{id}/children/web

Get all the children MapObjects under a network. Returns the same structure as the paginated /children endpoint.

Example URI

GET https://api.c-tip.com/v1/network/1/children/web
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Network Children All

Get Network All
GET/network/{id}/children/all

Get all the objects under a network.

Example URI

GET https://api.c-tip.com/v1/network/1/children/all
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {},
  "actions": {},
  "mapObjects": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {}
    },
    "actionPriorities": {
      "type": "object",
      "properties": {}
    },
    "actionStatuses": {
      "type": "object",
      "properties": {}
    },
    "attributes": {
      "type": "object",
      "properties": {}
    },
    "attributeGroups": {
      "type": "object",
      "properties": {}
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {}
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {}
    },
    "keyValues": {
      "type": "object",
      "properties": {}
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {}
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {}
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {}
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {}
    },
    "actions": {
      "type": "object",
      "properties": {}
    },
    "mapObjects": {
      "type": "object",
      "properties": {}
    }
  }
}

Network Children Config

Get Network Config
GET/network/{id}/children/config

Get all the config objects under a network.

Example URI

GET https://api.c-tip.com/v1/network/1/children/config
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actionImageTypes": {},
  "actionPriorities": {},
  "actionStatuses": {},
  "attributes": {},
  "attributeGroups": {},
  "dynamicActionTypes": {},
  "dynamicActionTypeCategories": {},
  "keyValues": {},
  "mapObjectCategories": {},
  "mapObjectSelections": {},
  "mapObjectSelectionTypes": {},
  "mapObjectStatuses": {},
  "mapObjectTypes": {},
  "mapObjectTypeMapObjectStatuses": {},
  "mapObjectTypeActionStatuses": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actionImageTypes": {
      "type": "object",
      "properties": {}
    },
    "actionPriorities": {
      "type": "object",
      "properties": {}
    },
    "actionStatuses": {
      "type": "object",
      "properties": {}
    },
    "attributes": {
      "type": "object",
      "properties": {}
    },
    "attributeGroups": {
      "type": "object",
      "properties": {}
    },
    "dynamicActionTypes": {
      "type": "object",
      "properties": {}
    },
    "dynamicActionTypeCategories": {
      "type": "object",
      "properties": {}
    },
    "keyValues": {
      "type": "object",
      "properties": {}
    },
    "mapObjectCategories": {
      "type": "object",
      "properties": {}
    },
    "mapObjectSelections": {
      "type": "object",
      "properties": {}
    },
    "mapObjectSelectionTypes": {
      "type": "object",
      "properties": {}
    },
    "mapObjectStatuses": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypes": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypeMapObjectStatuses": {
      "type": "object",
      "properties": {}
    },
    "mapObjectTypeActionStatuses": {
      "type": "object",
      "properties": {}
    }
  }
}

Network Children By MapObjectType

Get Network By MapObjectType
GET/network/{id}/children/type/{typeId}

Get all the objects under a network by a specific type. Returns the same payload as the regular children endpoints.

Example URI

GET https://api.c-tip.com/v1/network/1/children/type/3
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific network

typeId
integer (required) Example: 3

Id of a specific MapObjecType

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Role

All calls for role management

Role list

Get a list of roles

Get roles
GET/role{?perPage}

Get a list of roles.

Example URI

GET https://api.c-tip.com/v1/role?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of roles to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "admin",
      "display_name": "Admin",
      "description": "Description of admin",
      "created_at": 1449143207,
      "updated_at": 1449143207
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new role
POST/role{?perPage}

Create a new role with the required parameters.

New roles

New roles are coupled to your current tenant.

Example URI

POST https://api.c-tip.com/v1/role?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of roles to return

Request
HideShow
Body
{
  "data": {
    "name": "admin",
    "display_name": "Admin",
    "description": "Description of admin"
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the role, lowercase for identification"
        },
        "display_name": {
          "type": "string",
          "description": "Display label of a role"
        },
        "description": {
          "type": "string",
          "description": "Description of a role"
        }
      }
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Role

Get a specific roles

Get Role
GET/role/{id}

Get a role.

Example URI

GET https://api.c-tip.com/v1/role/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific role

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "name": "admin",
    "display_name": "Admin",
    "description": "Description of admin",
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Role identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the role, lowercase for identification"
        },
        "display_name": {
          "type": "string",
          "description": "Display label of a role"
        },
        "description": {
          "type": "string",
          "description": "Description of a role"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of role creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last role update"
        }
      }
    }
  }
}

Update an existing role
PUT/role/{id}

Update a role

Example URI

PUT https://api.c-tip.com/v1/role/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific role

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "admin",
    "display_name": "Admin",
    "description": "Description of admin"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Role identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the role, lowercase for identification"
        },
        "display_name": {
          "type": "string",
          "description": "Display label of a role"
        },
        "description": {
          "type": "string",
          "description": "Description of a role"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing role
PATCH/role/{id}

Patch a role

Example URI

PATCH https://api.c-tip.com/v1/role/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific role

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "admin",
    "display_name": "Admin",
    "description": "Description of admin"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Role identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the role, lowercase for identification"
        },
        "display_name": {
          "type": "string",
          "description": "Display label of a role"
        },
        "description": {
          "type": "string",
          "description": "Description of a role"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing role
DELETE/role/{id}

Delete a role

Example URI

DELETE https://api.c-tip.com/v1/role/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific role

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Selections

All calls for Selection management. The API automatically embeds the pivot data (order/label) when a selection is loaded through a relation. Use the include parameter to also fetch related objects.

Selection list

Get a list of Selections

Get Selections
GET/selection{?perPage}{?include}

Get a list of Selections.

Example URI

GET https://api.c-tip.com/v1/selection?perPage=25?include=mapObject
URI Parameters
HideShow
perPage
number (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: mapObject

Option to get related data, multiple options are available by joining them with a ‘,’ in between (i.e. ‘attribute,parent’). WARNING: this may increase loading times drastically

Choices: mapObject mapObjectSelectionType mapObjectSelectionImage attribute parent mapObjectId

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "parent_id": 2,
      "name": "Selectie",
      "description": "Dit is een omschrijving",
      "map_object_selection_type_id": 3,
      "network_id": 73,
      "status": "ok",
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "created_by": 1
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new Selection
POST/selection{?perPage}{?include}

Create a new Selection with the required parameters.

Example URI

POST https://api.c-tip.com/v1/selection?perPage=25?include=mapObject
URI Parameters
HideShow
perPage
number (optional) Default: 15 Example: 25

The maximum number of objects to return

include
string (optional) Example: mapObject

Option to get related data, multiple options are available by joining them with a ‘,’ in between (i.e. ‘attribute,parent’). WARNING: this may increase loading times drastically

Choices: mapObject mapObjectSelectionType mapObjectSelectionImage attribute parent mapObjectId

Request
HideShow
Body
{
  "data": {
    "name": "Bord",
    "description": "Dit is een omschrijving",
    "parent_id": 3,
    "map_object_selection_type_id": 5
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the selection"
        },
        "description": {
          "type": "string",
          "description": "Description of the selection"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent selection"
        },
        "map_object_selection_type_id": {
          "type": "number",
          "description": "Id of the selection type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Selection

Get a specific Selection

Get Selection
GET/selection/{id}

Get a Selection.

Example URI

GET https://api.c-tip.com/v1/selection/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "parent_id": 2,
    "name": "Selectie",
    "description": "Dit is een omschrijving",
    "map_object_selection_type_id": 3,
    "network_id": 73,
    "status": "ok",
    "created_at": 1449143207,
    "updated_at": 1449143207,
    "created_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Selection identifier"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent selection"
        },
        "name": {
          "type": "string",
          "description": "Name of the selection"
        },
        "description": {
          "type": "string",
          "description": "Description of the selection"
        },
        "map_object_selection_type_id": {
          "type": "number",
          "description": "Id of the selection type"
        },
        "network_id": {
          "type": "number",
          "description": "Id of the network id"
        },
        "status": {
          "type": "string",
          "description": "Status of the selection, options: ok | broken | unknown"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of selection creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last selection update"
        },
        "created_by": {
          "type": "number",
          "description": "User id of the creator of the selection"
        }
      }
    }
  }
}

Update an existing Selection
PUT/selection/{id}

Update a Selection

Example URI

PUT https://api.c-tip.com/v1/selection/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "description": "Dit is een omschrijving",
    "parent_id": 3,
    "map_object_selection_type_id": 5
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Selection identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the selection"
        },
        "description": {
          "type": "string",
          "description": "Description of the selection"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent selection"
        },
        "map_object_selection_type_id": {
          "type": "number",
          "description": "Id of the selection type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing Selection
PATCH/selection/{id}

Patch a Selection

Example URI

PATCH https://api.c-tip.com/v1/selection/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "name": "Bord",
    "description": "Dit is een omschrijving",
    "parent_id": 3,
    "map_object_selection_type_id": 5
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Selection identifier"
        },
        "name": {
          "type": "string",
          "description": "Name of the selection"
        },
        "description": {
          "type": "string",
          "description": "Description of the selection"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent selection"
        },
        "map_object_selection_type_id": {
          "type": "number",
          "description": "Id of the selection type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing Selection
DELETE/selection/{id}

Delete a Selection

Example URI

DELETE https://api.c-tip.com/v1/selection/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific object

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Find selections

Search selections by name, description, type, or free text.

Search selections
POST/selection/find

Example URI

POST https://api.c-tip.com/v1/selection/find
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "query": {
      "all": "%Bridge%",
      "name": "Cycle route",
      "description": "Downtown",
      "map_object_selection_type_id": 7
    },
    "operator": "=",
    "limit": 25
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "query": {
          "type": "object",
          "properties": {
            "all": {
              "type": "string",
              "description": "Search in both name and description"
            },
            "name": {
              "type": "string",
              "description": "Filter by name"
            },
            "description": {
              "type": "string",
              "description": "Filter by description"
            },
            "map_object_selection_type_id": {
              "type": "number",
              "description": "Filter by selection type id"
            }
          },
          "description": "Key/value combinations to search for"
        },
        "operator": {
          "type": "string",
          "enum": [
            "=",
            "!=",
            ">",
            "<",
            ">=",
            "<=",
            "LIKE",
            "ILIKE"
          ],
          "description": "Operator applied to the supplied query (default `ILIKE`)"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of objects to return (hard limited by `dc.search.limit`)"
        }
      },
      "required": [
        "query"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "parent_id": 2,
      "name": "Selectie",
      "description": "Dit is een omschrijving",
      "map_object_selection_type_id": 3,
      "network_id": 73,
      "status": "ok",
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "created_by": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

Selection type

Get the type configuration of a selection.

Get selection type
GET/selection/{id}/selection_type

Example URI

GET https://api.c-tip.com/v1/selection/1/selection_type
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 7,
    "name": "Route",
    "is_network": true,
    "is_ordered": false,
    "network_id": 3,
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Identifier of the selection type"
        },
        "name": {
          "type": "string",
          "description": "Name of the selection type"
        },
        "is_network": {
          "type": "boolean",
          "description": "When true the selection is owned by the network"
        },
        "is_ordered": {
          "type": "boolean",
          "description": "Indicates whether the selection enforces ordering of map objects"
        },
        "network_id": {
          "type": "number",
          "description": "Id of the owning network"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last update"
        }
      }
    }
  }
}

Selection objects

Manage the map objects that belong to a selection.

Get selection objects
GET/selection/{id}/object

Example URI

GET https://api.c-tip.com/v1/selection/1/object
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "name": "Bord",
      "parent_id": 2,
      "relation_id": 355,
      "map_object_type_id": 3,
      "geo_object_id": 4,
      "map_object_status_id": 5,
      "is_obstructed": false,
      "network_id": 73,
      "created_by": 14,
      "created_at": 1449143207,
      "updated_at": 1449143207,
      "deleted_at": 0,
      "geoObject": {
        "data": {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "road": "AbcStreet",
            "house_number": "12",
            "city_district": "AbcDistrict",
            "city": "AbcCity",
            "postcode": "1234 AB",
            "country_code": 528,
            "length": 1000,
            "start_point": 123,
            "end_point": 123,
            "area": 1000
          },
          "id": 1
        }
      }
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Attach map objects
POST/selection/{id}/object

Example URI

POST https://api.c-tip.com/v1/selection/1/object
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "relation": [
      {
        "id": 42,
        "order": 1,
        "label": "Start"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "relation": {
          "type": "array",
          "description": "The map objects that should be attached or detached"
        }
      },
      "required": [
        "relation"
      ]
    }
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Remove map objects
DELETE/selection/object

Example URI

DELETE https://api.c-tip.com/v1/selection/object
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "relation": [
      {
        "id": 42,
        "order": 1,
        "label": "Start"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "relation": {
          "type": "array",
          "description": "The map objects that should be attached or detached"
        }
      },
      "required": [
        "relation"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Selection images

Manage the images that are linked to a selection.

Get selection images
GET/selection/{id}/image

Example URI

GET https://api.c-tip.com/v1/selection/1/image
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 10,
      "map_object_selection_id": 5,
      "resource": "F34xfds",
      "path": "selections/5/F34xfds.jpg",
      "link": "https://cdn.c-tip.com/selections/5/F34xfds.jpg",
      "title": "Overview"
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Add an image
POST/selection/{id}/image

Example URI

POST https://api.c-tip.com/v1/selection/1/image
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

Request
HideShow
Headers
Content-Type: multipart/form-data; boundary=---BOUNDARY
Body
---BOUNDARY
content-disposition: form-data; name="title"

Optional title
---BOUNDARY
content-disposition: form-data; name="image"; filename="$filename"
Content-Type: $mimetype
Content-Transfer-Encoding: binary

$binarydata
---BOUNDARY
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Selection image

Interact with a single selection image.

Get selection image
GET/selection/{id}/image/{imageId}

Example URI

GET https://api.c-tip.com/v1/selection/1/image/5
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

imageId
integer (required) Example: 5

Id of the selection image

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 10,
    "map_object_selection_id": 5,
    "resource": "F34xfds",
    "path": "selections/5/F34xfds.jpg",
    "link": "https://cdn.c-tip.com/selections/5/F34xfds.jpg",
    "title": "Overview"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Identifier of the image"
        },
        "map_object_selection_id": {
          "type": "number",
          "description": "Id of the selection"
        },
        "resource": {
          "type": "string",
          "description": "Storage key used for the binary file"
        },
        "path": {
          "type": "string",
          "description": "Relative path to the stored file"
        },
        "link": {
          "type": "string",
          "description": "Public URL to download the file"
        },
        "title": {
          "type": "string",
          "description": "Optional title for the image"
        }
      }
    }
  }
}

Update image metadata
PUT/selection/{id}/image/{imageId}

Example URI

PUT https://api.c-tip.com/v1/selection/1/image/5
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

imageId
integer (required) Example: 5

Id of the selection image

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "title": "Overview"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "Optional title for the image"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 10,
    "map_object_selection_id": 5,
    "resource": "F34xfds",
    "path": "selections/5/F34xfds.jpg",
    "link": "https://cdn.c-tip.com/selections/5/F34xfds.jpg",
    "title": "Overview"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Identifier of the image"
        },
        "map_object_selection_id": {
          "type": "number",
          "description": "Id of the selection"
        },
        "resource": {
          "type": "string",
          "description": "Storage key used for the binary file"
        },
        "path": {
          "type": "string",
          "description": "Relative path to the stored file"
        },
        "link": {
          "type": "string",
          "description": "Public URL to download the file"
        },
        "title": {
          "type": "string",
          "description": "Optional title for the image"
        }
      }
    }
  }
}

Delete an image
DELETE/selection/{id}/image/{imageId}

Example URI

DELETE https://api.c-tip.com/v1/selection/1/image/5
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific selection

imageId
integer (required) Example: 5

Id of the selection image

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Tenants

All calls for tenant management

Tenant list

Get a list of tenants

Get Tenants
GET/tenant{?perPage}

Get a list of tenants.

Example URI

GET https://api.c-tip.com/v1/tenant?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "parent_id": 2,
      "name": "Office B.V.",
      "created_at": 1449143207,
      "updated_at": 1449143207
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new tenant
POST/tenant{?perPage}

Create a new tenant with the required parameters.

Example URI

POST https://api.c-tip.com/v1/tenant?perPage=25
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

Request
HideShow
Body
{
  "data": {
    "name": "Company B.V.",
    "parent_id": 3
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the tenant"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of parent tenant, empty means create a root tenant"
        }
      },
      "required": [
        "name"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Tenants

Get a specific tenants

Get Tenant
GET/tenant/{id}

Get a tenant.

Example URI

GET https://api.c-tip.com/v1/tenant/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific tenant

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "parent_id": 2,
    "name": "Office B.V.",
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Tenant identifier"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of the parent tenant, null means this is a root tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the tenant"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of tenant creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last tenant update"
        }
      }
    }
  }
}

Update an existing tenant
PUT/tenant/{id}

Update a tenant

Example URI

PUT https://api.c-tip.com/v1/tenant/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific tenant

Request
HideShow
Body
{
  "data": {
    "name": "Company B.V."
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the tenant"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing tenant
PATCH/tenant/{id}

Patch a tenant

Example URI

PATCH https://api.c-tip.com/v1/tenant/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific tenant

Request
HideShow
Body
{
  "data": {
    "name": "Company B.V."
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the tenant"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing tenant
DELETE/tenant/{id}

Delete a tenant

Example URI

DELETE https://api.c-tip.com/v1/tenant/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific tenant

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Tenant User Relation

All calls for tenant user relation management

TenantUser Relation

Create new tenant user relation
POST/tenant/{tenantId}/user{?sync}

Create a new tenant relation given the required user id’s.

Example URI

POST https://api.c-tip.com/v1/tenant/1/user?sync=true
URI Parameters
HideShow
tenantId
integer (required) Example: 1

Id of a tenant

sync
bool (optional) Example: true

Determines whether data is thrown away and attached or attached

Request
HideShow
Body
{
  "data": [
    "1",
    "2",
    "3"
  ]
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array with user id's"
    }
  },
  "required": [
    "data"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

Delete an existing tenant user relation
DELETE/tenant/{tenantId}/user{?sync}

Example URI

DELETE https://api.c-tip.com/v1/tenant/1/user?sync=true
URI Parameters
HideShow
tenantId
integer (required) Example: 1

Id of a tenant

sync
bool (optional) Example: true

Determines whether data is thrown away and attached or attached

Request
HideShow
Body
{
  "data": [
    "1",
    "2",
    "3"
  ]
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array with user id's"
    }
  },
  "required": [
    "data"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json

Users

All calls for user management. Responses automatically embed the roles that belong to the user. Use the include parameter to fetch tenant, userAttributes, primaryTenant, permissions, and team.

User list

Get a list of users

Get users
GET/user{?perPage}{?include}

Get a list of users.

Example URI

GET https://api.c-tip.com/v1/user?perPage=25?include=team
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

include
string (optional) Example: team

Comma separated list of relations to embed

Choices: role tenant userAttributes primaryTenant permissions team

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "primary_tenant_id": 2,
      "name": "John Doe",
      "email": "john@rapide.software",
      "super_admin": false,
      "needs_license": false,
      "created_at": 1449143207,
      "updated_at": 1449143207
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

Create new user
POST/user{?perPage}{?include}

Create a new user with the required parameters.

New users

New users are coupled to your current tenant.

Example URI

POST https://api.c-tip.com/v1/user?perPage=25?include=team
URI Parameters
HideShow
perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

include
string (optional) Example: team

Comma separated list of relations to embed

Choices: role tenant userAttributes primaryTenant permissions team

Request
HideShow
Body
{
  "data": {
    "primary_tenant_id": 2,
    "name": "John Doe",
    "email": "john@rapide.software"
  },
  "auth": {
    "accessor_type": "user",
    "access_level": 7,
    "accessor_id": 1
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "primary_tenant_id": {
          "type": "number",
          "description": "Id of primary tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the user"
        },
        "email": {
          "type": "string",
          "description": "Email address of the user"
        }
      },
      "required": [
        "primary_tenant_id",
        "name",
        "email"
      ]
    },
    "auth": {
      "type": "object",
      "properties": {
        "accessor_type": {
          "enum": [
            "user",
            "role",
            "tenant"
          ],
          "description": "Type of authorization"
        },
        "access_level": {
          "type": "number",
          "description": "Accesslevel bit (read,write,full)"
        },
        "accessor_id": {
          "type": "number",
          "description": "Identifier of accessor type"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of stored data (can be empty on array inserts)"
    }
  }
}

User

Get a specific users

Get User
GET/user/{id}

Get a user.

Example URI

GET https://api.c-tip.com/v1/user/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific user

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "primary_tenant_id": 2,
    "name": "John Doe",
    "email": "john@rapide.software",
    "super_admin": false,
    "needs_license": false,
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "User identifier"
        },
        "primary_tenant_id": {
          "type": "number",
          "description": "Id of primary tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the user"
        },
        "email": {
          "type": "string",
          "description": "Email address of the user"
        },
        "super_admin": {
          "type": "boolean",
          "description": "Indicates whether the user has access to every tenant"
        },
        "needs_license": {
          "type": "boolean",
          "description": "When true the user must consume a license seat before logging in"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of user creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last user update"
        }
      }
    }
  }
}

Update an existing user
PUT/user/{id}

Update a user

Example URI

PUT https://api.c-tip.com/v1/user/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific user

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "primary_tenant_id": 2,
    "name": "John Doe",
    "email": "john@rapide.software"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "User identifier"
        },
        "primary_tenant_id": {
          "type": "number",
          "description": "Id of primary tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the user"
        },
        "email": {
          "type": "string",
          "description": "Email address of the user"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Patch an existing user
PATCH/user/{id}

Patch a user

Example URI

PATCH https://api.c-tip.com/v1/user/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific user

Request
HideShow
Body
{
  "data": {
    "id": 1,
    "primary_tenant_id": 2,
    "name": "John Doe",
    "email": "john@rapide.software"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "User identifier"
        },
        "primary_tenant_id": {
          "type": "number",
          "description": "Id of primary tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the user"
        },
        "email": {
          "type": "string",
          "description": "Email address of the user"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of updated data (can be empty on array inserts)"
    }
  }
}

Delete an existing user
DELETE/user/{id}

Delete a user

Example URI

DELETE https://api.c-tip.com/v1/user/1
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific user

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "id": "1"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success true or false"
    },
    "id": {
      "type": "string",
      "description": "Id of deleted data (can be empty on array inserts)"
    }
  }
}

Send password reset mail

Trigger the forgot password flow for a user. The endpoint sends an email with a reset link.

Request reset token
POST/user/account/password

Example URI

POST https://api.c-tip.com/v1/user/account/password
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "email": "user@example.com"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "description": "Email address of the user that should receive the reset link"
        }
      },
      "required": [
        "email"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 10,
  "user_id": 1,
  "token": "f6dea6d4-...",
  "expire_time": 1449200000
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Identifier of the password reset request"
    },
    "user_id": {
      "type": "number",
      "description": "Id of the affected user"
    },
    "token": {
      "type": "string",
      "description": "Password reset token (included for debugging purposes)"
    },
    "expire_time": {
      "type": "number",
      "description": "UNIX timestamp of when the reset token expires"
    }
  }
}

UserTenants

All calls for userTenant management

User list

Get a list of root tenants based on a user id

Get tenants
GET/user/{id}/tenant{?perPage}

Get a list of tenants.

Example URI

GET https://api.c-tip.com/v1/user/1/tenant?perPage=25
URI Parameters
HideShow
id
integer (required) Example: 1

Id of a specific user

perPage
integer (optional) Default: 15 Example: 25

The maximum number of users to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": 1,
      "parent_id": 2,
      "name": "Office B.V.",
      "created_at": 1449143207,
      "updated_at": 1449143207
    }
  ],
  "meta": {
    "pagination": {
      "total": 1,
      "count": 1,
      "per_page": 15,
      "current": 1,
      "total_pages": 1,
      "links": []
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    },
    "meta": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "total": {
              "type": "number",
              "description": "Total number of objects"
            },
            "count": {
              "type": "number",
              "description": "Object on this page"
            },
            "per_page": {
              "type": "number",
              "description": "Object per page"
            },
            "current": {
              "type": "number",
              "description": "Current page number"
            },
            "total_pages": {
              "type": "number",
              "description": "Total number of pages"
            },
            "links": {
              "description": "Array of meta links"
            }
          }
        }
      }
    }
  }
}

User

Get a specific tenant based on a user

Get Tenant
GET/user/{user_id}/tenant/{tenant_id}

Get a tenant.

Example URI

GET https://api.c-tip.com/v1/user/1/tenant/1
URI Parameters
HideShow
user_id
integer (required) Example: 1

Id of a specific user

tenant_id
integer (required) Example: 1

Id of a specific tenant

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": 1,
    "parent_id": 2,
    "name": "Office B.V.",
    "created_at": 1449143207,
    "updated_at": 1449143207
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Tenant identifier"
        },
        "parent_id": {
          "type": "number",
          "description": "Id of the parent tenant, null means this is a root tenant"
        },
        "name": {
          "type": "string",
          "description": "Name of the tenant"
        },
        "created_at": {
          "type": "number",
          "description": "Timestamp of tenant creation date"
        },
        "updated_at": {
          "type": "number",
          "description": "Timestamp of last tenant update"
        }
      }
    }
  }
}

Generated by aglio on 04 Feb 2026