# OIDC Configuration (Infrastructure)

Endpoints to configure external IDPs.

## Get OIDC providers

> Return a complete list of all configured OIDC providers.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"OidcProviders":{"properties":{"providers":{"description":"The list of OIDC providers","items":{"$ref":"#/components/schemas/StrippedOidcProvider"},"type":"array"},"total":{"description":"The total number of OIDC providers","type":"number"}},"required":["total","providers"],"title":"OidcProviders","type":"object","description":"OidcProviders"},"StrippedOidcProvider":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"id":{"description":"The id of the OIDC provider","type":"string"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the OIDC provider","type":"number"}},"required":["name","status","issuer","clientId","customParameters","assignedGroups","id","version"],"title":"StrippedOidcProvider","type":"object","description":"StrippedOidcProvider"},"AssignedGroup":{"properties":{"facilityRefs":{"items":{"type":"string"},"type":"array"},"group":{"type":"string"}},"required":["facilityRefs","group"],"title":"AssignedGroup","type":"object","description":"AssignedGroup"},"OidcProviderCustomParameter":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OidcProviderCustomParameter","type":"object","description":"OidcProviderCustomParameter"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders":{"get":{"deprecated":false,"description":"Return a complete list of all configured OIDC providers.","operationId":"getOidcProviders","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcProviders"}}},"description":"Existing oidc providers."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"}},"summary":"Get OIDC providers","tags":["OIDC Configuration (Infrastructure)"]}}}}
```

## Create OIDC provider

> Registers an external OIDC provider so the platform can interact with it for user authentication.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"OidcProviderForCreation":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"clientSecret":{"description":"The client secret of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"}},"required":["name","status","issuer","clientId","customParameters","assignedGroups","clientSecret"],"title":"OidcProviderForCreation","type":"object","description":"OidcProviderForCreation"},"AssignedGroup":{"properties":{"facilityRefs":{"items":{"type":"string"},"type":"array"},"group":{"type":"string"}},"required":["facilityRefs","group"],"title":"AssignedGroup","type":"object","description":"AssignedGroup"},"OidcProviderCustomParameter":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OidcProviderCustomParameter","type":"object","description":"OidcProviderCustomParameter"},"StrippedOidcProvider":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"id":{"description":"The id of the OIDC provider","type":"string"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the OIDC provider","type":"number"}},"required":["name","status","issuer","clientId","customParameters","assignedGroups","id","version"],"title":"StrippedOidcProvider","type":"object","description":"StrippedOidcProvider"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders":{"post":{"deprecated":false,"description":"Registers an external OIDC provider so the platform can interact with it for user authentication.","operationId":"createOidcProvider","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcProviderForCreation"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedOidcProvider"}}},"description":"Provider was found."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Create OIDC provider","tags":["OIDC Configuration (Infrastructure)"]}}}}
```

## Get OIDC provider

> Get the configuration of a configured OIDC provider.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders/{oidcProviderId}":{"get":{"deprecated":false,"description":"Get the configuration of a configured OIDC provider.","operationId":"getOidcProvider","parameters":[{"in":"path","name":"oidcProviderId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The users was successfully created."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Get OIDC provider","tags":["OIDC Configuration (Infrastructure)"]}}}}
```

## Update OIDC provider

> Change the configuration of an already configured OIDC provider. The configuration has to contain all necessary values.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"OidcProviderForUpdate":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"clientSecret":{"description":"The client secret of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the OIDC provider","type":"number"}},"required":["name","status","issuer","clientId","customParameters","assignedGroups","clientSecret","version"],"title":"OidcProviderForUpdate","type":"object","description":"OidcProviderForUpdate"},"AssignedGroup":{"properties":{"facilityRefs":{"items":{"type":"string"},"type":"array"},"group":{"type":"string"}},"required":["facilityRefs","group"],"title":"AssignedGroup","type":"object","description":"AssignedGroup"},"OidcProviderCustomParameter":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OidcProviderCustomParameter","type":"object","description":"OidcProviderCustomParameter"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders/{oidcProviderId}":{"put":{"deprecated":false,"description":"Change the configuration of an already configured OIDC provider. The configuration has to contain all necessary values.","operationId":"updateOidcProvider","parameters":[{"in":"path","name":"oidcProviderId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcProviderForUpdate"}}},"required":true},"responses":{"200":{"description":"Provider was updated successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Update OIDC provider","tags":["OIDC Configuration (Infrastructure)"]}}}}
```

## Delete OIDC provider

> Removes an OIDC provider configuration, disabling the platform’s ability to authenticate via that provider.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders/{oidcProviderId}":{"delete":{"deprecated":false,"description":"Removes an OIDC provider configuration, disabling the platform’s ability to authenticate via that provider.","operationId":"deleteOidcProvider","parameters":[{"in":"path","name":"oidcProviderId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OIDC Provider was found & you were allowed to delete it."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Delete OIDC provider","tags":["OIDC Configuration (Infrastructure)"]}}}}
```

## Update OIDC provider

> Change the configuration of an already configured OIDC provider. Only the specified values are changed.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure external IDPs.","name":"OIDC Configuration (Infrastructure)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"OidcProviderForPatch":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"clientSecret":{"description":"The client secret of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the OIDC provider","type":"number"}},"required":["version"],"title":"OidcProviderForPatch","type":"object","description":"OidcProviderForPatch"},"AssignedGroup":{"properties":{"facilityRefs":{"items":{"type":"string"},"type":"array"},"group":{"type":"string"}},"required":["facilityRefs","group"],"title":"AssignedGroup","type":"object","description":"AssignedGroup"},"OidcProviderCustomParameter":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"OidcProviderCustomParameter","type":"object","description":"OidcProviderCustomParameter"},"StrippedOidcProvider":{"properties":{"assignedGroups":{"description":"The assigned groups of the OIDC provider","items":{"$ref":"#/components/schemas/AssignedGroup"},"type":"array"},"clientId":{"description":"The client id of the OIDC provider","type":"string"},"customParameters":{"description":"The custom parameters of the OIDC provider","items":{"$ref":"#/components/schemas/OidcProviderCustomParameter"},"type":"array"},"id":{"description":"The id of the OIDC provider","type":"string"},"issuer":{"description":"The issuer of the OIDC provider","type":"string"},"name":{"description":"The name of the OIDC provider","type":"string"},"status":{"description":"The status of the OIDC provider","enum":["ACTIVE","INACTIVE"],"type":"string"},"version":{"description":"The version of the OIDC provider","type":"number"}},"required":["name","status","issuer","clientId","customParameters","assignedGroups","id","version"],"title":"StrippedOidcProvider","type":"object","description":"StrippedOidcProvider"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/configurations/oidcproviders/{oidcProviderId}":{"patch":{"deprecated":false,"description":"Change the configuration of an already configured OIDC provider. Only the specified values are changed.","operationId":"patchOidcProvider","parameters":[{"in":"path","name":"oidcProviderId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcProviderForPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrippedOidcProvider"}}},"description":"Provider was patched successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The requested entity was not found"}},"summary":"Update OIDC provider","tags":["OIDC Configuration (Infrastructure)"]}}}}
```
