{"method":"GET","path":"https://api.revcent.com/v2/site_third_party_integrations","summary":"Get Site Third Party Integrations","description":"Returns a list of site third party integrations. Useful for creating a user integration, including required fields. View markdown documentation at https://revcent.com/documentation/markdown/mcp/operation/OverviewThirdPartyIntegration.md for an in-depth overview of this operation.","operationId":"GetSiteThirdPartyIntegrations","parameters":[],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"additionalProperties":false,"properties":{},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"API call response code.","type":"integer","format":"int32","enum":[1]},"current_count":{"description":"The current number of items in the results.","type":"integer"},"current_page":{"description":"The current page for the items in the results.","type":"integer"},"results":{"items":{"type":"object","description":"A site third party integration is a native RevCent integration that is available for users to connect to within their user third party integrations. A site third party integration includes the required fields and possible options needed for RevCent to connect to the third party API.","additionalProperties":false,"properties":{"id":{"type":"string","description":"A 20 character system third party integration ID.","minLength":20,"maxLength":20},"name":{"description":"The site third party integration name.","type":"string"},"description":{"description":"The site third party integration description.","type":"string"},"integration_type":{"description":"The site third party integration type. Determines the type of integration, i.e. its intended purpose as a native RevCent integration. Integration types: 'ai': Integrations meant for AI use, such as powering AI chat and AI Assistants. 'ai_voice': Integrations meant for AI voice use, such as powering voice enabled AI Voice Agents. 'offline_payment': Integrations meant for processing alternate payments such as Sezzle, AfterPay, Affirm, Klarna and Amazon Pay. 'tax': Integrations meant for calculating taxes on purchases. 'shipping': Integrations meant for tracking shipments and pulling shipment updates such as delivery status.","type":"string","enum":["ai","ai_voice","offline_payment","tax","shipping"]},"third_party_credentials":{"type":"object","description":"The third_party_credentials object describes the type of credentials, along with the actual fields required.","additionalProperties":false,"properties":{"id":{"description":"The credentials id is used in conjunction when creating or modifying a user third party integration's credential fields. When creating or modifying a user third party integration's credential fields you include this identifier to link the required fields to the third_party_credentials object.","type":"string"},"name":{"description":"The credentials name. Used for displaying to the user the source of the credentials from the third party.","type":"string"},"description":{"description":"The credentials description. Used for displaying to the user additional information about the credentials including where to find the necessary fields from the third party.","type":"string"},"fields":{"type":"array","description":"The fields are the actual values required in order for RevCent to connect to the third party.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The field identifier is used in conjunction when creating or modifying a user third party integration's credential fields. When creating or modifying a user third party integration's credential fields you include this identifier to link the specific value to the correct field.","type":"string"},"name":{"description":"The field name. This is meant for displaying to the user the proper field to provide.","type":"string"},"required":{"type":"boolean","description":"Whether the field is required."}}}}}},"third_party_options":{"type":"array","description":"The individual options and their fields for the third party integration. This is meant to be used when a third party integration has multiple options that can be configured separately when connecting a user third party integration to the site third party integration. Each option would have its own set of fields to fill out when connecting to the specific feature of the provider. If a site third party integration has third_party_options, you will need to set those options using the EditUserThirdPartyIntegration operation after creating the user third party integration. If a site third party integration doesn't have any options, then you can ignore this property and there will be no additional configuration needed after creating the user third party integration.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The option identifier.","type":"string"},"name":{"description":"The option name.","type":"string"},"description":{"description":"The option description.","type":"string"},"required":{"type":"boolean","description":"Whether the option is required when creating a user third party integration with this site third party integration."},"fields":{"type":"array","description":"The fields related to the specific option.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"description":"The field identifier is used in conjunction when creating or modifying a user third party integration's option fields. When creating or modifying a user third party integration's option fields you include this identifier to link the specific field to the third_party_options object id.","type":"string"},"name":{"description":"The field name. This is meant for displaying to the user the proper field to provide for the specific option.","type":"string"},"field_type":{"description":"The field type. If 'input', the user provides a value. If 'select', the user must choose from option(s) derived from the select_settings.options property.","type":"string","enum":["select","input"]},"required":{"type":"boolean","description":"Whether the option field is required."},"select_settings":{"type":"object","description":"Settings specific to fields of type 'select'. These values determine how the select field behaves and where the options for the select field are pulled from.","additionalProperties":false,"properties":{"third_party_asset":{"type":"boolean","description":"Whether the options for the select field are pulled from the third party integration's API. If false, the options array will contain available values. If true, RevCent will pull the options from the third party when retrieving the user third party integration via the GetUserThirdPartyIntegration operation. You must first save, or have previously saved, the user third party integration credentials in order for RevCent to connect and pull assets necessary to complete the select values."},"options":{"type":"array","description":"The available options for the select field. If 'third_party_asset' is set to false, available values will be contained in the array. If 'third_party_asset' is set to true, the options are only available when retrieving the user third party integration via the GetUserThirdPartyIntegration operation and will display the options pulled from the third party integration's API. You must first save, or have previously saved, the user third party integration credentials in order for RevCent to connect and pull assets necessary to complete the select values.","items":{"type":"string"}},"multiple":{"type":"boolean","description":"Whether the user can select multiple options for the select field. If true, more than one item can provided in the options array when editing a user third party integration."}}}}}}}}}}},"type":"array"},"total_count":{"description":"The total number of items found given the date_start and date_end query parameters.","type":"integer"},"total_pages":{"description":"The total number of pages given the date_start, date_end and limit query parameters.","type":"integer"}},"type":"object","additionalProperties":false}}},"description":"Successful response."},"default":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"This value indicates that there is an error. Will always be 0.","type":"integer","enum":[0]},"error_code":{"description":"The specific error code.","type":"string"},"message":{"description":"A human readable description of the error.","type":"string"},"result":{"description":"A description of the API call result.","type":"string"}},"title":"APIStandardErrors","type":"object","additionalProperties":false}}},"description":"Error response."}}}