> For the complete documentation index, see [llms.txt](/docs/llms.txt)

# Generic Connector API | FusionAuth Docs

Learn about the APIs for creating, retrieving, and updating Generic Connectors.

# Generic Connector API

Available since version `1.18.0`

The following APIs are provided to manage Generic Connectors.

## Create the Generic Connector[#](#create-the-generic-connector)

### Request[#](#request)

Create a Generic Connector with a randomly generated Id.

POST/api/connector

OpenAPI Spec

Create a Generic Connector with the provided unique Id.

POST/api/connector/{connectorId}

OpenAPI Spec

The **type** in the request JSON is used to determine that you are creating the Generic Connector.

#### Request Parameters[#](#request-parameters)

`connectorId`UUIDoptionalDefaults to secure random UUID

The Id to use for the new Connector. If not specified a secure random UUID will be generated.

#### Request Body[#](#request-body)

`connector.authenticationURL`Stringrequired

The fully qualified URL used to send an HTTP request to authenticate the user. Must be a valid URL.

`connector.connectTimeout`Integerrequired

The connect timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.data`Objectoptional

An object that can hold any information about the Connector that should be persisted.

`connector.debug`BooleanoptionalDefaults to false

Determines if debug should be enabled to create an event log to assist in debugging integration errors.

`connector.headers`Objectoptional

An object that can hold HTTPHeader key and value pairs.

`connector.httpAuthenticationPassword`Stringoptional

The basic authentication password to use for requests to the Connector.

`connector.httpAuthenticationUsername`Stringoptional

The basic authentication username to use for requests to the Connector.

`connector.name`Stringrequired

The unique Connector name.

`connector.readTimeout`Integerrequired

The read timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.sslCertificateKeyId`UUIDoptional

The Id of an existing [Key](/docs/apis/keys). The X.509 certificate is used for client certificate authentication in requests to the Connector.

`connector.type`Stringrequired

This field must be set to `Generic`.

*Example Generic Connector Request JSON*

```
{
  "connector": {
    "authenticationURL": "http://localhost:3000/api/authenticate",
    "connectTimeout": 100,
    "data": {
      "modifiedBy": "richard"
    },
    "debug": true,
    "headers": {
      "header1": "value1",
      "header2": "value2"
    },
    "httpAuthenticationPassword": "basicPassword",
    "httpAuthenticationUsername": "basicUsername",
    "name": "My Generic Connector",
    "readTimeout": 100,
    "sslCertificateKeyId": "ce485a91-906f-4615-af75-81d37dc71e90",
    "type": "Generic"
  }
}
```

### Response[#](#response)

*Response Codes*

| Code | Description |
| --- | --- |
| 200 | The request was successful. The response will contain a JSON body. |
| 400 | The request was invalid and/or malformed. The response will contain an [Errors](/docs/apis/errors) JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See [Authentication](/docs/apis/authentication). |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |

#### Response Body[#](#response-body)

`connector.authenticationURL`String

The fully qualified URL used to send an HTTP request to authenticate the user.

`connector.connectTimeout`Integer

The connect timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.data`Object

An object that can hold any information about the Connector that should be persisted.

`connector.debug`Boolean

Determines if debug should be enabled to create an event log to assist in debugging integration errors.

`connector.headers`Object

An object that can hold HTTPHeader key and value pairs.

`connector.httpAuthenticationPassword`String

The basic authentication password to use for requests to the Connector.

`connector.httpAuthenticationUsername`String

The basic authentication username to use for requests to the Connector.

`connector.id`UUID

The unique Id of the Connector.

`connector.insertInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was created.

`connector.lastUpdateInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was last updated.

`connector.name`String

The unique Connector name.

`connector.readTimeout`Integer

The read timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.sslCertificateKeyId`UUID

The Id of an existing [Key](/docs/apis/keys). The X.509 certificate is used for client certificate authentication in requests to the Connector.

`connector.type`String

This field must be set to `Generic`.

*Example Generic Connector Response JSON*

```
{
  "connector": {
    "authenticationURL": "http://localhost:3000/api/authenticate",
    "connectTimeout": 100,
    "data": {
      "modifiedBy": "richard"
    },
    "debug": true,
    "headers": {
      "header1": "value1",
      "header2": "value2"
    },
    "httpAuthenticationPassword": "basicPassword",
    "httpAuthenticationUsername": "basicUsername",
    "id": "1188edfc-cef3-4555-910e-181ddf6153c0",
    "insertInstant": 1503513015493,
    "lastUpdateInstant": 1503513549421,
    "name": "My Generic Connector",
    "readTimeout": 100,
    "sslCertificateKeyId": "ce485a91-906f-4615-af75-81d37dc71e90",
    "type": "Generic"
  }
}
```

## Retrieve the Generic Connector[#](#retrieve-the-generic-connector)

### Request[#](#request-1)

Retrieve the Generic Connector by Id

GET/api/connector/{connectorId}

OpenAPI Spec

#### Request Parameters[#](#request-parameters-1)

`connectorId`UUIDrequired

The Id of the Connector to retrieve.

### Response[#](#response-1)

*Response Codes*

| Code | Description |
| --- | --- |
| 200 | The request was successful. The response will contain a JSON body. |
| 400 | The request was invalid and/or malformed. The response will contain an [Errors](/docs/apis/errors) JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See [Authentication](/docs/apis/authentication). |
| 404 | The object you requested doesn't exist. The response will be empty. |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |

#### Response Body[#](#response-body)

`connector.authenticationURL`String

The fully qualified URL used to send an HTTP request to authenticate the user.

`connector.connectTimeout`Integer

The connect timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.data`Object

An object that can hold any information about the Connector that should be persisted.

`connector.debug`Boolean

Determines if debug should be enabled to create an event log to assist in debugging integration errors.

`connector.headers`Object

An object that can hold HTTPHeader key and value pairs.

`connector.httpAuthenticationPassword`String

The basic authentication password to use for requests to the Connector.

`connector.httpAuthenticationUsername`String

The basic authentication username to use for requests to the Connector.

`connector.id`UUID

The unique Id of the Connector.

`connector.insertInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was created.

`connector.lastUpdateInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was last updated.

`connector.name`String

The unique Connector name.

`connector.readTimeout`Integer

The read timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.sslCertificateKeyId`UUID

The Id of an existing [Key](/docs/apis/keys). The X.509 certificate is used for client certificate authentication in requests to the Connector.

`connector.type`String

This field must be set to `Generic`.

*Example Generic Connector Response JSON*

```
{
  "connector": {
    "authenticationURL": "http://localhost:3000/api/authenticate",
    "connectTimeout": 100,
    "data": {
      "modifiedBy": "richard"
    },
    "debug": true,
    "headers": {
      "header1": "value1",
      "header2": "value2"
    },
    "httpAuthenticationPassword": "basicPassword",
    "httpAuthenticationUsername": "basicUsername",
    "id": "1188edfc-cef3-4555-910e-181ddf6153c0",
    "insertInstant": 1503513015493,
    "lastUpdateInstant": 1503513549421,
    "name": "My Generic Connector",
    "readTimeout": 100,
    "sslCertificateKeyId": "ce485a91-906f-4615-af75-81d37dc71e90",
    "type": "Generic"
  }
}
```

## Update the Generic Connector[#](#update-the-generic-connector)

This API is used to update an existing Generic Connector.

You must specify all of the properties of the Generic Connector when calling this API with the `PUT` HTTP method. When used with `PUT`, this API doesn't merge the existing Generic Connector and your new data. It replaces the existing Generic Connector with your new data.

Utilize the `PATCH` HTTP method to send specific changes to merge into an existing Generic Connector.

### Request[#](#request-2)

Update the Generic Connector by Id

PUT/api/connector/{connectorId}

OpenAPI Spec

PATCH/api/connector/{connectorId}

OpenAPI Spec

For backward compatibility, the `PATCH` method accepts the same media type (specified by a `Content-Type` of `application/json`) and body as the `PUT` request. You can also use the following media types for different behavior:

*   [JSON Patch/RFC 6902](https://www.rfc-editor.org/rfc/rfc6902): `application/json-patch+json`
*   [JSON Merge Patch/RFC 7396](https://www.rfc-editor.org/rfc/rfc7396): `merge-patch+json`

For details, see the [PATCH documentation](/docs/apis/#the-patch-http-method).

Using a media type of `application/json` merges the provided request parameters into the existing object. As a result, all parameters are optional with `PATCH`: only provide the values you want to change. To remove a value, provide a `null` value. Patching an `Array` appends all values in the new list to the old list.

#### Request Parameters[#](#request-parameters-2)

`connectorId`UUIDrequired

The Id of the Connector to update.

#### Request Body[#](#request-body)

`connector.authenticationURL`Stringrequired

The fully qualified URL used to send an HTTP request to authenticate the user. Must be a valid URL.

`connector.connectTimeout`Integerrequired

The connect timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.data`Objectoptional

An object that can hold any information about the Connector that should be persisted.

`connector.debug`BooleanoptionalDefaults to false

Determines if debug should be enabled to create an event log to assist in debugging integration errors.

`connector.headers`Objectoptional

An object that can hold HTTPHeader key and value pairs.

`connector.httpAuthenticationPassword`Stringoptional

The basic authentication password to use for requests to the Connector.

`connector.httpAuthenticationUsername`Stringoptional

The basic authentication username to use for requests to the Connector.

`connector.name`Stringrequired

The unique Connector name.

`connector.readTimeout`Integerrequired

The read timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.sslCertificateKeyId`UUIDoptional

The Id of an existing [Key](/docs/apis/keys). The X.509 certificate is used for client certificate authentication in requests to the Connector.

`connector.type`Stringrequired

This field must be set to `Generic`.

*Example Generic Connector Request JSON*

```
{
  "connector": {
    "authenticationURL": "http://localhost:3000/api/authenticate",
    "connectTimeout": 100,
    "data": {
      "modifiedBy": "richard"
    },
    "debug": true,
    "headers": {
      "header1": "value1",
      "header2": "value2"
    },
    "httpAuthenticationPassword": "basicPassword",
    "httpAuthenticationUsername": "basicUsername",
    "name": "My Generic Connector",
    "readTimeout": 100,
    "sslCertificateKeyId": "ce485a91-906f-4615-af75-81d37dc71e90",
    "type": "Generic"
  }
}
```

### Response[#](#response-2)

The response for this API contains the Generic Connector.

*Response Codes*

| Code | Description |
| --- | --- |
| 200 | The request was successful. The response will contain a JSON body. |
| 400 | The request was invalid and/or malformed. The response will contain an [Errors](/docs/apis/errors) JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See [Authentication](/docs/apis/authentication). |
| 404 | The object you are trying to update doesn't exist. The response will be empty. |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |

#### Response Body[#](#response-body)

`connector.authenticationURL`String

The fully qualified URL used to send an HTTP request to authenticate the user.

`connector.connectTimeout`Integer

The connect timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.data`Object

An object that can hold any information about the Connector that should be persisted.

`connector.debug`Boolean

Determines if debug should be enabled to create an event log to assist in debugging integration errors.

`connector.headers`Object

An object that can hold HTTPHeader key and value pairs.

`connector.httpAuthenticationPassword`String

The basic authentication password to use for requests to the Connector.

`connector.httpAuthenticationUsername`String

The basic authentication username to use for requests to the Connector.

`connector.id`UUID

The unique Id of the Connector.

`connector.insertInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was created.

`connector.lastUpdateInstant`Long

The [instant](/docs/reference/data-types#instants) when the Connector was last updated.

`connector.name`String

The unique Connector name.

`connector.readTimeout`Integer

The read timeout for the HTTP connection, in milliseconds. Value must be greater than `0`.

`connector.sslCertificateKeyId`UUID

The Id of an existing [Key](/docs/apis/keys). The X.509 certificate is used for client certificate authentication in requests to the Connector.

`connector.type`String

This field must be set to `Generic`.

*Example Generic Connector Response JSON*

```
{
  "connector": {
    "authenticationURL": "http://localhost:3000/api/authenticate",
    "connectTimeout": 100,
    "data": {
      "modifiedBy": "richard"
    },
    "debug": true,
    "headers": {
      "header1": "value1",
      "header2": "value2"
    },
    "httpAuthenticationPassword": "basicPassword",
    "httpAuthenticationUsername": "basicUsername",
    "id": "1188edfc-cef3-4555-910e-181ddf6153c0",
    "insertInstant": 1503513015493,
    "lastUpdateInstant": 1503513549421,
    "name": "My Generic Connector",
    "readTimeout": 100,
    "sslCertificateKeyId": "ce485a91-906f-4615-af75-81d37dc71e90",
    "type": "Generic"
  }
}
```

## Delete the Generic Connector[#](#delete-the-generic-connector)

### Request[#](#request-3)

Delete the Generic Connector by Id

DELETE/api/connector/{connectorId}

OpenAPI Spec

`connectorId`UUIDrequired

The Id of the Connector to delete.

### Response[#](#response-3)

This API does not return a JSON response body.

*Response Codes*

| Code | Description |
| --- | --- |
| 200 | The request was successful. |
| 400 | The request was invalid and/or malformed. The response will contain an [Errors](/docs/apis/errors) JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See [Authentication](/docs/apis/authentication). |
| 404 | The object you requested doesn't exist. The response will be empty. |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |