Solvimon integrations API
The integrations API from Solvimon — 7 operation(s) for integrations.
The integrations API from Solvimon — 7 operation(s) for integrations.
openapi: 3.1.0
info:
title: Configuration alertRules integrations API
version: 1.0.0
servers:
- url: https://test.api.solvimon.com
description: The TEST environment for our API
- url: https://api.solvimon.com
description: The live environment for our API
tags:
- name: integrations
paths:
/v{version}/integrations:
get:
operationId: getIntegrations
summary: Get a list of integrations
description: Requires the INTEGRATION.VIEW permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered.
required: false
schema:
type: string
- name: order_direction
in: query
description: The order direction by which the response is ordered.
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationResponseWrapper'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
post:
operationId: postIntegrations
summary: Create an integration
description: Requires the INTEGRATION.CREATE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationCreateRequest'
/v{version}/integrations/e-invoicing/default-mandates:
get:
operationId: getIntegrationsEInvoicingDefaultMandates
summary: Get a list of mandates
description: Requires the INTEGRATION.VIEW permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered.
required: false
schema:
type: string
- name: order_direction
in: query
description: The order direction by which the response is ordered.
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EInvoicingMandate'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/integrations/test-connection:
post:
operationId: postIntegrationsTestConnection
summary: Test whether the integration connection is successful
description: Requires the INTEGRATION.VIEW permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: integration_type
in: query
description: The type of integration to test the connection for
required: false
schema:
type: string
- name: e_invoicing_processor
in: query
description: The processor to connect with when testing an eInvoicing integration
required: false
schema:
type: string
- name: tax_calculation_variant
in: query
description: The variant to connect with when testing a tax calculation integration
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TestConnectionResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationSettingsCreateRequest'
/v{version}/integrations/{resourceId}:
get:
operationId: getIntegrationsByResourceId
summary: Get an integration by its ID
description: Requires the INTEGRATION.VIEW permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource to be requested.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
delete:
operationId: deleteIntegrationsByResourceId
summary: Deleting an integration by its ID
description: Requires the INTEGRATION.DELETE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource to be requested.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
patch:
operationId: patchIntegrationsByResourceId
summary: Update an integration by its ID
description: Requires the INTEGRATION.UPDATE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource to be requested.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationUpdateRequest'
/v{version}/integrations/{resourceId}/deprecate:
post:
operationId: postIntegrationsByResourceIdDeprecate
summary: Deprecate an integration
description: Requires the INTEGRATION.UPDATE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/integrations/{resourceId}/activate:
post:
operationId: postIntegrationsByResourceIdActivate
summary: Activate an integration
description: Requires the INTEGRATION.UPDATE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/integrations/{resourceId}/archive:
post:
operationId: postIntegrationsByResourceIdArchive
summary: Archive an integration
description: Requires the INTEGRATION.UPDATE permission.
tags:
- integrations
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceId
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
components:
schemas:
EInvoicingMapping:
type: object
properties:
target:
type: string
description: The target field for a UBL Invoice
source:
type:
- string
- 'null'
description: The source field from a Solvimon Invoice
description:
type:
- string
- 'null'
description: Optional description for the mapping
title: EInvoicingMapping
AdyenPaymentGatewayIntegrationOwnership:
type: string
enum:
- PLATFORM
- SYSTEM
title: AdyenPaymentGatewayIntegrationOwnership
EmailProviderIntegrationUpdateRequestVariant:
type: string
enum:
- SYSTEM
- MAILGUN
description: The variant of email provider integration.
title: EmailProviderIntegrationUpdateRequestVariant
DataExportIntegrationUpdateRequest:
type: object
properties:
variant:
$ref: '#/components/schemas/DataExportIntegrationUpdateRequestVariant'
description: The variant of payment integration.
s3:
$ref: '#/components/schemas/S3'
bigquery:
$ref: '#/components/schemas/BigQuery'
gcs:
$ref: '#/components/schemas/Gcs'
snowflake:
$ref: '#/components/schemas/Snowflake'
transport_type:
type:
- string
- 'null'
title: DataExportIntegrationUpdateRequest
Integration:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
reference:
type: string
description: A custom reference assigned to the integration.
name:
type: string
description: A custom name assigned to the integration.
description:
type: string
status:
oneOf:
- $ref: '#/components/schemas/IntegrationStatus'
- type: 'null'
description: The status of the integration.
message:
type:
- string
- 'null'
description: The message associated with the status of the integration.
type:
$ref: '#/components/schemas/IntegrationType'
description: The type of integration.
authentication:
$ref: '#/components/schemas/AuthenticationSettings'
description: The authentication information used for the integration
payment_gateway:
$ref: '#/components/schemas/PaymentGatewayIntegration'
e_invoicing:
$ref: '#/components/schemas/EInvoicingIntegration'
description: Integration to do eInvoicing
data_export:
$ref: '#/components/schemas/DataExportIntegration'
tax_calculation:
$ref: '#/components/schemas/TaxCalculationIntegration'
description: Integration to calculate tax
linked_resources_configurations:
type: array
items:
$ref: '#/components/schemas/IntegrationLinkedResourceConfiguration'
description: Details from the resources configurations from Solvimon linked to external integration system
email_provider:
$ref: '#/components/schemas/EmailProviderIntegration'
description: Email provider integration settings. Applicable when the integration type is EMAIL_PROVIDER.
title: Integration
EInvoiceFileFormat:
type: object
properties:
type:
type:
- string
- 'null'
description: The format of the eInvoice that can be downloaded
description:
type:
- string
- 'null'
title: EInvoiceFileFormat
BigQuery:
type: object
properties:
project_id:
type: string
dataset_id:
type: string
dataset_location:
type: string
gcs_bucket_name:
type: string
gcs_hmac_key_access_id:
type: string
gcs_hmac_key_secret:
type: string
title: BigQuery
LegalEntityManagerDetails:
type: object
properties:
authentication:
$ref: '#/components/schemas/AuthenticationSettings'
title: LegalEntityManagerDetails
IntegrationLinkedResourceConfigurationUpdateRequest:
type: object
properties:
resource_type:
type: string
link_details:
type: array
items:
$ref: '#/components/schemas/IntegrationLinkDetail'
title: IntegrationLinkedResourceConfigurationUpdateRequest
S3:
type: object
properties:
bucket_name:
type: string
bucket_path:
type: string
bucket_region:
type: string
authentication_type:
oneOf:
- $ref: '#/components/schemas/S3AuthenticationType'
- type: 'null'
role_arn:
type:
- string
- 'null'
external_id:
type:
- string
- 'null'
title: S3
ApiErrorType:
type: string
enum:
- API_ERROR
- INVALID_REQUEST
title: ApiErrorType
MailgunEmailProvider:
type: object
properties:
domain:
type: string
description: Mailgun sending domain used for this email provider integration.
region:
oneOf:
- $ref: '#/components/schemas/MailgunEmailProviderRegion'
- type: 'null'
description: Mailgun region for the configured domain.
plan:
type:
- string
- 'null'
description: Optional Mailgun plan stored with the integration.
title: MailgunEmailProvider
AuthenticationSettingsApiKeyCreateRequest:
type: object
properties:
header:
type:
- string
- 'null'
value:
type:
- string
- 'null'
title: AuthenticationSettingsApiKeyCreateRequest
ApiError:
type: object
properties:
type:
$ref: '#/components/schemas/ApiErrorType'
code:
$ref: '#/components/schemas/ApiErrorCode'
field:
type:
- string
- 'null'
message:
type: string
resource_id:
type:
- string
- 'null'
resource_type:
oneOf:
- $ref: '#/components/schemas/ApiErrorResourceType'
- type: 'null'
required:
- type
- code
- message
title: ApiError
StripePaymentGatewayIntegration:
type: object
properties:
public_key:
type: string
signing_secret:
type:
- string
- 'null'
title: StripePaymentGatewayIntegration
EmailProviderIntegrationUpdateRequest:
type: object
properties:
variant:
$ref: '#/components/schemas/EmailProviderIntegrationUpdateRequestVariant'
description: The variant of email provider integration.
mailgun:
$ref: '#/components/schemas/MailgunEmailProvider'
description: Mailgun-specific provider settings. Applicable when variant is MAILGUN.
delivery_window:
$ref: '#/components/schemas/Period'
description: Optional delivery window configuration that limits when outbound emails may be sent.
use_localized_templates:
type:
- boolean
- 'null'
description: Whether localized email templates should be selected based on customer or request locale when available.
title: EmailProviderIntegrationUpdateRequest
IntegrationUpdateRequestStatus:
type: string
enum:
- DRAFT
- PENDING
- TESTING
- ACTIVE
- ERROR
- DEPRECATED
- ARCHIVED
description: The status of the integration.
title: IntegrationUpdateRequestStatus
MailgunEmailProviderRegion:
type: string
enum:
- US
- EU
description: Mailgun region for the configured domain.
title: MailgunEmailProviderRegion
CustomTaxCodeField:
type: string
enum:
- INVOICE_COMMITMENT
- PRODUCT_FALLBACK
description: The field to use a custom code for
title: CustomTaxCodeField
ClientCredentials:
type: object
properties:
client_id:
type: string
client_secret:
type: string
title: ClientCredentials
EmailProviderIntegrationCreateRequestVariant:
type: string
enum:
- SYSTEM
- MAILGUN
description: The variant of email provider integration.
title: EmailProviderIntegrationCreateRequestVariant
TaxCalculationIntegration:
type: object
properties:
billing_entity_id:
type: string
description: The id of the billing entity for which this integration is used
variant:
$ref: '#/components/schemas/TaxCalculationIntegrationVariant'
description: The variant that provides the tax calculation
ava_tax:
$ref: '#/components/schemas/AvaTaxCalculationIntegration'
description: Details for an AvaTax integration
custom_tax_codes:
type: array
items:
$ref: '#/components/schemas/CustomTaxCode'
description: 'Optional: custom codes that are used to link specific taxes to the tax calculation (e.g. commitments, missing product codes, etc.)'
enable_tax_filing:
type: boolean
description: Determines whether invoices will be sent to the tax integration, or just calculations
title: TaxCalculationIntegration
PeriodType:
type: string
enum:
- DAY
- WEEK
- MONTH
- YEAR
title: PeriodType
PaymentGatewayIntegrationUpdateRequest:
type: object
properties:
variant:
$ref: '#/components/schemas/PaymentGatewayIntegrationUpdateRequestVariant'
description: The variant of payment integration.
adyen:
$ref: '#/components/schemas/AdyenPaymentGatewayIntegration'
stripe:
$ref: '#/components/schemas/StripePaymentGatewayIntegration'
title: PaymentGatewayIntegrationUpdateRequest
EInvoicingConditionGroup:
type: object
properties:
conditions:
type: array
items:
$ref: '#/components/schemas/EInvoicingCondition'
description: Conditions that determine whether this conditionGroup matches the invoice. All conditions need to match for the group to match
title: EInvoicingConditionGroup
IntegrationLinkedResourceConfigurationCreateRequest:
type: object
properties:
resource_type:
type: string
link_details:
type: array
items:
$ref: '#/components/schemas/IntegrationLinkDetail'
title: IntegrationLinkedResourceConfigurationCreateRequest
TaxCalculationIntegrationCreateRequestVariant:
type: string
enum:
- AVATAX
description: The variant that provides the tax calculation
title: TaxCalculationIntegrationCreateRequestVariant
IntegrationLinkedResourceConfiguration:
type: object
properties:
resource_type:
type: string
link_details:
type: array
items:
$ref: '#/components/schemas/IntegrationLinkDetail'
title: IntegrationLinkedResourceConfiguration
Snowflake:
type: object
properties:
host:
type:
- string
- 'null'
role:
type:
- string
- 'null'
warehouse:
type:
- string
- 'null'
database:
type:
- string
- 'null'
schema:
type:
- string
- 'null'
title: Snowflake
EmailProviderIntegration:
type: object
properties:
variant:
$ref: '#/components/schemas/EmailProviderIntegrationVariant'
description: The variant of email provider integration.
mailgun:
$ref: '#/components/schemas/MailgunEmailProvider'
description: Mailgun-specific provider settings. Applicable when variant is MAILGUN.
delivery_window:
$ref: '#/components/schemas/Period'
description: Optional delivery window configuration that limits when outbound emails may be sent.
use_localized_templates:
type:
- boolean
- 'null'
description: Whether localized email templates should be selected based on customer or request locale when available.
title: EmailProviderIntegration
EInvoicingIntegrationUpdateRequestProcessor:
type: string
enum:
- AVALARA
title: EInvoicingIntegrationUpdateRequestProcessor
EInvoicingIntegrationCreateRequest:
type: object
properties:
mandates:
type: array
items:
$ref: '#/components/schemas/EInvoicingMandate'
description: The mandates that are used for eInvoicing
processor:
$ref: '#/components/schemas/EInvoicingIntegrationCreateRequestProcessor'
title: EInvoicingIntegrationCreateRequest
EInvoicingIntegrationCreateRequestProcessor:
type: string
enum:
- AVALARA
title: EInvoicingIntegrationCreateRequestProcessor
EInvoicingIntegrationProcessor:
type: string
enum:
- AVALARA
title: EInvoicingIntegrationProcessor
DataExportIntegrationVariant:
type: string
enum:
- S3
- BIGQUERY
- GCS
- SNOWFLAKE
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solvimon/refs/heads/main/openapi/solvimon-integrations-api-openapi.yml