Functions

openOBD functions are functions that can be created to automate diagnostic routines using gRPC. The function is a predefined procedure that can be created to perform an automated task.

Retrieve openOBD functions

Get a list of openOBD functions to perform an automated service.

SecurityOAuth2
Request
query Parameters
description
string

Filter functions by their description.

limit
integer <int32> [ 0 .. 1000 ]
Default: 25

Limits the amount of resources in result.

name
string

Filter functions by their name.

offset
integer <int64> >= 0
Default: 0

Offset of resources in result.

online
boolean

Filter between online and offline functions.

product
Array of strings <uuid> non-empty unique

Filter functions by supported product identifiers. The returned functions will support at least one of the given products.

Example: product=6effe77b-3756-11ec-80c7-02ae699427ce,6effed19-3756-11ec-80c7-02ae699427ce
vehicle
Array of integers <int64> non-empty unique

Filter functions by supported vehicle identifier. The returned functions will support at least one of the given vehicles.

Example: vehicle=49,12
version
string

Filter functions by their version. Any string is allowed.

Example: version=beta 1.12.3a (semi-production)
visibility
string (FunctionVisibility)

Filter functions by their visibility.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

Responses
200

Successful response.

Response Schema: application/json
object >= 0 properties

Applied query parameters, including defaults.

limit
integer <int32> [ 0 .. 1000 ]
Default: 25

The applied value of the limit query parameter on the resources in result.

offset
integer <int64> >= 0
Default: 0

The applied value of the offset query parameter on the resources in result.

property name*
additional property
any
Array of objects (Function) >= 0 items

List of functions.

Array (>= 0 items)
id
string <uuid>

The identifier of the openOBD function.

description
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
string [ 3 .. 255 ] characters

Name as set by the function owner.

online
boolean

Whether the function is currently available to be run.

object (Money)

Price that should be paid for a function invocation.

provider_id
string <uuid>

The identifier of the provider that provides this function.

public
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

total
integer <int64>

Total number of resources matching provided query parameters.

default

An error occurred - see status code and problem response for more information.

get/v2/open-obd/functions
Response samples
application/json
{
  • "query": {
    },
  • "result": [
    ],
  • "total": 4
}

Create an openOBD function

Create an openOBD function.

SecurityOAuth2
Request
Request Body schema: application/json
required

Function information to register.

id
required
string <uuid>

The identifier of the openOBD function.

description
required
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
required
string [ 3 .. 255 ] characters

Name as set by the function owner.

required
object (Money)

Price that should be paid for a function invocation.

amount
number <float> >= 0

The monetary amount.

currency
string <iso-4217>

The currency of the monetary amount.

public
required
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
required
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
required
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

signature
required
string

The signature that corresponds with the id of the function. Retrievable from the function-broker. see: https://docs.openobd.com/latest/academy/functions/signature/

Responses
201

Successfully registered the new function.

Response Schema: application/json
id
string <uuid>

The identifier of the openOBD function.

description
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
string [ 3 .. 255 ] characters

Name as set by the function owner.

online
boolean

Whether the function is currently available to be run.

object (Money)

Price that should be paid for a function invocation.

amount
number <float> >= 0

The monetary amount.

currency
string <iso-4217>

The currency of the monetary amount.

provider_id
string <uuid>

The identifier of the provider that provides this function.

public
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

400

Bad request.

default

An error occurred - see status code and problem response for more information.

post/v2/open-obd/functions
Request samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "name": "string",
  • "price": {
    },
  • "public": true,
  • "supported_products": [
    ],
  • "supported_vehicles": [
    ],
  • "version": "beta 1.12.3a (semi-production)",
  • "visibility": "visible",
  • "signature": "string"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "name": "string",
  • "online": true,
  • "price": {
    },
  • "provider_id": "fe3d49af-4061-436b-ae60-f7044f252a44",
  • "public": true,
  • "supported_products": [
    ],
  • "supported_vehicles": [
    ],
  • "version": "beta 1.12.3a (semi-production)",
  • "visibility": "hidden"
}

Retrieve an openOBD function

Retrieve info on a specific openOBD functions to perform an automated service.

SecurityOAuth2
Request
path Parameters
function-id
required
string <uuid>

The identifier of the openOBD function.

Responses
200

Retrieved the function.

Response Schema: application/json
id
string <uuid>

The identifier of the openOBD function.

description
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
string [ 3 .. 255 ] characters

Name as set by the function owner.

online
boolean

Whether the function is currently available to be run.

object (Money)

Price that should be paid for a function invocation.

amount
number <float> >= 0

The monetary amount.

currency
string <iso-4217>

The currency of the monetary amount.

provider_id
string <uuid>

The identifier of the provider that provides this function.

public
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

get/v2/open-obd/functions/{function-id}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "name": "string",
  • "online": true,
  • "price": {
    },
  • "provider_id": "fe3d49af-4061-436b-ae60-f7044f252a44",
  • "public": true,
  • "supported_products": [
    ],
  • "supported_vehicles": [
    ],
  • "version": "beta 1.12.3a (semi-production)",
  • "visibility": "hidden"
}

Update an openOBD function

Updates an existing function.

SecurityOAuth2
Request
path Parameters
function-id
required
string <uuid>

The identifier of the openOBD function.

Request Body schema: application/json
required

Function information to store.

id
required
string <uuid>

The identifier of the openOBD function.

description
required
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
required
string [ 3 .. 255 ] characters

Name as set by the function owner.

required
object (Money)

Price that should be paid for a function invocation.

amount
number <float> >= 0

The monetary amount.

currency
string <iso-4217>

The currency of the monetary amount.

public
required
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
required
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
required
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

Responses
200

Successfully updated the function.

Response Schema: application/json
id
string <uuid>

The identifier of the openOBD function.

description
string [ 1 .. 1500 ] characters

Description as set by the function owner.

name
string [ 3 .. 255 ] characters

Name as set by the function owner.

online
boolean

Whether the function is currently available to be run.

object (Money)

Price that should be paid for a function invocation.

amount
number <float> >= 0

The monetary amount.

currency
string <iso-4217>

The currency of the monetary amount.

provider_id
string <uuid>

The identifier of the provider that provides this function.

public
boolean

Whether this function is available for other partners to execute. If set to false, this function can only invoked by the partner that registered the function.

supported_products
Array of strings <uuid> >= 0 items

Supported products as set by the function owner.

supported_vehicles
Array of integers <int64> >= 0 items

Supported vehicles as set by the function owner.

version
string [ 1 .. 50 ] characters

Version as set by the function owner. Any string is allowed. E.g. '1.12.3a', 'beta', '21', etc.

visibility
string (FunctionVisibility)

Determines where the function will be shown. Does not affect whether the function can be run or not.

Enum Value Description
visible

The function will show up in UIs.

hidden

The function will not be shown in UIs.

400

Bad request.

default

An error occurred - see status code and problem response for more information.

put/v2/open-obd/functions/{function-id}
Request samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "name": "string",
  • "price": {
    },
  • "public": true,
  • "supported_products": [
    ],
  • "supported_vehicles": [
    ],
  • "version": "beta 1.12.3a (semi-production)",
  • "visibility": "visible"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "name": "string",
  • "online": true,
  • "price": {
    },
  • "provider_id": "fe3d49af-4061-436b-ae60-f7044f252a44",
  • "public": true,
  • "supported_products": [
    ],
  • "supported_vehicles": [
    ],
  • "version": "beta 1.12.3a (semi-production)",
  • "visibility": "hidden"
}

Delete an openOBD function

Deleted an existing function.

SecurityOAuth2
Request
path Parameters
function-id
required
string <uuid>

The identifier of the openOBD function.

Responses
204

Successfully removed.

default

An error occurred - see status code and problem response for more information.

delete/v2/open-obd/functions/{function-id}
Response samples
application/problem+json

Returned when the request cannot be handled due to something that is perceived to be a client error.

{
  • "detail": "The request violates one or more constraints. Please resolve all of them and try again.",
  • "status": 400,
  • "title": "Bad request",
  • "type": "/problems/violations",
  • "violations": [
    ]
}