Connector Administration API
Overview
Connector administration API may be used to manage integration settings by vertex connector administrators.
Target clients
- Internal vertex connector administrator (human)
- Connector tenant configuration api (machine)
- Connector gateway service (machine)
API Dependencies
- Likely future dependency depending on implementation - Vertex Auth Service
Description of terms used
- Client: Vertex customer
- Tenant: Vertex customer’s subscription to a specific regional product
- Partner Tenant: Vertex customer’s subscription for a specific partner product (Exampel - SAP US, Ariba2 Canada …)
- Vertex Connector Administrator: Internal vertex user that is capable of managing global connector settings.
- Integration: An identifier for describing a machine to machine communication between partner systems and vertex core products.
API Access
- API endpoints can be accessed by authorized users by obtaining bearer tokens from configured idP.
- API endpoints will be internally available over the VPN/VPC for vertex connector administrators.
Versioning
- Current Version: 0.0.1
- This API will be versioned using semantic versioning and will maintain backward compatibility among patch and minor versions for the given major version.
Monitoring
- For monitoring purposes, we are recommending each connector to implement a public health check endpoint using the path /health. The connector must include status of the external components it is integrating with (partner endpoint, vertex product endpoint, databases, fileservers…).
- Centralized tenant specific integration status page may be exposed to vertex connector administrator.
- Alerts may be configured based on the integration health checks
A Problem Details object RFC 7807
A URI reference [RFC3986] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML [W3C.REC-html5-20141028]). When this member is not present, its value is assumed to be “about:blank”.
A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
Extention property specifying the time the problem was encountered
Extension property. Problem identifier to help querying internal log system for further details
Extension property. User or machine client that ovsreved this error.
Resource identifier
Resource version. This value is recommended to have incremental characteristics, and may be used for communicating changes over time as well as optimistic locking.
Timestamp (UTC recommended) the resources was created.
Timestamp (UTC recommended) the resource was updated. For a newly created resource, this will be the same value as the createdAt property. This property may be used as the default sort field in descending order for operations that require paging across resources.
User identifier that initiated the creation of a given resource.
User identifier that initiated the modification of a give resource. For a newly created resource, this is expected to be the same value as the createdBy property.
Vertex customer internal identifier
Vertex customer subscription identifier
Customer user associated with tenant
Attribute to describe the function the role of a user within the tenant organization
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier"
}
Represents an integration between external system and vertex product for a given client’s subscription/tenant. Integrations are managed by Vertex or external community. The rollout and approval of community managed integrations is expected to be gradual and is expected to require certification guidelines.
Logical Primary Keys:
- Ensure that we maintain uniqueness using following propeties -> connector, tenant
- Ensure that we maintain uniqueness using following properties -> connector, partnerTenant
Integration name
Vertex customer internal identifier
Vertex customer name
Tenant specific vertex core product endpoint for this integration
Vertex customer subscription identifier in partner system. It is preferable to have uniqueness for this attribute. However, value may originate from partner system and we can assume uniqueness cannot be gauranteed by this property alone.
Partner API endpoint (Not required if not being used by the integration)
Identifier for a software component that facilitates communication between partner and vertex offered service.
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
Represents an integration between external system and vertex product for a given client’s subscription/tenant. Integrations are managed by Vertex or external community. The rollout and approval of community managed integrations is expected to be gradual and is expected to require certification guidelines.
Logical Primary Keys:
- Ensure that we maintain uniqueness using following propeties -> connector, tenant
- Ensure that we maintain uniqueness using following properties -> connector, partnerTenant
Tenant integration identifier
Tenant user identifier
User access for the tenant integration
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"WRITE"
],
"tenantIntegrationName": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"connector": "BIGCOMMERCE_OSERIES",
"tenantUserType": "MEMBER",
"user": "user1ProfileIdentifier"
}
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Authentication failure. There was no credential attached to the request or the credential was invalid
Body
Examples
{
"type": "https://speca.io/sanjeevgiri/connector-administration-api#BaseProblem",
"title": "Unauthorized",
"status": 401,
"detail": "Authentication failure. There was no credential attached to the request or the credential was invalid",
"instance": "connector-admin-api-5868d8969f-zrz4z",
"timestamp": "2022-10-28T18:39:21Z",
"traceId": "e68cae3b-3c77-4fed-93d3-1765c24fd6e8",
"ecnounteredBy": "vertexConnectorAdminUser1@vertexinc.com"
}
Server encountered an unexpected condition that prevented it from fulfilling the request
Body
Examples
{
"type": "https://speca.io/sanjeevgiri/connector-administration-api#BaseProblem",
"title": "Internal Server Error",
"status": 500,
"detail": "Server encountered an unexpected condition that prevented it from fulfilling the request",
"instance": "connector-admin-api-5868d8969f-zrz4z",
"timestamp": "2022-10-28T18:39:21Z",
"traceId": "e68cae3b-3c77-4fed-93d3-1765c24fd6e8",
"ecnounteredBy": "vertexConnectorAdminUser1@vertexinc.com"
}
{id}
{id}
{id}
Authentication
Request body
Responses
Body
POST /tenantintegrations HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-28T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser1@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
{id}
Authentication
Path variables
Integration identifier that represents the exchange of information between partner system and vertex core products for a specific vertex customer’s tenant.
Responses
Body
GET /tenantintegrations/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
{id}
Authentication
Path variables
Integration identifier that represents the exchange of information between partner system and vertex core products for a specific vertex customer’s tenant.
Request body
Responses
Body
PUT /tenantintegrations/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
{id}
Authentication
Path variables
Integration identifier that represents the exchange of information between partner system and vertex core products for a specific vertex customer’s tenant.
Responses
DELETE https://connector-admin-api.platdev.vtxdev.net/tenantintegrations/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 204 No Content
Authentication
Request parameters
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Filter integrations by client id
Filter by client name
Filter integrations by tenant id
Filter by tenant name
Connector identifier
Partner tenant identifier
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantintegrations?clientName="Company xyz" HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
]
}
Authentication
This endpoint is resposible for the following:
- Inspect the bearer token to decode the context user.
- Fetch tenants associated to the user ((GET /tenantusers with user filter)
- List all integrations specific to the tenants
Request parameters
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Identifier for a software component that facilitates communication between partner and vertex offered service.
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/contextuser/tenantintegrations HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 1,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"name": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"tenantApiEndpoint": "https://productxyz-api@vertexinc.com",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"partnerTenantApiEndpoint": "https://product123-api@partnersite.com",
"connector": "BIGCOMMERCE_OSERIES"
}
]
}
{id}
{id}
Authentication
Vertex admin user can assign a customer admin user to a tenant.
Request body
Responses
Body
POST https://connector-admin-api.platdev.vtxdev.net/tenantadminusers HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 0,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-28T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser1@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "ADMINISTRATOR"
}
{id}
Authentication
Vertex admin user can view an assigned a customer tenant admin user.
Path variables
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantadminusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 1,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "ADMINISTRATOR"
}
{id}
Authentication
Vertex admin user can un-assign a customer admin user for a tenant.
Path variables
Responses
DELETE https://connector-admin-api.platdev.vtxdev.net/tenantadminusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 204 No Content
Authentication
Vertex connector platform admin can view all customer admin users.
Request parameters
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantadminusers?client=cd671e55-9575-4a25-8b1b-2e85b5867059 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "ADMINISTRATOR"
}
]
}
Set of operations applicable for tenant administrator users.
{id}
{id}
{id}
Authentication
Customer admin user can assign other users to tenant (Tenant that is associated with the context user).
- API must ensure that the cliet and tenant in the payload is associated with the user making this call and the type is ADMINISTRATOR.
Request body
Responses
Body
POST https://connector-admin-api.platdev.vtxdev.net/tenantusers HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "MEMBER"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 0,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-28T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser1@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "MEMBER"
}
{id}
Authentication
Customer admin user can view tenant (tenant that customer admin user is associated with) user.
- API must ensure that the client and tenant in the response payload is associated with the user making this call and the type is ADMINISTRATOR.
Path variables
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 1,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "MEMBER"
}
{id}
Authentication
At the time of this writing, the only information available in the JWT token is the person id. We may not needs these APIs if the token is engineered to include client or tenant ids as custom claims.
- API must ensure that the cliet and tenant in the payload is associated with the user making this call and the user type is ADMINISTRATOR.
Path variables
Request body
Responses
Body
PUT https://connector-admin-api.platdev.vtxdev.net/tenantusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "ADMINISTRATOR"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 1,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "ADMINISTRATOR"
}
{id}
Tenant administrator can unassign a user from the tenant.
- API must ensure that the cliet and tenant of the resource being requested to delete is associated with the user making this call and the user type is ADMINISTRATOR.
Path variables
Responses
DELETE https://connector-admin-api.platdev.vtxdev.net/tenantusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 204 No Content
Authentication
- Get context user’s tenant ids using list tenant admin users and filtering by token’s person id
- Fetch tenant users belonging to tenants evaluated from the step above
Request parameters
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantusers?client=cd671e55-9575-4a25-8b1b-2e85b5867059 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"user": "user1ProfileIdentifier",
"type": "MEMBER"
}
]
}
{id}
{id}
{id}
Authentication
Customer admin user can assign other tenant members to tenant integrations (Tenant that the context user is associated with).
- API must ensure that the cliet and tenant in the payload is associated with the user making this call and the type is ADMINISTRATOR.
Request body
Responses
POST https://connector-admin-api.platdev.vtxdev.net/tenantintegrationusers HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ","WRITE"
]
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 0,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-28T18:39:21Z",
"createdBy": "tenantCustomerAdminUser1@vertexinc.com",
"updatedBy": "tenantCustomerAdminUser1@vertexinc.com",
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ","WRITE"
],
"tenantIntegrationName": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"connector": "BIGCOMMERCE_OSERIES",
"tenantUserType": "MEMBER",
"user": "user1ProfileIdentifier"
}
{id}
Authentication
Customer admin user can view tenant integration (tenant that customer admin user is associated with) user.
- API must ensure that the client and tenant in the response payload is associated with the user making this call and the type is ADMINISTRATOR.
Path variables
Responses
GET https://connector-admin-api.platdev.vtxdev.net/tenantintegrationusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "tenantAdminUser1@vertexinc.com",
"updatedBy": "tenantAdminUser2@vertexinc.com",
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ"
],
"tenantIntegrationName": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"connector": "BIGCOMMERCE_OSERIES",
"tenantUserType": "MEMBER",
"user": "user1ProfileIdentifier"
}
{id}
Authentication
Tenant admin user can update tenant member user’s tenant integration access.
- API must ensure that the cliet and tenant in the payload is associated with the user making this call and the user type is ADMINISTRATOR.
Path variables
Request body
Responses
PUT https://connector-admin-api.platdev.vtxdev.net/tenantintegrationusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
{
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ"
]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 1,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "tenantAdminUser1ProfileId",
"updatedBy": "tenantAdminUser2ProfileId",
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ"
],
"tenantIntegrationName": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"connector": "SAPTAXSERVICE_OSERIES",
"tenantUserType": "MEMBER",
"user": "user1ProfileIdentifier"
}
{id}
Tenant administrator can unassign a user from the tenant.
- API must ensure that the cliet and tenant of the resource being requested to delete is associated with the user making this call and the user type is ADMINISTRATOR.
Path variables
Responses
DELETE https://connector-admin-api.platdev.vtxdev.net/tenantintegrationusers/9fe70c57-4815-4247-8ec8-0d886277e93a HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 204 No Content
Authentication
- Get context user’s tenant ids using list tenant admin users and filtering by token’s person id
- Fetch tenant integration users belonging to tenants evaluated from the step above
Request parameters
Multi value sort parameter used for paging across a large data set. The expected format is as follows when specified:
sortField,sortOrder
sortField can be any arbitrary field specific to the content that is being paged sortOrder is ASC or DESC. The sort order defaults to ASC when left unspecified.
A page can be sorted using multiple columns by providing multiple sort query parameters
/path/resource?pageSort=field1,ASC&pageSort=field2,DESC
Requested number of elements in a given page or results
Responses
Body
GET https://connector-admin-api.platdev.vtxdev.net/tenantintegrationusers HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"version": 2,
"createdAt": "2022-10-28T18:39:21Z",
"updatedAt": "2022-10-29T18:39:21Z",
"createdBy": "vertexConnectorAdminUser1@vertexinc.com",
"updatedBy": "vertexConnectorAdminUser2@vertexinc.com",
"tenantIntegrationId": "6abb63a5-cff3-4e65-af20-006d0b9a2ec2",
"tenantUserId": "9fe70c57-4815-4247-8ec8-0d886277e93a",
"acl": [
"READ", "WRITE"
],
"tenantIntegrationName": "partnerProduct123-vertexProductAbc",
"client": "cd671e55-9575-4a25-8b1b-2e85b5867059",
"clientName": "Company xyz",
"tenant": "1a855cf0-d29b-4fb2-a238-abd2c0d03856",
"tenantName": "Company xyz (North America)",
"partnerTenant": "4d6696e4-f2cb-4eb3-8d8b-15fdd19bf4ee",
"partnerTenantName": "Partner product 123 for Company xyz (North America)",
"connector": "ARIBA2_OSERIES",
"tenantUserType": "ADMINISTRATOR",
"user": "user1ProfileIdentifier"
}
]
}